Artificial intelligence 在比赛选择中选择父母

Artificial intelligence 在比赛选择中选择父母,artificial-intelligence,genetic-algorithm,Artificial Intelligence,Genetic Algorithm,我正在写一个GA,我不确定在选择父对象时,我是想在我的总体中循环找到每个使用锦标赛选择的父对象,还是想找到两个使用锦标赛选择的父对象 这是哪一个?我不太清楚你所建议的备选方案之间的区别是什么,但通常情况下,它的工作方式是随机选择两个个体,保留最好的一个,然后成为家长1。然后你再随机挑选两个个体,保留最好的一个,它就变成了双亲。然后,这两个父母重组产生后代,进入儿童群体。重复以上步骤直到你有足够的后代 因此,您可以使用如下循环生成一个子总体。(您可以为每组父对象生成多个子对象…调整循环边界以适合您

我正在写一个GA,我不确定在选择父对象时,我是想在我的总体中循环找到每个使用锦标赛选择的父对象,还是想找到两个使用锦标赛选择的父对象


这是哪一个?

我不太清楚你所建议的备选方案之间的区别是什么,但通常情况下,它的工作方式是随机选择两个个体,保留最好的一个,然后成为家长1。然后你再随机挑选两个个体,保留最好的一个,它就变成了双亲。然后,这两个父母重组产生后代,进入儿童群体。重复以上步骤直到你有足够的后代

因此,您可以使用如下循环生成一个子总体。(您可以为每组父对象生成多个子对象…调整循环边界以适合您的情况)


谢谢这是否意味着有时你会跨越相同的父母?另外值得一提的是,锦标赛规模不必限制在两个以内。你可以随意选择任意多个亲本,然后找到最合适的。如果你将一个亲本与自己杂交,你显然会得到一个原始亲本的克隆,以及一些典型的突变机会。我想这是一种判断,但我不会,因为如果你有一个或两个成员比所有其他成员都更健康,那么你可以很快地消除你的多样性。而且我通常会保留一代人中最优秀的一个或两个成员进行克隆。除了我的预约之外,我不希望这种事情发生在偶然之间。传统上,你不必担心。它发生的概率很低,你就让它发生吧。然而,通过某种形式的乱伦预防,你有时可以得到更好的结果(值得指出的是,你现在花费了一些搜索努力寻找重复的,所以这实际上可能也会伤害你)。看一看CHC遗传算法,它是一个非常聪明的结合防止乱伦的方法。不幸的是,我不认为Eshelman的原始论文是数字形式的,但你可以在网上找到算法的描述。@Novak你所描述的通常被称为精英主义(保证1到N个最好的个体被传播到下一代)。
for i = 1 to N 
    pick individual t1 at random from parent population
    pick individual t2 at random from parent population
    parent1 = winner(t1, t2)

    pick individual t1 at random from parent population
    pick individual t2 at random from parent population
    parent2 = winner(t1, t2)

    generate offspring from parent1, parent2
    mutate offspring
    evaluate offspring
    add offspring to child population
end for