遗传算法中的轮盘赌选择
Roulette Wheel Selection in genetic algorithm
我对遗传算法中的轮盘赌选择感到困惑。算法如下
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 条件
第一种方式:
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 数组,直到你找到一个比你的随机数大的人和 select 那个人。
但是,我希望您的 cusum 变量应该是一个数组,您可以使用:
while k<N && x>cusum[k]
我对遗传算法中的轮盘赌选择感到困惑。算法如下
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 条件
第一种方式:
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 数组,直到你找到一个比你的随机数大的人和 select 那个人。
但是,我希望您的 cusum 变量应该是一个数组,您可以使用:
while k<N && x>cusum[k]