啟發式算法(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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM