遺傳編程
遺傳編程,或稱遺傳編程GP 受生物進化過程的啟發,是一種自動生成和選擇計算機程序來完成用戶定義的任務的技術。理論上,人類只需要告訴計算機使用基因編程'需要完成什么',而不用告訴它'如何去完成'終于有可能實現真正的人工智能:自動化發明機器。遺傳編程是一種使用進化算法的特殊機器學習技術,它始于一組隨機生成的數百萬個計算機程序'人群'然后根據一個程序完成給定任務的能力來確定它的適用性,并應用達爾文 物競天擇(適者生存)為了確定獲勝的程序,計算機程序還模擬了性別組合突變基因復制基因刪除等世代進化直到達到預定的終止條件。
進展 編輯本段
遺傳編程的第一次實驗是由斯蒂芬進行的。史密斯 (1980)And nickelchromium alloy .克萊姆 (1985)發表。約翰.Koza(1992)他還寫了一本著名的書,《遺傳編程:用自然選擇讓計算機編程》,介紹遺傳編程。
使用遺傳編程的計算機程序可以用許多編程語言編寫。早期(或者說傳統)在GP的實現中,程序的指令和數據值是以樹形結構組織的,所以那些原本提供樹形組織的編程語言最適合GP,比如Koza使用的Lisp語言。其他形式的GP也被提倡和實現,比如相對簡單,適合傳統編程語言(例如Fortran, BASIC, 和 C)的線性遺傳編程。一些商業GP軟件將線性遺傳編程與匯編語言相結合以獲得更好的性能,一些實現直接生成匯編程序。
遺傳編程所需的計算量非常大(處理大量候選計算機程序)以至于在90年代只能用來解決一些簡單的問題。近年來,隨著遺傳編程技術的發展和CPU 的計算能力,GP開始產生大量顯著的成果。比如2004年前后,GP在多個領域取得了近40項成果:量子計算,電子設計,游戲比賽,排序,搜索等等。這些計算機生成的程序(算法)其中有些與2000年后人工產生的發明非常相似,甚至有兩項成果產生了可以申請專利的新發明2。

發展 編輯本段
在20世紀90年代,人們普遍認為為遺傳編程發展一種理論是非常困難的,GP在各種搜索技術中也處于劣勢。2000年以后,GP的理論有了很大的進步,可以建立精確的GP概率模型和3356馬爾可夫鏈模型。遺傳規劃比遺傳算法更適用(實際上包含了遺傳算法)
除了生成計算機程序,遺傳編程也被用來生成可開發的硬件。
Juergen Schmidhuber進一步提出了宏遺傳編程macro genetic programming,一種利用遺傳編程生成遺傳編程系統的技術。一些批評者認為宏觀遺傳編程在理論上不可行,但需要更多的研究來證實。
附件列表
詞條內容僅供參考,如果您需要解決具體問題
(尤其在法律、醫學等領域),建議您咨詢相關領域專業人士。