理解遗传算法循环交叉

 

遗传算法采用循环交叉一般是因为个体是有某个序列组成,染色体不能有相同的情况,例如(TSP问题)排列组合类

不多说,上图,其实根据图去理解最简单

假设有下面两个个体

随机选择一个交叉位点:

接下来开始进行循环交叉

很显然发生冲突,那么此时我们就再次交叉

发现又产生冲突

于是我们再接着交叉

交叉完之后又冲突,于是再次进行交叉

 

至此,循环交叉过程结束。

可以思考一下,循环交叉如果它的交叉范围是在一块的话(中间没有非交叉染色体),那么是不是可以看为块交叉(整块整块的交叉),所以这其实就块交叉的变体

块交叉示例:

交叉完成

 

posted @ 2018-06-02 11:14  沉默的赌徒  阅读(4516)  评论(0编辑  收藏  举报