启发式算法(Heuristic Algorithm)

背景:

  李航的《统计学习方法》一书中提到:决策树算法通常采用启发式算法,故了解之

问题解答:

  时间有限,这里也只是将算法和启发式算法的区别和简单发展摘录如下: 

  一、算法和启发式方法之间的差别很微妙,两个术语的意思也有一些重叠。就本书的目的而言,它们之间的差别就在于其距离最终解决办法的间接程度:算法直接给你解决问题的指导,而启发式方法则告诉你该如何发现这些指导信息,或者至少到哪里去寻找它们。   

  二、发展

  40年代:由于实际需要,提出了启发式算法(快速有效)。

  50年代:逐步繁荣,其中贪婪算法局部搜索 等到人们的关注。

  60年代: 反思,发现以前提出的启发式算法速度很快,但是解得质量不能保证,而且对大规 模的问题仍然无能为力(收敛速度慢)。

  70年代:计算复杂性理论的提出,NP问题。许多实际问题不可能在合理的时间范围内找到全局最优解。发现贪婪算法和局部搜索算法速度快,但解不好的原因主要是他们只是在局部的区域内找解,等到的解没有全局最优性。由此必须引入新的搜索机制和策略…Holland的遗传算法出现了(Genetic Algorithm)再次引发了人们研究启发式算法的 兴趣。

  80年代以后:模拟退火算法(Simulated Annealing Algorithm),人工神经网络(Artificial Neural Network),禁忌搜索(Tabu Search)相继出现。

  最近比较热或刚热过去的:演化算法(Evolutionary Algorithm), 蚁群算法(Ant Algorithms), 拟人拟物算法,量子算法等。

  三、具体实现

  1.模拟退火算法

  2.遗传算法

参考链接:

    http://www.jianshu.com/p/e7164b9837bb

    http://summerbell.iteye.com/blog/422398

posted @ 2018-05-27 20:48  混沌战神阿瑞斯  阅读(1593)  评论(0编辑  收藏