當前位置:首頁 » 遺傳因素 » 遺傳配對演算法

遺傳配對演算法

發布時間: 2021-03-29 22:50:53

遺傳演算法的運算過程

遺傳操作是模擬生物基因遺傳的做法。在遺傳演算法中,通過編碼組成初始群體後,遺傳操作的任務就是對群體的個體按照它們對環境適應度(適應度評估)施加一定的操作,從而實現優勝劣汰的進化過程。從優化搜索的角度而言,遺傳操作可使問題的解,一代又一代地優化,並逼近最優解。
遺傳操作包括以下三個基本遺傳運算元(genetic operator):選擇(selection);交叉(crossover);變異(mutation)。這三個遺傳運算元有如下特點:
個體遺傳運算元的操作都是在隨機擾動情況下進行的。因此,群體中個體向最優解遷移的規則是隨機的。需要強調的是,這種隨機化操作和傳統的隨機搜索方法是有區別的。遺傳操作進行的高效有向的搜索而不是如一般隨機搜索方法所進行的無向搜索。
遺傳操作的效果和上述三個遺傳運算元所取的操作概率,編碼方法,群體大小,初始群體以及適應度函數的設定密切相關。 從群體中選擇優勝的個體,淘汰劣質個體的操作叫選擇。選擇運算元有時又稱為再生運算元(reproction operator)。選擇的目的是把優化的個體(或解)直接遺傳到下一代或通過配對交叉產生新的個體再遺傳到下一代。選擇操作是建立在群體中個體的適應度評估基礎上的,目前常用的選擇運算元有以下幾種:適應度比例方法、隨機遍歷抽樣法、局部選擇法。
其中輪盤賭選擇法 (roulette wheel selection)是最簡單也是最常用的選擇方法。在該方法中,各個個體的選擇概率和其適應度值成比例。設群體大小為n,其中個體i的適應度為,則i 被選擇的概率,為遺傳演算法
顯然,概率反映了個體i的適應度在整個群體的個體適應度總和中所佔的比例。個體適應度越大。其被選擇的概率就越高、反之亦然。計算出群體中各個個體的選擇概率後,為了選擇交配個體,需要進行多輪選擇。每一輪產生一個[0,1]之間均勻隨機數,將該隨機數作為選擇指針來確定被選個體。個體被選後,可隨機地組成交配對,以供後面的交叉操作。 在自然界生物進化過程中起核心作用的是生物遺傳基因的重組(加上變異)。同樣,遺傳演算法中起核心作用的是遺傳操作的交叉運算元。所謂交叉是指把兩個父代個體的部分結構加以替換重組而生成新個體的操作。通過交叉,遺傳演算法的搜索能力得以飛躍提高。
交叉運算元根據交叉率將種群中的兩個個體隨機地交換某些基因,能夠產生新的基因組合,期望將有益基因組合在一起。根據編碼表示方法的不同,可以有以下的演算法:
a)實值重組(real valued recombination)
1)離散重組(discrete recombination)
2)中間重組(intermediate recombination)
3)線性重組(linear recombination)
4)擴展線性重組(extended linear recombination)。
b)二進制交叉(binary valued crossover)
1)單點交叉(single-point crossover)
2)多點交叉(multiple-point crossover)
3)均勻交叉(uniform crossover)
4)洗牌交叉(shuffle crossover)
5)縮小代理交叉(crossover with reced surrogate)。
最常用的交叉運算元為單點交叉(one-point crossover)。具體操作是:在個體串中隨機設定一個交叉點,實行交叉時,該點前或後的兩個個體的部分結構進行互換,並生成兩個新個體。下面給出了單點交叉的一個例子:
個體A:1 0 0 1 ↑1 1 1 → 1 0 0 1 0 0 0 新個體
個體B:0 0 1 1 ↑0 0 0 → 0 0 1 1 1 1 1 新個體 變異運算元的基本內容是對群體中的個體串的某些基因座上的基因值作變動。依據個體編碼表示方法的不同,可以有以下的演算法:
a)實值變異
b)二進制變異。
一般來說,變異運算元操作的基本步驟如下:
a)對群中所有個體以事先設定的變異概率判斷是否進行變異
b)對進行變異的個體隨機選擇變異位進行變異。
遺傳演算法引入變異的目的有兩個:一是使遺傳演算法具有局部的隨機搜索能力。當遺傳演算法通過交叉運算元已接近最優解鄰域時,利用變異運算元的這種局部隨機搜索能力可以加速向最優解收斂。顯然,此種情況下的變異概率應取較小值,否則接近最優解的積木塊會因變異而遭到破壞。二是使遺傳演算法可維持群體多樣性,以防止出現未成熟收斂現象。此時收斂概率應取較大值。
遺傳演算法中,交叉運算元因其全局搜索能力而作為主要運算元,變異運算元因其局部搜索能力而作為輔助運算元。遺傳演算法通過交叉和變異這對相互配合又相互競爭的操作而使其具備兼顧全局和局部的均衡搜索能力。所謂相互配合.是指當群體在進化中陷於搜索空間中某個超平面而僅靠交叉不能擺脫時,通過變異操作可有助於這種擺脫。所謂相互競爭,是指當通過交叉已形成所期望的積木塊時,變異操作有可能破壞這些積木塊。如何有效地配合使用交叉和變異操作,是目前遺傳演算法的一個重要研究內容。
基本變異運算元是指對群體中的個體碼串隨機挑選一個或多個基因座並對這些基因座的基因值做變動(以變異概率P.做變動),(0,1)二值碼串中的基本變異操作如下:
基因位下方標有*號的基因發生變異。
變異率的選取一般受種群大小、染色體長度等因素的影響,通常選取很小的值,一般取0.001-0.1。 當最優個體的適應度達到給定的閾值,或者最優個體的適應度和群體適應度不再上升時,或者迭代次數達到預設的代數時,演算法終止。預設的代數一般設置為100-500代。

⑵ 關於遺傳演算法OR匹配演算法的應用

過分的過分的過分的過分的

⑶ DNA 鹼基配對怎麼配 演算法

在高中生物中有關核酸中鹼基含量的計算題是學生容易出現錯誤的,各類資料介紹的解題方法也很多,一題多解也屢見不鮮。要解決有關鹼基含量計算的問題,關鍵在於對鹼基互補配對原則的理解及運用。鹼基互補配對原則對雙鏈DNA分子中四種鹼基的關系作了明確的闡述:嘌呤與嘧啶配對,且A=T,G=C,由此人們歸納出三條規律。 規律一:在雙鏈DNA分子中,不互補的兩鹼基含量之和是相等的,占整個分子鹼基總量的50%。即:A+G=T+C或A+C=T+G。 規律二:在雙鏈DNA分子中,一條鏈中的嘌呤之和與嘧啶之和的比值(A+G/T+C或T+C/A+G)與其互補鏈中相應的比值互為倒數。 規律三:在雙鏈DNA分子中,一條鏈中的互補的鹼基對和(如A+T或C+G)佔全部鹼基的比等於其任何一條單鏈中該種鹼基比例的比值(也等於其轉錄形成的信使RNA中該種鹼基比例的比值);一條鏈中的互補的鹼基對的比值(A+T/G+C或G+C/A+T)與其在互補鏈中的比值和在整個分子中的比值相等。 我認為,遵循鹼基互補配對原則及其引申的規律,特別是對於第三條規律,在解題中運用示意圖分析法解答有關鹼基含量計算的問題,直觀明了,可以避免煩瑣的推理和運算,迅速得到答案,得到事半功倍的效果。

⑷ 基因遺傳演算法的主流是什麼

基因遺傳演算法是一種靈感源於達爾文自然進化理論的啟發式搜索演算法 該演算法反映了自然選擇的過程 即最適者被選定繁殖 並產生下一代
自然選擇的過程從選擇群體中最適應環境的個體開始 後代繼承了父母的特性 並且這些特性將添加到下一代中 如果父母具有更好的適應性 那麼它們的後代將更易於存活 迭代地進行該自然選擇的過程 最終 我們將得到由最適應環境的個體組成的一代
這一概念可以被應用於搜索問題中 我們考濾一個問題的諸多解決方案 並從中搜尋出最佳方案
遺傳演算法含以下五步
1.初始化
2.個體評價(計算適應度函數)
3.選擇運算
4.交叉運算
5.變異運算
初始化
該過程從種群的一組個體開始 且每一個體都是待解決問題的一個候選解
個體以一組參數(變數)為特徵 這些特徵被稱為基因 串聯這些基因就可以組成染色體(問題的解)
在遺傳演算法中 單個個體的基因組以字元串的方式呈現 通常我們可以使用二進制(1和0的字元串)編碼 即一個二進制串代表一條染色體串 因此可以說我們將基因串或候選解的特徵編碼在染色體中
個體評價利用適應度函數評估了該個體對環境的適應度(與其它個體徑爭的能力)每一個體都有適應評分 個體被選中進行繁殖的可能性取決於其適應度評分 適應度函數是遺傳演算法進化的驅動力 也是進行自然選擇的唯一標准 它的設計應結合求解問題本身的要求而定
選擇運算的目的是選出適應性最好的個體 並使它們將基因傳到下一代中 基於其適應度評分 我們選擇多對較優個體(父母)適應度高的個體更易被選中繁殖 即將較優父母的基因傳遞到下一代
交叉運算是遺傳演算法中最重要的階段 對每一對配對的父母 基因都存在隨機選中的交叉點
變異運算
在某些形成的新後代中 它們的某些基因可能受到低概率變異因子的作用 這意味著二進制位串中的某些位可能會翻轉
變異運算前後
變異運算可用於保持群內的多樣性 並防止過早收斂
終止
在群體收斂的情況下(群體內不產生與前一代差異較大的後代)該演算法終止 也就是說遺傳演算法提供了一組問題的解

⑸ 遺傳演算法中的交叉配對的個體是隨機配對的還是按順序從上到下配對的

這就要看你採取哪種方法了,你可以把所有要交叉的個體按適應度好壞進行排列,然後第一和第二配對,第三和第四配對,以此類推。也可以第一和倒數第一配對,第二和倒數第二配對,以此類推。
也可以不進行排列,隨機選擇其中兩個進行配對。

⑹ 遺傳演算法的基本原理

遺傳演算法通常的實現方式,就是用程序來模擬生物種群進化的過程。對於一個求專最優解的問題,我屬們可以把一定數量的候選解(稱為個體)抽象地表示為染色體,使種群向更好的解來進化。大家知道,使用演算法解決問題的時候,解通常都是用數據或者字元串等表示的,而這個數據或字元串對應到生物中就是某個個體的「染色體」。進化從完全隨機個體的種群開始,之後一代一代發生。在每一代中評價其在整個種群的適應度,從當前種群中隨機地選擇多個個體(基於它們的適應度),通過自然選擇和突變產生新的種群,該種群在演算法的下一次迭代中成為當前種群。其具體的計算步驟如下:

  • 編碼:將問題空間轉換為遺傳空間;

  • 生成初始種群:隨機生成P個染色體;

  • 種群適應度計算:按照確定的適應度函數,計算各個染色體的適應度;

  • 選擇:根據染色體適應度,按照選擇運算元進行染色體的選擇;

  • 交叉:按照交叉概率對被選擇的染色體進行交叉操作,形成下一代種群;

  • 突變:按照突變概率對下一代種群中的個體進行突變操作;

  • 返回第3步繼續迭代,直到滿足終止條件。

⑺ 基因遺傳演算法主流

基因遺傳演算法是一種靈感源於達爾文自然進化理論的啟發式搜索演算法 該演算法反映了自然選擇的過程 即最適者被選定繁殖 並產生下一代
自然選擇的過程從選擇群體中最適應環境的個體開始 後代繼承了父母的特性 並且這些特性將添加到下一代中 如果父母具有更好的適應性 那麼它們的後代將更易於存活 迭代地進行該自然選擇的過程 最終 我們將得到由最適應環境的個體組成的一代
這一概念可以被應用於搜索問題中 我們考濾一個問題的諸多解決方案 並從中搜尋出最佳方案
遺傳演算法含以下五步
1.初始化
2.個體評價(計算適應度函數)
3.選擇運算
4.交叉運算
5.變異運算
初始化
該過程從種群的一組個體開始 且每一個體都是待解決問題的一個候選解
個體以一組參數(變數)為特徵 這些特徵被稱為基因 串聯這些基因就可以組成染色體(問題的解)
在遺傳演算法中 單個個體的基因組以字元串的方式呈現 通常我們可以使用二進制(1和0的字元串)編碼 即一個二進制串代表一條染色體串 因此可以說我們將基因串或候選解的特徵編碼在染色體中
個體評價利用適應度函數評估了該個體對環境的適應度(與其它個體徑爭的能力)每一個體都有適應評分 個體被選中進行繁殖的可能性取決於其適應度評分 適應度函數是遺傳演算法進化的驅動力 也是進行自然選擇的唯一標准 它的設計應結合求解問題本身的要求而定
選擇運算的目的是選出適應性最好的個體 並使它們將基因傳到下一代中 基於其適應度評分 我們選擇多對較優個體(父母)適應度高的個體更易被選中繁殖 即將較優父母的基因傳遞到下一代
交叉運算是遺傳演算法中最重要的階段 對每一對配對的父母 基因都存在隨機選中的交叉點
變異運算
在某些形成的新後代中 它們的某些基因可能受到低概率變異因子的作用 這意味著二進制位串中的某些位可能會翻轉
變異運算前後
變異運算可用於保持群內的多樣性 並防止過早收斂
終止
在群體收斂的情況下(群體內不產生與前一代差異較大的後代)該演算法終止 也就是說遺傳演算法提供了一組問題的解

⑻ 遺傳演算法的基本原理是什麼

遺傳演算法的基本原理和方法

一、編碼

編碼:把一個問題的可行解從其解空間轉換到遺傳演算法的搜索空間的轉換方法。

解碼(解碼):遺傳演算法解空間向問題空間的轉換。

二進制編碼的缺點是漢明懸崖(Hamming Cliff),就是在某些相鄰整數的二進制代碼之間有很大的漢明距離,使得遺傳演算法的交叉和突變都難以跨越。

格雷碼(Gray Code):在相鄰整數之間漢明距離都為1。

(較好)有意義的積木塊編碼規則:所定編碼應當易於生成與所求問題相關的短距和低階的積木塊;最小字元集編碼規則,所定編碼應採用最小字元集以使問題得到自然的表示或描述。

二進制編碼比十進制編碼搜索能力強,但不能保持群體穩定性。

動態參數編碼(Dynamic Paremeter Coding):為了得到很高的精度,讓遺傳演算法從很粗糙的精度開始收斂,當遺傳演算法找到一個區域後,就將搜索現在在這個區域,重新編碼,重新啟動,重復這一過程,直到達到要求的精度為止。

編碼方法:

1、 二進制編碼方法

缺點:存在著連續函數離散化時的映射誤差。不能直接反映出所求問題的本身結構特徵,不便於開發針對問題的專門知識的遺傳運算運算元,很難滿足積木塊編碼原則

2、 格雷碼編碼:連續的兩個整數所對應的編碼之間僅僅只有一個碼位是不同的,其餘碼位都相同。

3、 浮點數編碼方法:個體的每個基因值用某一范圍內的某個浮點數來表示,個體的編碼長度等於其決策變數的位數。

4、 各參數級聯編碼:對含有多個變數的個體進行編碼的方法。通常將各個參數分別以某種編碼方法進行編碼,然後再將他們的編碼按照一定順序連接在一起就組成了表示全部參數的個體編碼。

5、 多參數交叉編碼:將各個參數中起主要作用的碼位集中在一起,這樣它們就不易於被遺傳運算元破壞掉。

評估編碼的三個規范:完備性、健全性、非冗餘性。

二、選擇

遺傳演算法中的選擇操作就是用來確定如何從父代群體中按某種方法選取那些個體遺傳到下一代群體中的一種遺傳運算,用來確定重組或交叉個體,以及被選個體將產生多少個子代個體。

常用的選擇運算元:

1、 輪盤賭選擇(Roulette Wheel Selection):是一種回放式隨機采樣方法。每個個體進入下一代的概率等於它的適應度值與整個種群中個體適應度值和的比例。選擇誤差較大。

2、 隨機競爭選擇(Stochastic Tournament):每次按輪盤賭選擇一對個體,然後讓這兩個個體進行競爭,適應度高的被選中,如此反復,直到選滿為止。

3、 最佳保留選擇:首先按輪盤賭選擇方法執行遺傳演算法的選擇操作,然後將當前群體中適應度最高的個體結構完整地復制到下一代群體中。

4、 無回放隨機選擇(也叫期望值選擇Excepted Value Selection):根據每個個體在下一代群體中的生存期望來進行隨機選擇運算。方法如下

(1) 計算群體中每個個體在下一代群體中的生存期望數目N。

(2) 若某一個體被選中參與交叉運算,則它在下一代中的生存期望數目減去0.5,若某一個體未被選中參與交叉運算,則它在下一代中的生存期望數目減去1.0。

(3) 隨著選擇過程的進行,若某一個體的生存期望數目小於0時,則該個體就不再有機會被選中。

5、 確定式選擇:按照一種確定的方式來進行選擇操作。具體操作過程如下:

(1) 計算群體中各個個體在下一代群體中的期望生存數目N。

(2) 用N的整數部分確定各個對應個體在下一代群體中的生存數目。

(3) 用N的小數部分對個體進行降序排列,順序取前M個個體加入到下一代群體中。至此可完全確定出下一代群體中M個個體。

6、無回放余數隨機選擇:可確保適應度比平均適應度大的一些個體能夠被遺傳到下一代群體中,因而選擇誤差比較小。

7、均勻排序:對群體中的所有個體按期適應度大小進行排序,基於這個排序來分配各個個體被選中的概率。

8、最佳保存策略:當前群體中適應度最高的個體不參與交叉運算和變異運算,而是用它來代替掉本代群體中經過交叉、變異等操作後所產生的適應度最低的個體。

9、隨機聯賽選擇:每次選取幾個個體中適應度最高的一個個體遺傳到下一代群體中。

10、排擠選擇:新生成的子代將代替或排擠相似的舊父代個體,提高群體的多樣性。

三、交叉

遺傳演算法的交叉操作,是指對兩個相互配對的染色體按某種方式相互交換其部分基因,從而形成兩個新的個體。

適用於二進制編碼個體或浮點數編碼個體的交叉運算元:

1、單點交叉(One-pointCrossover):指在個體編碼串中只隨機設置一個交叉點,然後再該點相互交換兩個配對個體的部分染色體。

2、兩點交叉與多點交叉:

(1) 兩點交叉(Two-pointCrossover):在個體編碼串中隨機設置了兩個交叉點,然後再進行部分基因交換。

(2) 多點交叉(Multi-pointCrossover)

3、均勻交叉(也稱一致交叉,UniformCrossover):兩個配對個體的每個基因座上的基因都以相同的交叉概率進行交換,從而形成兩個新個體。

4、算術交叉(ArithmeticCrossover):由兩個個體的線性組合而產生出兩個新的個體。該操作對象一般是由浮點數編碼表示的個體。

四、變異

遺傳演算法中的變異運算,是指將個體染色體編碼串中的某些基因座上的基因值用該基因座上的其它等位基因來替換,從而形成以給新的個體。

以下變異運算元適用於二進制編碼和浮點數編碼的個體:

1、基本位變異(SimpleMutation):對個體編碼串中以變異概率、隨機指定的某一位或某幾位僅因座上的值做變異運算。

2、均勻變異(UniformMutation):分別用符合某一范圍內均勻分布的隨機數,以某一較小的概率來替換個體編碼串中各個基因座上的原有基因值。(特別適用於在演算法的初級運行階段)

3、邊界變異(BoundaryMutation):隨機的取基因座上的兩個對應邊界基因值之一去替代原有基因值。特別適用於最優點位於或接近於可行解的邊界時的一類問題。

4、非均勻變異:對原有的基因值做一隨機擾動,以擾動後的結果作為變異後的新基因值。對每個基因座都以相同的概率進行變異運算之後,相當於整個解向量在解空間中作了一次輕微的變動。

5、高斯近似變異:進行變異操作時用符號均值為P的平均值,方差為P2的正態分布的一個隨機數來替換原有的基因值。

⑼ 遺傳演算法一般和什麼演算法匹配使用

1.2 遺傳演算法的原理 遺傳演算法GA把問題的解表示成「染色體」,在演算法中也即是以二進制編碼的串。並且,在執行遺傳演算法之前,給出一群「染色體」,也即是假設解。然後,把這些假設解置於問題的「環境」中,並按適者生存的原則,從中選擇出較適應環境的「

熱點內容
法國電影小男孩在農場遇到一隻白狗 發布:2024-08-19 08:36:47 瀏覽:594
微光上有什麼恐怖片 發布:2024-08-19 05:25:40 瀏覽:915
穿越香港鬼片滅鬼的小說 發布:2024-08-19 03:36:10 瀏覽:833
惡之花都敏秀姐姐扮演者 發布:2024-08-19 02:22:07 瀏覽:321
thai好看電影 發布:2024-08-18 11:34:37 瀏覽:795
電影內容女的是傻子容易尿褲子,男的很窮單身漢 發布:2024-08-18 10:31:36 瀏覽:129
雙機巨幕廳和4k廳哪個好 發布:2024-08-18 10:18:41 瀏覽:818
日本僵屍片上世紀 發布:2024-08-18 07:32:00 瀏覽:537
怪物 韓國電影在線 發布:2024-08-18 03:49:17 瀏覽:491
第九區一樣的 發布:2024-08-17 23:16:05 瀏覽:528