iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 7
1
AI & Data

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

【Day07】GA with you - Crossover 交配 (1)

  • 分享至 

  • xImage
  •  

每個禮拜的星期天總是這麼快的來臨
希望我的假日一天有48小時
這樣我就有double的時間可以運用(耍廢)
明天要上課=明天要開會=明天要交作業=今天要完成(倒地)
一個懶蟲上身的我...


先來複習一下之前的東西,再來開始吧!
我們從前面的選擇(Reproduction) 到今天要講的 交配(Crossover)
前三天的選擇了較好的染色體(chromosome)來到了交配的階段
但是不是每一個染色體都會進行交配
交配的機率在程式中是可以透過設定去控制改變的

基因演算法流程-交配

那現在就來講講交配有哪些種類?這些有什麼差異吧~
基因演算法-交配種類

單點交配(one-point crossover method)

單點交配,是目前基因演算法中最常被使用到的Crossover方法
顧名思義只透過一個節點(交換點)
那一個節點是什麼意思呢?
這邊就實際為大家示範
單點交配-原始
根據箭頭的位置做交換
將兩者個基因(Gene)互換
單點交配-完成
進行交換後就會產生新的染色體(chromosome)
單點交換就會是根據決定交換點進行互換
而這樣就代表著一個染色體(chromosome)會被分成兩個部分交換
但若我們只要交換某一小段呢?
這就可以使用雙點交換來解決這個需求

雙點交配(two-point crossover method)

雙點交配就是會根據這兩個點進行交換
具體的方法和單點交換相似
當決定好兩個交換點之後
就會將這兩個交換點間的基因(Gene)互換
進而產生新的染色體序列
雙點交配-原始
根據箭頭的位置做交換
將兩者個基因(Gene)互換
雙點交配-完成

這樣是不是很簡單呢~

多點交配(multi-point crossover method)

再來,多點交配就是有多的節點
將各節點間的基因(Gene)互換
多點交配-原始
根據箭頭的位置做交換
將兩組個基因(Gene)互換
多點交配-完成
多點交換有多少個點也是可以自行決定呢,
要4個5個都行
ps. 一般遇到第一個開始交換的point前都是保持自己原始的,除非今天的交換點在第一個位置

以上就是基因演算法中交配的三種常見的方式-單點、雙點以及多點
明天會各位介紹套選的方法~~


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


上一篇
【Day06】GA with you - Reproduction & Selection 複製與選擇 (3)
下一篇
【Day08】GA with you - Crossover 交配 (2)
系列文
GA Note - 基因演算法的世界30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言