我有以下两条染色体,它们表示为二维数组。
// First chromosome
[
[ 12 45 23 ]
[ 34 01 89 ]
[ 33 90 82 ]
]
// Second chromosome
[
[00 45 89 ]
[00 00 34 ]
]
对染色体的限制是染色体阵列中的每个阵列必须保持在一起。例如在第一条染色体上[ 12 45 23 ]
必须保持在一起。考虑到这一点,我相信与上述染色体结构进行交叉的方法是随机选择一个水平交叉点。例如:
// First produced off-spring
[
[ 12 45 23 ] // First chromosome
[ 00 00 34 ] // Second chromosome
]
// Second produced off-spring
[
[ 00 45 89 ] // Second chromosome
[ 34 01 89 ] // First chromosome
[ 33 90 82 ] // First chromosome
]
这是在必须保持完整的二维染色体阵列上执行突变的正确方法吗?如果是这样,此方法是否有特定名称?或者这会发生One-point
交叉吗?