遺傳算法:?jiǎn)l(fā)自真實(shí)現(xiàn)象

書(shū)名:代碼本色:用編程模擬自然系統(tǒng)
作者:Daniel Shiffman
譯者:周晗彬
ISBN:978-7-115-36947-5
第9章目錄

9.1 遺傳算法:?jiǎn)l(fā)自真實(shí)現(xiàn)象

1、目標(biāo)

  • 我們的目標(biāo)不是深入研究遺傳和進(jìn)化的科學(xué)原理,我們不會(huì)研究旁氏表、核苷酸、蛋白質(zhì)合成、RNA和其他生物進(jìn)化相關(guān)的話題。
  • 相反,我們只討論達(dá)爾文進(jìn)化論背后的核心原理,并根據(jù)這個(gè)原理開(kāi)發(fā)出一套算法。
  • 我們并不在乎進(jìn)化模擬是否精確,只關(guān)心進(jìn)化在軟件中的應(yīng)用策略。

2、遺傳算法

  • “遺傳算法”指的是一種特定算法,它以特定的方式實(shí)現(xiàn),用于解決特定類(lèi)型的問(wèn)題。
  • 盡管遺傳算法是本章的基礎(chǔ),但我們不會(huì)用絕對(duì)精確的方式實(shí)現(xiàn)它,因?yàn)槲覀儜?yīng)該多花精力探索遺傳算法的創(chuàng)新用法。

3、內(nèi)容

  • 1.傳統(tǒng)遺傳算法
    我們從傳統(tǒng)遺傳算法開(kāi)始。
    這種算法用于解決“解空間過(guò)于龐大,窮舉法耗時(shí)過(guò)長(zhǎng)”的問(wèn)題。
    舉個(gè)例子,有一個(gè)介于1~1 000 000的數(shù)字,你要花多少時(shí)間才能猜到這個(gè)數(shù)字?
    如果用窮舉法,你就要檢查每一種可能:這個(gè)數(shù)字是不是等于1,是不是2,是不是3?……運(yùn)氣好的話,你很快就能猜到這個(gè)數(shù)字;
    如果運(yùn)氣不好,你就要從1枚舉到1 000 000,這肯定會(huì)耗費(fèi)大量的時(shí)間。
    但如果我能告訴你更多的信息,比如猜的數(shù)字是大是小,是有點(diǎn)大,還是非常大;如果能得到每次猜測(cè)的“契合度”,我想你的猜測(cè)肯定會(huì)越來(lái)越接近正確答案,解決問(wèn)題的速度也會(huì)更快。
    也就是說(shuō),你的答案可以發(fā)生進(jìn)化。

  • 2.交互式選擇
    實(shí)現(xiàn)傳統(tǒng)遺傳算法之后,我們會(huì)研究遺傳算法在可視化藝術(shù)方面的應(yīng)用。
    交互式選擇指的是事物(通常是由計(jì)算機(jī)產(chǎn)生的圖像)在用戶交互下發(fā)生進(jìn)化的過(guò)程。
    舉個(gè)例子,你在參觀一家博物館,博物館的墻上掛著幾幅油畫(huà)。在交互式選擇技術(shù)的幫助下,你只要選擇出最喜歡的畫(huà),程序就會(huì)根據(jù)你的喜好自動(dòng)產(chǎn)生(或者“進(jìn)化出”)一副新畫(huà)供你欣賞。

  • 3.生態(tài)系統(tǒng)模擬
    如果你去閱讀人工智能方面的在線文檔或教科書(shū),通常會(huì)看到關(guān)于傳統(tǒng)遺傳算法和交互式選擇技術(shù)的講解。
    但它們不會(huì)講解如何在程序中模擬現(xiàn)實(shí)世界的進(jìn)化過(guò)程。
    本章的最后將探索如何在模擬生態(tài)系統(tǒng)中模擬進(jìn)化過(guò)程。
    模擬生態(tài)系統(tǒng)中的對(duì)象會(huì)相遇、結(jié)合,并把基因傳遞給下一代。
    這種技術(shù)可以直接應(yīng)用到每一章最后的生態(tài)系統(tǒng)項(xiàng)目中。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容