乙個啟發式的例子。
駕駛汽車到達某人的家,寫成演算法是這樣的:沿167 號高速公路往南行至puyallup;從south hill mall 出口出來後往山上開 4.5 英里;在乙個雜物店旁邊的紅綠燈路口右轉,接著在第乙個路口左轉;從左邊褐色大房子的車道進去,就是north cedar 路714 號。物理符號系統用啟發式方法來描述則可能是這樣:找出上一次我們寄給你的信,照著信上面的寄出位址開車到這個鎮;到了之後你問一下我們的房子在**。 這裡每個人都認識我們——肯定有人會很願意幫助你的;如果你找不到人,那就找個公共**亭給我們打**,我們會出來接你。
在研究某個系統的時侯,我們可以建立乙個簡單而容易理解的模型來定性地描述這個系統的性質。就像生物學中的細胞學說,一切生物都是由細胞組成的,但任何一種生物的細胞都有極其複雜的種類、形態和功能。但我們可以建立乙個標準的細胞模型:細胞由細胞核、細胞質和細胞膜組成,細胞核中有遺傳物質,細胞質中有各種行使不同功能的細胞器,細胞膜包在細胞質外面,負責細胞核環境的物質交換和資訊交流。在此基礎上研究各種細胞的形態結構和功能就都顯得比較簡單了。同樣的道理,「智慧型」是個相當抽象的、讓人有點無從下手的研究物件,物理符號系統就是乙個用以描述智慧型的,(相對來說)簡單而容易理解的模型。啟發式搜尋會造成這樣的結果:找到的解雖然是令人滿意的,卻不是最優的;或者說,雖不是最優的卻能令人滿意。實際上在認知心理學研究中也表明,動物在進行決策的時候採取的也是啟發式策略,尤其是在資源(時間、食物等)不充足的情況下。這樣做出的決策往往不是最優的,不過至少是有效的。
西蒙的「有限理性」正是基於此點。傳統經濟學一直以完全理性為前提,由於行為人可以得到所有資訊,因此可以在多種方案中,選擇能使效用最大化的一種方案;但是於現實狀況中,人們所獲得的資訊、知識與能力都是有限的,所能夠考慮的方案也是有限的,未必能作出使得效用最大化的決策。因此,西蒙認為必須考慮人的基本生理限制,以及由此而引起的認知限制、動機限制及其相互影響的限制。西蒙所提出的理論是,將不完全的資訊以及處理資訊的費用,和一些非傳統的決策者目標函式引入經濟分析。
在經濟學和博弈論裡,參與者有時會被認為是完全理性(英語:perfect rationality)的;亦即,他們總是會以效用極大化的方式行動,以及總是能夠對任意複雜的過程進行推論。他們總是能夠思考所有可能的結果,並且選擇對他們來說明顯是最好可能的方式行動。完全理性和超級理性不同之處在於,完全理性的人總是會遵行優勢策略,即玩家從不會在決策時考慮其他玩家對他們的決定會如何回應。完全理性的人是完全的個人主義者。ai的兩個定性結構定律:
智慧型存在於物理符號系統中;
符號系統是通過生成潛在可能的解,並對其進行檢驗,也就是通過搜尋的方式來解題的。
符號系統是許多模式和過程的集合體,過程能夠產生、破壞或修正模式。模式能指稱物件、過程或其他模式,當它們指稱過程的時候,它們就能得到解釋,完成被指稱的過程。在我們所了解的符號系統中有兩類意義最為重大,就是人類和計算機。
符號系統的智慧型體現在它能夠從問題空間中抽取資訊,並通過搜尋來解決問題。啟發式搜尋就是一種這樣的搜尋策略,通過估價函式來決定下一步搜尋的起始點和方向,以有效率的解決問題。
通過認知心理學對人類及動物認知過程的研究,提出了很多關於智慧型的假設。以這些假設為依據,人們開發了一堆各種各樣的智慧型程式,能完成很多看起來 很複雜的任務,比如語義理解,定律發現等。但是每一種程式都有它的侷限性。相信隨著認知科學研究的不斷深入,會有更多更牛的程式誕生。
2.1 發展歷史
啟發式演算法的計算量都比較大,所以啟發式演算法伴隨著計算機技術的發展,取得了巨大的成就。
40年代:由於實際需要,人們已經提出了一些解決實際問題快速有效的啟發式演算法。
50年代:啟發式演算法的研究逐步繁榮起來。隨後,人們將啟發式演算法的思想和人工智慧領域中的各種有關問題的求解的收縮方法相結合,提出了許多啟發式的搜尋演算法。其中貪婪演算法和區域性搜尋等到人們的關注。
60年代: 隨著人們對數學模型和優化演算法的研究越來越重視,發現以前提出的啟發式演算法速度很快,但是解得質量不能保證。雖然對優化演算法的研究取得了很大的進展,但是較大規模的問題仍然無能為力(計算量還是太大)。
70年代:計算複雜性理論的提出。np完全理論告訴我們,許多實際問題不可能在合理的時間範圍內找到全域性最優解。發現貪婪演算法和區域性搜尋演算法速度快,但解不好的原因主要是他們只是在區域性的區域內找解,得到的解不能保證全域性最優性。由此必須引入新的搜尋機制和策略,才能有效地解決這些困難問題,這就導致了**超啟發式演算法(meta-heuristic algorithms)**的產生。
holland模擬地球上生物進化規律提出了遺傳演算法(genetic algorithm),它的與眾不同的搜尋機制引起了人們再次引發了人們研究啟發式演算法的興趣,從而掀起了研究啟發式演算法的熱潮。
80年代以後:模擬退火演算法(simulated annealing algorithm),人工神經網路(artificial neural network),禁忌搜尋(tabu search)相繼出現。最近,演化演算法(evolutionary algorithm),蟻群演算法(ant algorithms), 擬人擬物演算法,量子演算法等油相繼興起,掀起了研究啟發式演算法的高潮。由於這些演算法簡單和有效,而且具有某種智慧型,因而成為科學計算和人類之間的橋梁。
優勝劣汰是大自然的普遍規律,它主要通過選擇和變異來實現。選擇是優化的基本思想,變異(多樣化)是隨機搜尋或非確定搜尋的基本思想。「優勝劣汰」是演算法搜尋的核心,根據「優勝劣汰」策略的不同,可以獲得不同的超啟發式演算法。超啟發式演算法的主要思想來自於人類經過長期對物理、生物、社會的自然現象仔細的觀察和實踐,以及對這些自然現象的深刻理解,逐步向大自然學習,模仿其中的自然現象的執行機制而得到的。
進化演算法:是借鑑生物界自然選擇和自然遺產機制的隨機搜尋演算法,包括:遺傳演算法(ga),遺傳策略(gs),進化規劃(ep),進化策略(es)。進化演算法的基本框架還是簡單遺傳演算法所描述的框架,但在進化的方式上有較大的差異,選擇、交叉、變異、種群控制等有很多變化。
模擬退火是模擬統計物理中固體物質的結晶過程。模擬退火來自冶金學的專有名詞退火。退火是將材料加熱後再經特定速率冷卻,目的是增大晶粒的體積,並且減少晶格中的缺陷。材料中的原子原來會停留在使內能有區域性最小值的位置,加熱使能量變大,原子會離開原來位置,而隨機在其他位置中移動。退火冷卻時速度較慢,使得原子有較多可能可以找到內能比原先更低的位置。
模擬退火的原理也和金屬退火的原理近似:我們將熱力學的理論套用到統計學上,將搜尋空間內每一點想象成空氣內的分子;分子的能量,就是它本身的動能;而搜尋空間內的每一點,也像空氣分子一樣帶有「能量」,以表示該點對命題的合適程度。演算法先以搜尋空間內乙個任意點作起始:每一步先選擇乙個「鄰居」,然後再計算從現有位置到達「鄰居」的概率。在退火的過程中,如果搜尋到好的解接受;否則,以一定的概率接受不好的解(即實現多樣化或變異的思想),達到跳出區域性最優解得目的。
神經網路:模擬大腦神經處理的過程,通過各個神經元的競爭和協作,實現選擇和變異的過程。
禁忌搜尋:模擬人的經驗,通過禁忌表記憶最近搜尋過程中的歷史資訊,禁忌某些解,以避免走回頭路,達到跳出區域性最優解的目的。
螞蟻演算法:模擬螞蟻的行為,擬人擬物,向螞蟻的協作方式學習。
2.2 總結
這幾種超啟發式演算法都有乙個共同的特點:從隨機的可行初始解出發,才用迭代改進的策略,去逼近問題的最優解。他們的基本要素:
隨機初始可行解;
給定乙個評價函式(常常與目標函式值有關);
鄰域,產生新的可行解;
選擇和接受解得準則;
終止準則。
其中 (4) 集中反映了超啟發式演算法的克服區域性最優的能力。
雖然人們研究對啟發式演算法的研究將近50年,但它還有很多不足:
啟發式演算法目前缺乏統
一、完整的理論體系。
由於np理論,各種啟發式演算法都不可避免的遭遇到區域性最優的問題,如何判斷
各種啟發式演算法都有個自優點如何,完美結合。
啟發式演算法中的引數對演算法的效果起著至關重要的作用,如何有效設定引數。
啟發演算法缺乏有效的迭代停止條件。
啟發式演算法收斂速度的研究等。
啟發式與元啟發式演算法
啟發式演算法 heuristic algorigthm 是一種基於直觀或經驗構造的演算法,在可接受的花費 指計算時間 計算空間等 給出待解決優化問題的每一例項的乙個可行解,該可行解與與最優解的偏離程度一般不可以事先預計。啟發式演算法是一種技術,這種演算法可以在可接受的計算費用內找到最好的解,但不一定...
啟發式演算法和元啟發式演算法
是一種基於直觀或經驗構造的演算法,在可接受的花費 指計算時間 計算空間等 給出待解決優化問題的每一例項的乙個可行解,該可行解與與最優解的偏離程度一般不可以事先預計。啟發式演算法是一種技術,這種演算法可以在可接受的計算費用內找到最好的解,但不一定能保證所得到解的可行性及最優性,甚至大多數情況下無法闡述...
啟發式演算法與元啟發式演算法
相對與精確演算法提出的。是一種群體智慧型演算法。平衡區域性最優解與全域性最優解。啟發式演算法可以這樣定義 乙個基於直觀或經驗構造的演算法,在可接受的花費 指計算時間和空間 下給出待解決組合優化問題每乙個例項的乙個可行解,該可行解與最優解的偏離程度一般不能被預計。許多啟發式演算法是相當特殊的,依賴於某...