理解遗传算法循环交叉

 

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

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

假设有下面两个个体

《理解遗传算法循环交叉》

随机选择一个交叉位点:

《理解遗传算法循环交叉》

接下来开始进行循环交叉

《理解遗传算法循环交叉》

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

《理解遗传算法循环交叉》

发现又产生冲突

《理解遗传算法循环交叉》

于是我们再接着交叉

《理解遗传算法循环交叉》

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

《理解遗传算法循环交叉》

 

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

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

块交叉示例:

《理解遗传算法循环交叉》

交叉完成

《理解遗传算法循环交叉》

 

    原文作者:沉默的赌徒
    原文地址: https://www.cnblogs.com/gambler/p/9124862.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞