智慧型控制 Intelligent Control

交配

交配是從交配池中隨機取出兩個母代字串,彼此交換部分位元,組成兩個新的物種;藉著把前代優秀的位元片段組合起來,期望產生更好的子代。並不是所有物種都會交配,每一對是否交配由交配率控制。交配有三種常見型式:

單點交配 Single-Point Crossover

隨機選一個交配點,交配點之後的所有位元互換:

00000A11111B01111A′10000B′單點交配:交配點之後的基因互換

雙點交配 Two-Point Crossover

隨機選兩個交配點,兩點之間的位元互換:

00000A11111B01110A′10001B′雙點交配:兩交配點之間的基因互換

字罩交配 Uniform (Mask) Crossover

隨機產生一個與字串等長的「字罩」(0 與 1),字罩為 1 的位置就互換位元:

00000A11111B01001A′10110B′01001字罩字罩交配:字罩為 1 的位置互換(字罩 01001)

互動示範 Try It

(補充)每一輪隨機產生新的母代、交配點或字罩;下方顯示解碼後的值,可以看出交配後子代的值落在哪裡:

自製動畫(依控制理論數值模擬)

本課程的程式使用單點交配,見 Matlab 程式。

原圖對照
原圖
原圖
原圖