我正试图用遗传算法找出浮点数的平方根
我已经初始化了随机数的总体和适应度函数。如何实现从群体和统一交叉中选择父母
SELECTION
gilad(您正在使用的函数)提供的函数似乎很好。为什么不遵循标准程序呢?你可以在维基百科上找到一些想法
CROSSOVER
如果您将一个候选者视为32位向量(实际上是31位),则进行均匀交叉包括以一半概率选择父对象中的任一位。
想法是:
- 扔硬币
- 如果头部接管父对象
- 如果尾巴接上了母二
从程序上讲,从两个父母创建孩子的一种有效方法是生成一个随机的32位数字r
,并且给定父母a
和b
做:
child = (r & a) | (~r & b);