我正在尝试选择轮盘赌。我已经了解了此算法:
我不明白的是,这与这样做相反:Roulette wheel selection algorithm (答案为44票)。这对我来说很有意义,但对上面的那个没有意义。
答案 0 :(得分:0)
答案 1 :(得分:0)
以下是使用总和完成
def choose_parent_using_RWS(genes, S, points):
P = randint(0, int(S))
for x in genes:
P += evaluate(x, points)
if P > S:
return x
return genes[-1]
以下是通过在0和1之间进行归一化来完成
def choose_parent_using_RWS(genes, S, points):
P = randint(0, int(S))/S
for x in genes:
P += evaluate(x, points)/S
if P > S/S:
return x
return genes[-1]