我混淆了遗传算法中轮盘赌的选择算法如下
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
哪个是正确的?非常感谢你
最佳答案
第一种方法是正确的。
你通过你的cumsum数组,直到你找到一个大于你的随机数,并选择个人。
但是,我希望cusum变量应该是一个数组,您可以使用:
while k<N && x>cusum[k]