計算機內的進化

計算機內的進化:
    遺傳算法的工作過程實質是模擬生物進行過程。
    首先,應確定一種編碼方法,使得你的問題的任何一個潛在可行解都能表示成一個
“數字”染色體。然後,創建一個由隨機的染色體組成的初始羣體,並在一段時期中,
以培育適應性最強的個體的方法,讓它們進化。在此期間,染色體的某些位置上,要加
入少量的變異。經過許多代後,運氣好一點,遺傳算法會收斂到一個解。遺傳算法不確
保一定有解,如果有解也不確保一定是最優解,但只要方法正確,通常都能得到一個運
行良好的程序。
   遺傳算法的最大優點就是: 你不需要知道具體怎麼去解決一個問題,只需要知道
用怎樣方式去解決這類問題,並對可行解進行編碼,使得它能被遺傳算法機制所利用。

   通常,代表可行解的染色體採用一系列的二進制位作爲編碼。
1。 檢查每個染色體,看它解決問題的性能如何,並相應地爲它分配一個適應性分數;
2。 從當前羣體中選出2個成員。選出的概率正比於染色體的適應性,適應性分越高,
被選中的概率也愈大。通常採用的方法就是賭輪選擇法;
3。 按照預先設定的雜交率,從每個選中的染色體的一個隨機確定的點上進行雜交;
4。 按照預先設定的變異率,通對被選中的染色體的位循環,把相應的位翻轉;
5。 重複步驟2,3,4, 直到100個成員被創建出來。

  算法步驟1到步驟5的一次循環稱爲一個世代,整個算法稱爲一個時代。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章