遺傳演算法總結

2021-06-24 18:19:45 字數 1304 閱讀 7563

2023年,美國的holland教授在他的專著《自然界與人工系統的適應性》中首先提出了遺傳演算法(genetic algorithm,ga),它是一類借鑑了生物界中自然選擇和遺傳的隨機化搜尋演算法。遺傳演算法有很多的優點,如魯棒性、並行性、自適應性和快速收斂,可以應用於影象處理領域中影象分割技術來確定分割閾值。

遺傳演算法的搜尋機制:遺傳演算法模擬自然選擇和自然遺傳過程中發生的繁殖、交叉和基因突變現象,在每次迭代中都保留一組候選解,並按某種指標從種群中選取較優的個體,利用遺傳運算元(選擇、交叉和變異)對這些個體進行組合,產生新一代的候選解群,重複此過程,直到滿足某種收斂指標為止。

遺傳演算法的基本組成:(1)編碼(產生初始種群);(2)適應度函式;(3)遺傳運算元(選擇、交叉、變異);(4)執行引數。

引數編碼、種群的初始化設定、適應度函式的設計、遺傳操作設計和控制引數設定等五個要素組成了遺傳演算法的核心內容。

遺傳演算法的基本概念:引數編碼、適應度函式(fitness)、選擇運算元、交叉運算元、變異運算元。

引數編碼:ga是通過某種編碼機制把物件抽象為由特定符號按一定順序排成的串。正如研究生物遺傳是從染色體著手,而染色體則是由基因排成的串。sga使用二進位制串進行編碼。

適應度函式(fitness):適應度高的個體遺傳到下一代的概率就越大,適應度低的個體遺傳到下一代的概率就相對就小。(1)對個體編碼串進行解碼處理後,可得到個體的表現型;(2)由個體的表現型,可計算出對應個體的目標函式值;(3)根據最優化問題的型別,由目標函式按一定的轉換規則求出個體的適應度。

選擇演算法:選擇運算元是從群體中按某一概率成對選擇個體,某個體被選擇的概率pi與其適應度函式值成正比。選擇運算元有很多,最常用的是比例選擇運算元(賭盤法)。它是把當前的個體按與適應度成正比的概率複製到新的群體中去。

基本步驟如下:

(1)    先計算出群體中所有個體的適應度函式的總和;

(2)    其次,計算出每個個體的相對適應度的大小,即各個個體被遺傳到下一代群體中的概率。

(3)    最後使用模擬賭盤操作(即0和1之間的隨機數)來確定各個個體被選中的次數。

交叉運算元:交叉運算元將被選中的2個個體的基因鏈按概率進行交叉,生成2個新的個體,交叉位置是隨機的。

單點交叉演算法示例:

交叉前00000|01110000011

11100|00001111110

交叉後11100|01110000011

00000|00001111110

變異運算元:變異運算元將新個體的基因鏈的各位按概率進行變異,對二值基因鏈來說即是取反。

遺傳演算法的基本流程圖:

python遺傳演算法 Python 遺傳演算法實現

關於遺傳演算法 遺傳演算法是仿照自然界中生物進化而產生的一類優化演算法。個人感覺遺傳演算法簡單粗暴,適應性廣。關於遺傳演算法的介紹網上有很多了,這裡按照我自己的理解簡單概括一下。編碼解碼,將待優化的引數編碼為dna序列,最簡單直接的為二進位制編碼 即有兩種鹼基的dna鏈 生成隨機初代 選擇,適應度 ...

遺傳演算法 python 簡書 遺傳演算法

優化的演算法有很多種,從最基本的梯度下降法到現在的一些啟發式演算法,如遺傳演算法 ga 差分演化演算法 de 粒子群演算法 pso 和人工蜂群演算法 abc 舉乙個例子,遺傳演算法和梯度下降 梯度下降和遺傳演算法都是優化演算法,而梯度下降只是其中最基礎的那乙個,它依靠梯度與方向導數的關係計算出最優值...

遺傳演算法歸納

遺傳演算法 genetic algorithm 是一類借鑑生物界的進化規律 適者生存 優勝劣汰遺傳機制 演化而來的隨機化搜尋方法。其主要特點是直接對結構物件進行操作,不存在求導和函式連續性的限定 具有內在的隱並行性和更好的全域性尋優能力 採用概率化的尋優方法,能自動獲取和指導優化的搜尋空間,自適應地...