フィットネスの比例確率を得るときに0であるフィットネス(フィットネスは?)について何か質問があります。メンバーのコンテナが最初に最高のフィットネスでソートする必要があり、このようなコードを実行します。若干のフィットネスが0のときのフィットネス比例選択
for all members of population
sum += fitness of this individual
end for
for all members of population
probability = sum of probabilities + (fitness/sum)
sum of probabilities += probability
end for
loop until new population is full
do this twice
number = Random between 0 and 1
for all members of population
if number > probability but less than next probability then you have been selected
end for
end
create offspring
end loop
を私はランダムに生成されたメンバーと手で一回の反復を通過するように私は見ています私の問題は、私はいくつかを持っているということですメンバーのフィットネスは0になりますが、それらのメンバーの確率を得るとき、最後の非ゼロメンバーと同じ確率を維持します。ゼロ以外の確率とゼロ確率とを分けることができる方法はありますか?私は最高のフィットネスに基づいてソートしても、最後の非ゼロメンバーはゼロ確率と同じ確率を持つと考えていました。