什麼是啓發式算法(轉)

演化算法(Evolutionary Algorithm), 蟻羣算法(Ant Algorithms), 擬人擬物算法,量子算法等。
各個算法的思想這就不再詳細給出(以後會給出一些,關注我的blog) ,爲什麼要引出啓發式算法,因爲NP問題,一般的經典算法是無法求解,或求解時間過長,我們無法接受。這裏要說明的是:啓發式算法得到的解只是近似最優解(近似到什麼程度,只有根據具體問題才能給出). 二十一世紀的最大的數學難題NP?=P,如果NP=P啓發式算法就不在有存在的意義。 優勝劣汰是大自然的普遍規律,它主要通過選擇和變異來實現。選擇是優化的基本思想,變異(多樣化)是隨機搜索或非確定搜索的基本思想。“優勝劣汰”是算法搜索的核心,根據“優勝劣汰”策略的不同,可以獲得不同的超啓發式算法。超啓發式算法的主要思想來自於人類經過長期對物理、生物、社會的自然現象仔細的觀察和實踐,以及對這些自然現象的深刻理解,逐步向大自然學習,模仿其中的自然現象的運行機制而得到的。遺傳算法:是根據生物演化,模擬演化過程中基因染色體的選擇、交叉和變異得到的算法。在進化過程中,較好的個體有較大的生存機率。模擬退火:是模擬統計物理中固體物質的結晶過程。在退火的過程中,如果搜索到好的解接受;否則,以一定的概率接受不好的解(即實現多樣化或變異的思想),達到跳出局部最優解得目的。神經網絡:模擬大腦神經處理的過程,通過各個神經元的競爭和協作,實現選擇和變異的過程。禁忌搜索:模擬人的經驗,通過禁忌表記憶最近搜索過程中的歷史信息,禁忌某些解,以避免走回頭路,達到跳出局部最優解的目的。螞蟻算法:模擬螞蟻的行爲,擬人擬物,向螞蟻的協作方式學習。這幾種超啓發式算法都有一個共同的特點:從隨機的可行初始解出發,才用迭代改進的策略,去逼近問題的最優解。他們的基本要素:(1)隨機初始可行解;(2)給定一個評價函數(常常與目標函數值有關);(3)鄰域,產生新的可行解;(4)選擇和接受解得準則;(5)終止準則。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章