輪盤賭選擇
基本思想是:各個個體被選中的概率與其適應度大小成正比.
具體操作如下:
(1)計算出群體中每個個體的適應度f(i=1,2,…,M),M為群體大小;
(2)計算出每個個體被遺傳到下一代群體中的概率;
(3)計算出每個個體的累積概率;
(q[i]稱為染色體x[i] (i=1, 2, …, n)的積累概率)
(4)在[0,1]區間內產生一個均勻分布的偽隨機數r;
(5)若r<q[1],則選擇個體1,否則,選擇個體k,使得:q[k-1]<r≤q[k] 成立;
(6)重復(4)、(5)共M次
一個簡單的實例
1. 產生初始種群
s1= 13 (01101)
s2= 24 (11000)
s3= 8 (01000)
s4= 19 (10011)
2. 計算適應度
假定適應度為f(s)=s^2 ,則
f (s1) = f(13) = 13^2 = 169
f (s2) = f(24) = 24^2 = 576
f (s3) = f(8) = 8^2 = 64
f (s4) = f(19) = 19^2 = 361
3. 選擇
染色體的選擇概率為:
染色體的累計概率為:
根據上面的式子,可得到:
例如設從區間[0, 1]中產生4個隨機數:
r1 = 0.450126, r2 = 0.110347
r3 = 0.572496, r4 = 0.98503
轉:https://my.oschina.net/u/1412321/blog/192454