首先,这是家庭作业的一部分。
我正在尝试实现遗传算法。我对选择父母进行交叉感到困惑。
在我的笔记中(显然有问题),这是作为示例所做的;
- Pc(交叉的可能性)*种群大小=估计的交叉染色体数(如果不是偶数,则四舍五入到最接近的偶数之一)
- 为每个染色体选择一个 [0,1] 范围内的随机数,如果该数字小于 Pc,则选择该染色体作为交叉对。
但是当应用第二步时,选择的染色体数等于第一步找到的结果。由于随机性,这并不总是得到保证。
所以这没有任何意义。我搜索了选择父母进行交叉,但我发现的只是交叉技术(一点、切割和切片等)以及如何在所选父母之间进行交叉(我对这些没有问题)。我只是不知道应该选择哪个染色体进行交叉。有什么建议或简单的例子吗?