遗传算法中的轮盘赌轮选择

时间:2015-03-31 16:05:27

标签: algorithm genetic-algorithm genetic-programming

我对遗传算法中的轮盘赌选择感到困惑。算法如下所示

for i=1 to N
 x=random[0,1];
 k=1;
 while k<N&&x>cusum
   k=k+1
 end
tmp_P[i]=P[k];
end

这是对的吗?我混淆了条件

第一种方式:

 while k<N&&x>cusum
   k=k+1
 end
 tmp_P[i]=P[k];

或第二种方式

 while k<N&&x>cusum
   k=k+1;     
   tmp_P[i]=P[k];
end

哪个是对的?非常感谢你

1 个答案:

答案 0 :(得分:1)

第一种方法是正确的。

通过你的cumsum数组,直到找到比你的随机数大的那个并选择那个人。

但是,我希望你的cusum变量应该是一个数组,你可以使用:

 while k<N && x>cusum[k]