启发式算法改进新算法如何找到一个分叉率较少又通用的合理启发式算法,已被人工智能社群深入探究过,部分问题的解答的代价通常可以评估解决整个问题的代价,通常很合理
例如一个10-puzzle拼盘,解题的代价应该与将1到5的方块移回正确位置的代价差不多
通常解题者会先建立一个储存部份问题所需代价的模式数据库(pattern database)以评估问题,解决较易的近似问题通常可以拿来合理评估原先问题
例如曼哈顿距离是一个简单版本的n-puzzle问题,因为我们假设可以独立移动一个方块到我们想要的位置,而暂不考虑会移到其他方块的问题
给我们一群合理的启发式函式h1(n),h2(n),...,hi(n),而函式h(n) = max{h1(n),h2(n),...,hi(n)}则是个可预测这些函式的启发式函式
一个在1993年由A.E. Prieditis写出的程式ABSOLVER就运用了这些技术,这个程式可以自动为问题产生启发式算法
ABSOLVER为8-puzzle产生的启发式算法优于任何先前存在的
而且它也发现了第一个有用的解魔术方块的启发式程式
为了进一步提高优化质量和搜索效率,近年来发展了一些新的搜索机制和并行、混合搜索算法
由于现代启发式算法结构的开放性、与问题无关性,使得各算法之间容易进行相互综合
研究表明,新型的算法结构或混合算法对算法性能和效率有较大幅度的改善
此外,结合实际应用或理论问题对算法进行对比研究也是算法研究中值得关注的内容
它有助于分析算法的性能和适用域,且由比较可发现各算法独特的优点和不足,以便改进算法结构、参数及操作算子,发展各种可能的高效混合算法
以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。