遺傳算法是一種群體型操作,該操作以群體的所有個體為對象。遺傳算法的遺傳操作(genetic operation)包括:選擇(selection)、交叉(crossover)、和變異(mutation)三個主要的遺傳,它們使得遺傳算法具有了其他傳統(tǒng)方法所沒有的特性。
正航儀器小編須知,遺傳算法的核心內(nèi)容為:參數(shù)編碼、初始群體的設(shè)定、適應(yīng)函數(shù)的設(shè)定、遺傳操作的設(shè)定、控制參數(shù)的設(shè)定。
1 編碼
由于遺傳算法不能直接處理解空間的數(shù)據(jù),因而要將解空間的數(shù)據(jù)表示成遺傳空間的數(shù)據(jù)格式,即通過編碼將表現(xiàn)型數(shù)據(jù)映射為基因型串結(jié)構(gòu)數(shù)據(jù)。比如x=14表示為01110的形式。
2 產(chǎn)生初始種群
由于遺傳算法是群體型的操作,所以進行遺傳操作前,都需要產(chǎn)生一個由若干初始解組成的初始種群,種群的大小(規(guī)模)就是指種群中的個體數(shù)目。初始群體也稱為進化的初始代,即代。
3 應(yīng)函數(shù)的設(shè)定
計算適應(yīng)度計算適應(yīng)度是為了衡量每個個體適應(yīng)度的大小,換句話說就是為了描述個體好壞的程度,以便將的個體保留下來,獲得更多交配的機會。
4 遺傳操作
(1)選擇(selection)實現(xiàn)選擇操作的方法有很多種,這里采用和適應(yīng)度值成比例的概率方法來進行選擇。具體地說,首先計算群體中所有個體的適應(yīng)度總和(Σf),再計算每個個體的適應(yīng)度所占的比例(fi/Σf),并以此作為相應(yīng)的選擇概率PS。由這個概率可以計算出每個個體被選擇的次數(shù)。
(2)交叉(crossover)
簡單的交叉(即一點交叉),可以分為兩步進行,首先對配對庫中的個體進行隨機配對,然后在配對個體中隨機確定交叉處(表中的配對庫中的豎線表示交叉位置),配對個體彼此交換部分信息。
(3)變異(mutation)
變異操作是按位(bit)進行的,即把染色體中的某一位的內(nèi)容進行變異。對于常用的二進制編碼的個體來說,若某位原來為0,則通過變異就變成1,反之亦然。變異操作也是隨機進行的。變異概率Pm一般都取的比較小。變異操作一般和交叉操作配合使用來挖掘群體中個體的多樣性,以避免陷于局部解。
(5)模擬結(jié)果
遺傳算法一般要通過幾十甚至幾百次的重復(fù)上述過程來求解問題。通常的方法是在實驗中預(yù)先指定遺傳算法的迭代次數(shù)或設(shè)定迭代終止的條件。
完整遺傳算法核心內(nèi)容包含5個主要因素,學(xué)習(xí)要先從掌握核心入手,之后掌握脈搏,掌握全文。
http://www.sz-dkm.com