iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 3
0
AI & Data

GA Note - 基因演算法的世界系列 第 3

【Day03】GA with you - Process 基因演算法的流程

今天的進度本該昨天的,來不及啦...
今天也是忙碌的炸乾的一天,升天啦~~~~


今天為大家就要跟大家介紹基因演算法的流程
先上張圖,讓大家對照的圖和文章
基因演算法流程

初始化群體 ( Initialize Population )
一開始需要確定群體的大小( Population Size )。就是每一次的染色體有多少個啦~
例如我要透過50個染色體運算,所以我該次的群體大小就是50。

適應函數 ( Fitness Function)
適應函數用來計算染色體( chromosome )好壞的標準,用來篩選出適應程度較佳的個體(染色體)。
適應值( Fitness Value )就是用來顯示其適應程度的數值表現,而不同的適應函數在不同的應用情境下將對應到不同的計算方式。
設定適應值 ( Fitness Value ) ,當該組染色體 ( chromosome ) 的適應值達到目標適應值時,該組染色體( chromosome )即為欲尋找的解。

選擇 ( Selection )
選擇的精神為【留下好的基因序列】,使得好的基因流傳下去。
根據不同的染色體所對應到的適應值 ( Fitness Value ),當適應值越高,該群體則有越高的機率被選取,以確保好的基因序列將被保留。
白話一點說,就想像是我們要做基因改造,會把比較好的基因給留下來,不好的基因給去除這樣的概念。
之前不是有什麼基因改造的人,把可能得到愛滋病的基因拿掉,就有點這樣的概念,把有疑慮(?)不好的(?)基因去除,保留好的。
而選擇的方法有很多種,在後續的文章中也會跟大家介紹每一種的選擇方式。(鋪梗...)

交配( Crossover )
如同名稱所述,將兩兩基因進行交配進而產生出新的染色體。而兩兩染色體是否交配也會透過交配機率進行控制。
交配的方式也有很多種,單點、多點等等的方式,也是日後會介紹。(怎麼有種老高上身)

突變 ( Mutation )
突變會在選中的chromosome中對某些基因進行變化,以二進位來說0->1,1 -> 0。
突變也是會根據突變機率來改變,有了Crossover之後,一定有人會有疑問為什麼還要突變,這是因為避免最後的結果陷入區域最佳解的狀況。

希望今天的介紹可以讓大家更能理解基因演算法的流程,
有任何問題歡迎留言,
進度的部分就別提醒我了(掩面),
希望這個系列可以讓大家有更多的收穫。
讓我們一起努力學習~~~


相關資料來源:
林豐澤・2005。演化式計算上篇:演化式演算法的三種理論模式。智慧科技與應用統計學報,3(1),1-28。
林豐澤・2005。演化式計算下篇:基因演算法以及三種應用實例。智慧科技與應用統計學報,3(1),29-56。
林昇甫、徐永吉・2009。遺傳演算法及其應用・五南圖書出版。


上一篇
【Day02】GA with you - GA Element 基因演算法元素
下一篇
【Day04】GA with you - Reproduction & Selection 複製與選擇 (1)
系列文
GA Note - 基因演算法的世界30

尚未有邦友留言

立即登入留言