【发布时间】:2017-11-09 20:13:17
【问题描述】:
我正在做一个遗传算法,每个人都会产生 3 个新的后代。使用适应度函数评估新个体,该函数可能返回负值和正值。如果我想最小化,使用轮盘赌选择在后代之间进行选择的正确方法是什么?
适应度函数的一些可能值是:fitness_offspring_1 = -98.74; fitness_offspring_2 = -10.1; fitness_offspring_3 = 100.31
我正在研究 Python,但我只需要这个想法,因此我可以自己实现它。
【问题讨论】:
-
在传统的遗传算法中,您使用选择方法来选择合适的个体进行交配,而不是选择哪些后代生活(所有后代都生活在普通遗传算法中)。我没有看到你的策略,这是你的错误还是你在构建自定义算法?
-
@umutto 这不是错误。这个想法是以三种不同的方式使一个人变异,这样你就有了三个新的后代。然后你应该使用轮盘赌选择其中之一。
-
好吧,轮盘赌可能有点过头了,但它可能也很好用,而且它仍然是一种快速算法。我会给你一个简单的伪代码,你可以从中实现。
标签: python genetic-algorithm roulette-wheel-selection