[問題] 請問遺傳基因演算法的交配程序已回收

看板MATLAB作者 (兵長)時間16年前 (2009/03/19 19:36), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
請問遺傳基因演算法的交配(crossover)程序中 假設我有一個以上的變數 在交配時應該是對於每個族群的不同變數個別交配 還是不考慮不同變數而直接交配!? 舉個例子好了: 第一個族群 x: 01111101 | 第二個族群 y: 10011000 ------------------------------------------------------- 第一個變數 x1:0111 | 第一個變數 y1: 1001 第二個變數 x2: 1101 | 第二個變數 y2: 1000 皆使用第3點的單點交配 (1)每個族群不同變數各別交配 x1=0111 x1'=0001 x2=1101 x2'=1000 >>crossover>> >>crossover>> y1=1001 y1'=1111 y2=1000 y2'=1101 ans:x'=00011111 y'=11011101 (2)不考慮不同變數直接交配 x=01111101 x'=01011000 >>crossover>> y=10011000 y'=10111101 整理一下結果: (1)x'=00011111 y'=11011101 (2)x'=01011000 y'=10111101 請教各位先進此二種的交配方式何種才是正確的呢? 因為我兩種方法都可正常收斂 不過我實際跑的case變數不只兩種,所以才有些懷疑 感謝解惑,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.111.38

03/19 20:17, , 1F
第一種,不同的變數分開交配
03/19 20:17, 1F

03/19 20:18, , 2F
第二種你如果用不同的編碼長度就不能做了
03/19 20:18, 2F
文章代碼(AID): #19mYvM_j (MATLAB)
文章代碼(AID): #19mYvM_j (MATLAB)