遺傳演算法是一類自適應的隨機最佳化 演算法,涉及搜尋和最佳化。遺傳演算法最早由霍蘭德 (Holland) 於 1975 年使用。
基本思想是嘗試模擬自然選擇的簡單圖景,以找到一個好的演算法。第一步是變異或隨機改變給定的樣本程式集合。第二步是選擇步驟,通常透過針對適應度函式進行衡量來完成。重複此過程,直到找到合適的解決方案。
有許多不同型別的遺傳演算法。涉及變異的步驟取決於樣本程式的表示方式,以及程式設計師是否包含各種交叉技術。適應度測試也取決於程式設計師。
與梯度流最佳化類似,該過程可能陷入適應度函式的區域性最大值。遺傳演算法的一個優點是它不需要適應度函式非常平滑,因為執行的是隨機搜尋而不是沿著最小阻力路徑。但是,要獲得成功,可修改引數與適應度之間需要存在某種良好的關係。一般來說,會遇到計算不可約性。
霍蘭德建立了一個電子生物體作為二進位制字串(“染色體”),然後使用遺傳和進化原理,透過與適應度成比例的選擇進行繁殖(包括隨機交叉和變異),以有效地搜尋巨大的解空間。所謂的遺傳程式語言應用相同的原理,使用表示式樹而不是位串作為“染色體”。
另請參閱
元胞自動機,
差分進化,
進化程式設計,
進化策略,
遺傳程式設計,
最佳化理論,
隨機最佳化
本條目部分內容由 託德·羅蘭貢獻
使用 探索
參考文獻
Bengtsson, M. “遺傳演算法筆記本。” http://library.wolfram.com/infocenter/MathSource/569/。Corne, D.; Dorigo, M.; 和 Glover, F. 最佳化新思路。紐約:McGraw-Hill,1999 年。Cramer, N. L. “簡單順序程式自適應生成的表示。” 在遺傳演算法及其應用國際會議論文集,1985 年 7 月(J. J. Grefenstette 編輯)。Hillsdale, NJ:L. Erlbaum Associates,第 183-187 頁,1985 年。Fernandez, J. “GP 教程。” http://www.geneticprogramming.com/Tutorial/。Holland, J. H. 自然和人工系統中的適應:生物學、控制和人工智慧應用的導論分析。安娜堡,密歇根州:密歇根大學出版社,1975 年。Holland, J. H. 自然和人工系統中的適應:生物學、控制和人工智慧應用的導論分析,第二版。劍橋,馬薩諸塞州:麻省理工學院出版社,1992 年。Jacob, C. 用 Mathematica 說明進化計算。舊金山,加利福尼亞州:Morgan Kaufmann,2001 年。Koza, J. R. 遺傳程式設計:透過自然選擇對計算機進行程式設計。劍橋,馬薩諸塞州:麻省理工學院出版社,1992 年。Wolfram, S. 一種新科學。香檳,伊利諾伊州:Wolfram Media,第 1002 頁,2002 年。在 中被引用
遺傳演算法
請這樣引用
羅蘭, 託德 和 韋斯坦, 埃裡克·W. “遺傳演算法。” 來自 Web 資源。 https://mathworld.tw/GeneticAlgorithm.html
學科分類