这是我将给出的一个非常小的例子:
假设我的人口规模为 4。现在,假设我根据他们的适应度对它们进行排序,并且我决定删除最后 2 个(所以现在我的人口规模为 2)。现在我需要回到原来的大小,但首先我必须创建后代。
假设我有这个:(不是用任何特定语言编写的)
population = [[2.2],[49.7],[34.1],[25.39]] //original population, I would run this under a fitness function
sortedPopulation = [[49.7],[25.39],[2.2],[34.1]] //sorted population based upon their fitness
best = [[49.7],[25.39]] //updated population with the last 2 elements being dropped (because they are the 2 worst)
在这一点上,我试图弄清楚如何交叉并创造后代。在后代之后,我将产生更多的双打以恢复到原来的种群规模(我已经知道该怎么做)。有哪些穿越的方法?交叉的结果实际上会是什么样子?
我还想确保有一种方法适用于总体元素中的任何 # 个元素。例如,如果每个元素都是 2 双,那么我将如何从这样的东西中创建后代:
best = [[3.3,92.56],[10.5,15.01]]