gpt4 book ai didi

javascript - 如果轮盘赌选择返回相同的父项怎么办?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:00:53 24 4
gpt4 key购买 nike

我正在尝试使用轮盘赌选择来实现遗传算法,我想知道 - 如果当我们试图培育一个 child 时,选择了同一个 parent 会怎样?由于生成的子项与父项相同,我们是否仍进行交叉?

breedChild: function() {

//blah blah blah
//blah blah blah
//blah blah blah

var mom = this.rouletteWheelSelection(),
dad = this.rouletteWheelSelection();
}



rouletteWheelSelection: function() {
var total = 0,
//totalFitnessScore is precalculated, and represents the sum of all the fitness scores in current population
threshold = totalFitnessScore * Math.random();

for (var i = 0; i < genomesArr.length; i++) {
total += genomesArr[i].fitnessScore;

if (total >= threshold) break;
};

return genomesArr[i];
}

最佳答案

交叉不会有什么不同,但选择相同的 parent 应该很少见,以至于在这种情况下检查每个 child 的 parent 是否相同会比执行交叉在计算上更昂贵——如果不是,那么你的基因库太小而无法产生有效结果。附带说明一下,如果引入突变,子代仍可能与其父代不同。

关于javascript - 如果轮盘赌选择返回相同的父项怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25891527/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com