我是遗传算法的新手,正在研究python实现。我要完成分频器的工作,并且正在尝试部分匹配的分频器。对于我的最终输出,我希望找到一个不包含重复数字的列表。但是,在某些情况下,我会介绍重复项。例如,使用列表
Mate 1 [1,2,3,5,4,6]
Mate 2 [6,5,4,3,2,1]
如果交叉部分是[3,5,4] -> [4,3,2]
然后映射之前的后代变为[1,2,4,3,2,6]
。我对算法的理解是分频器外部的映射为4 -> 3, 5 -> 3 and 2 -> 4
。但是,这导致[1,4,4,3,2,6]
的输出重复且缺少5。
我如何解决此问题?前四个只是变成5吗?以及如何将其扩展到可能引入多个重复项的较大列表?
我不确定您是否已正确实施: