7

我正在尝试使用遗传算法找出浮点数的平方根。
我已经初始化了随机数种群和适应度函数。如何实现从人口和统一交叉中选择父母?

4

1 回答 1

2

选择
gilad(您正在使用的那个)提供的功能似乎很好。为什么不遵循标准程序?你可以在维基百科上找到一些想法

交叉
如果您正在考虑将候选者作为 32 位向量(实际上是 31 位),那么进行统一交叉包括以一半的概率选择任一父级的位。

这个想法是:

  • 抛硬币
  • 如果首当其冲,
  • 如果尾巴对父母二

以编程方式从 2 个父母创建孩子的有效方法是生成一个随机的 32 位数字r,并给定父母ab执行以下操作:

 child = (r & a) | (~r & b);
于 2012-10-11T08:11:52.950 回答