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

發(fā)展 編輯本段
在20世紀(jì)90年代,人們普遍認(rèn)為為遺傳編程發(fā)展一種理論是非常困難的,GP在各種搜索技術(shù)中也處于劣勢(shì)。2000年以后,GP的理論有了很大的進(jìn)步,可以建立精確的GP概率模型和3356馬爾可夫鏈模型。遺傳規(guī)劃比遺傳算法更適用(實(shí)際上包含了遺傳算法)
除了生成計(jì)算機(jī)程序,遺傳編程也被用來生成可開發(fā)的硬件。
Juergen Schmidhuber進(jìn)一步提出了宏遺傳編程macro genetic programming,一種利用遺傳編程生成遺傳編程系統(tǒng)的技術(shù)。一些批評(píng)者認(rèn)為宏觀遺傳編程在理論上不可行,但需要更多的研究來證實(shí)。
附件列表
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。
如果您認(rèn)為本詞條還有待完善,請(qǐng) 編輯
上一篇 視網(wǎng)膜識(shí)別 下一篇 語音合成