遺傳算法是模擬自然界中按“優(yōu)勝劣汰”法則進(jìn)行進(jìn)化過程而設(shè)計的算法。Bagley和Rosengerg于1967年在他們的博士論文中首先提出了遺傳算法的概念。1975年Holland出版的專著奠定了遺傳算法的理論基礎(chǔ)。如今遺傳算法不但給出了清晰的算法描述,而且也建立了一些定量分析的結(jié)果,在眾多領(lǐng)域得到了廣泛的應(yīng)用,如用于控制(煤氣管道的控制)、規(guī)劃(生產(chǎn)任務(wù)規(guī)劃)、設(shè)計(通信網(wǎng)絡(luò)設(shè)計)、組合優(yōu)化(TSP問題、背包問題)以及圖像處理和信號處理等。
細(xì)數(shù)遺傳算法有哪些種類
遺傳算法是如此簡單,任何人只要用高中時學(xué)過的生物術(shù)語就可以理解。以一群個體為例,它們都有自己的DNA。然后衡量每一個個體的適應(yīng)性(把它看作是適用于個體的DNA的官能來衡量),并且使那些更適應(yīng)的個體更有可能繁衍。而最不適應(yīng)的個體將會被滅絕。每個幸存者都會有機(jī)會繁衍(重要的是任何幸存者都可能會繁衍,如果不太適應(yīng)的話,僅僅是降低了可能性)。合并雙親的DNA,對合并后的DNA應(yīng)用隨機(jī)變異以模擬繁衍。理論上說來,新的個體是和雙親一樣適應(yīng)的,由于變異或增或減會有些微小的變化。然后循環(huán)會周而復(fù)始。
雖然,有許多變化的因素在影響遺傳算法,包括人群大小、代(算法的迭代)、合并方法、適應(yīng)性函數(shù),適應(yīng)性將如何影響繁衍的可能性,以及發(fā)生了多少變異。
該算法也存在一些缺陷。如果把應(yīng)用于DNA的適應(yīng)性官能看成是一系列的二進(jìn)制位,效果最好。換句話說,如果DNA是一系列二進(jìn)制的選項,是還是不是。藍(lán)眼睛?黑眼睛?紅頭發(fā)?黑頭發(fā)?合并雙親的DNA和隨后的變異應(yīng)當(dāng)不允許特定的一些位組合出現(xiàn),因為得出的DNA可能不再是最初的問題的有效解答。請記住,所謂“DNA”僅僅是適應(yīng)性公式純數(shù)學(xué)的一種解答。該公式中用到的一些值可能是無效的—例如,除數(shù)為零。
另外,遺傳算法不受時間限制。由您來挑選代的數(shù)目。您可以確定某個目標(biāo)比方說,“找一個適應(yīng)性為0.99999?的個體”,找到后停止。但是,結(jié)果是算法永遠(yuǎn)也不會結(jié)束,因為它沒找到那個個體。如果您制定了不切實際的目標(biāo),或者代的數(shù)目太小,就會出現(xiàn)問題。嘗試、出錯,以及深入的思考是解決這個問題的最佳途徑。