【—八年級生物之變異】,變異算子的基本內(nèi)容是對群體中的個(gè)體串的某些基因座上的基因值作變動。依據(jù)個(gè)體編碼表示方法的不同,可以有以下的算法:
a)實(shí)值變異;
b)二進(jìn)制變異。
一般來說,變異算子操作的基本步驟如下:
a)對群中所有個(gè)體以事先設(shè)定的編譯概率判斷是否進(jìn)行變異;
b)對進(jìn)行變異的個(gè)體隨機(jī)選擇變異位進(jìn)行變異。
遺傳算法導(dǎo)引入變異的目的有兩個(gè):一是使遺傳算法具有局部的隨機(jī)搜索能力。當(dāng)遺傳算法通過交叉算子已接近最優(yōu)解鄰域時(shí),利用變異算子的這種局部隨機(jī)搜索能力可以加速向最優(yōu)解收斂。顯然,此種情況下的變異概率應(yīng)取較小值,否則接近最優(yōu)解的積木塊會因變異而遭到破壞。二是使遺傳算法可維持群體多樣性,以防止出現(xiàn)未成熟收斂現(xiàn)象。此時(shí)收斂概率應(yīng)取較大值。
遺傳算法中,交叉算子因其全局搜索能力而作為主要算子,變異算子因其局部搜索能力而作為輔助算子。遺傳算法通過交叉和變異這對相互配合又相互競爭的操作而使其具備兼顧全局和局部的均衡搜索能力。所謂相互配合.是指當(dāng)群體在進(jìn)化中陷于搜索空間中某個(gè)超平面而僅靠交叉不能擺脫時(shí),通過變異操作可有助于這種擺脫。所謂相互競爭,是指當(dāng)通過交叉已形成所期望的積木塊時(shí),變異操作有可能破壞這些積木塊。如何有效地配合使用交叉和變異操作,是目前遺傳算法的一個(gè)重要研究內(nèi)容。
基本變異算子是指對群體中的個(gè)體碼串隨機(jī)挑選一個(gè)或多個(gè)基因座并對這些基因座的基因值做變動(以變異概率P.做變動),(0,1)二值碼串中的基本變異操作如下:
基因位下方標(biāo)有*號的基因發(fā)生變異。
變異率的選取一般受種群大小、染色體長度等因素的影響,通常選取很小的值,一般取0.001-0.1。
總結(jié):當(dāng)最優(yōu)個(gè)體的適應(yīng)度達(dá)到給定的閥值,或者最優(yōu)個(gè)體的適應(yīng)度和群體適應(yīng)度不再上升時(shí),或者迭代次數(shù)達(dá)到預(yù)設(shè)的代數(shù)時(shí),算法終止。
本文來自:逍遙右腦記憶 http://m.portlandfoamroofing.com/chuzhong/162906.html
相關(guān)閱讀:初中生物實(shí)驗(yàn)之探究酵母菌的發(fā)酵作用



