遺傳算法

一、基本遺傳算法的流程如下:

不斷循環,直到尋找出一個解:

1、檢查每個染色體,看它解決問題的性能如何,並相應地爲它分配一個適應性分數。

2、從當前羣體選出2個成員。選出的概率正比於染色體的適應性,適應性愈高,被選中的概率也愈大。常用的方法是賭輪選擇法(roulette wheel selection)

3、按照預先設定的雜交率(crossover rate)(一般取0.7),從每個選中染色體的一個隨機確定的點上進行雜交。

4、按照預先的變異率(mutation rate),通過對被選染色體的位的循環,把相應的位實行翻轉(flip)。

5、重複步驟2,3,4,直到100個成員的新羣體被創建出來。

結束循環

    算法步驟1到5一次循環稱爲一個generation,整個循環稱爲一個epoch。

 

 

二、遺傳算法的優化

 

各種置換變異算子

1、散播變異

    0,1,2,3,4,5,6,7

                  變成

    0,1,2,5,6,3,4,7

2、移位變異

    0,1,2,3,4,5,6,7  1、基於順序的雜交

                  變成

    0,3,4,5,1,2,6,7

3、插入變異

   

 

  2、基於位置的雜交

    0,1,2,3,4,5,6,7

                  變成

    0,1,3,4,5,2,6,7

4、倒置變異

    0,1,2,3,4,5,6,7

                  變成

    0,4,3,2,1,5,6,7

5、倒置移位變異

    0,1,2,3,4,5,6,7

                  變成

    0,6,5,4,1,2,3,7

 

各種置換雜交算子

發佈了31 篇原創文章 · 獲贊 5 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章