遗传算法采用循环交叉一般是因为个体是有某个序列组成,染色体不能有相同的情况,例如(TSP问题)排列组合类
不多说,上图,其实根据图去理解最简单
假设有下面两个个体
随机选择一个交叉位点:
接下来开始进行循环交叉
很显然发生冲突,那么此时我们就再次交叉
发现又产生冲突
于是我们再接着交叉
交叉完之后又冲突,于是再次进行交叉
至此,循环交叉过程结束。
可以思考一下,循环交叉如果它的交叉范围是在一块的话(中间没有非交叉染色体),那么是不是可以看为块交叉(整块整块的交叉),所以这其实就块交叉的变体
块交叉示例:
交叉完成