訂閱
糾錯
加入自媒體

一文讓零基礎(chǔ)的你輕松理解遺傳算法

概     述

遺傳算法(Genetic Algorithm,GA)最早是由美國的 John holland于20世紀(jì)70年代提出,該算法是根據(jù)大自然中生物體進化規(guī)律而設(shè)計提出的。是模擬達爾文生物進化論的自然選擇和遺傳學(xué)機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優(yōu)解的方法。該算法通過數(shù)學(xué)的方式,利用計算機仿真運算,將問題的求解過程轉(zhuǎn)換成類似生物進化中的染色體基因的交叉、變異等過程。在求解較為復(fù)雜的組合優(yōu)化問題時,相對一些常規(guī)的優(yōu)化算法,通常能夠較快地獲得較好的優(yōu)化結(jié)果。遺傳算法已被人們廣泛地應(yīng)用于組合優(yōu)化、機器學(xué)習(xí)、信號處理、自適應(yīng)控制和人工生命等領(lǐng)域。

01

大致了解

遺傳算法屬于啟發(fā)式算法的一種,大家理解啟發(fā)式算法的時候可以將其與枚舉法類比。舉個簡單的例子,我們在求解某一函數(shù)f(x)的最大值時,通常的方法是通過求導(dǎo),找到極值點。但是大家一定還知道另外一種最笨的辦法,就是枚舉法。假設(shè)x的可行域在[0,1]之間,x最大值的精確度是0.01,那就可以把[0,1]之間所有的可行解(0.01, 0.02, 0.03,... 0.98, 0.99, 1.00)都拿出來代入f(x),計算比較它們的大小,找到最大值對應(yīng)的x'即為最優(yōu)解,f(x')為最大值。但是這種方法的求解效率太低了,為了解決這一問題,各路大神就根據(jù)各種學(xué)科的不同原理,比如生物界的遺傳、魚群、蟻群、冶金學(xué)的退火等,將這些理論應(yīng)用在求解中,以提高求解效率。同樣是不斷地嘗試找到最優(yōu)解,利用這些原理可以讓嘗試的過程沒那么盲目,而是按照一定的規(guī)律去尋找最優(yōu)解,可以有效地提高求解效率,讓我們更快地尋找到f(x)的最優(yōu)解。

總之,為了更容易理解遺傳算法,大家首先可以有一個大致的思維:遺傳算法是枚舉法的升級版本。

02

簡單算例

問題:求解函數(shù) f(x) = x + 10*sin(5*x) + 7*cos(4*x) 在區(qū)間[0,9]的最大值。

p.s.  f(x) 函數(shù)大致圖像如上圖

流程:??????????????遺傳算法(Genetic Algorithm)遵循『適者生存』、『優(yōu)勝劣汰』的原則,是一類借鑒生物界自然選擇和自然遺傳機制的隨機化搜索算法。遺傳算法模擬一個人工種群的進化過程,通過選擇(Selection)、交叉(Crossover)以及變異(Mutation)等機制,在每次迭代中都保留一組候選個體,重復(fù)此過程,種群經(jīng)過若干代進化后,理想情況下其適應(yīng)度達到***近似最優(yōu)***的狀態(tài)。

p.s.  遺傳算法流程圖如上圖

1  2  下一頁>  
聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯
x
*文字標(biāo)題:
*糾錯內(nèi)容:
聯(lián)系郵箱:
*驗 證 碼:

粵公網(wǎng)安備 44030502002758號