我正在尝试使用遗传算法找出浮点数的平方根。
我已经初始化了随机数种群和适应度函数。如何实现从人口和统一交叉中选择父母?
问问题
1714 次
1 回答
2
选择
gilad(您正在使用的那个)提供的功能似乎很好。为什么不遵循标准程序?你可以在维基百科上找到一些想法
交叉
如果您正在考虑将候选者作为 32 位向量(实际上是 31 位),那么进行统一交叉包括以一半的概率选择任一父级的位。
这个想法是:
- 抛硬币
- 如果首当其冲,
- 如果尾巴对父母二
以编程方式从 2 个父母创建孩子的有效方法是生成一个随机的 32 位数字r
,并给定父母a
并b
执行以下操作:
child = (r & a) | (~r & b);
于 2012-10-11T08:11:52.950 回答