【发布时间】:2020-04-24 08:32:42
【问题描述】:
我有以下两条染色体,它们表示为二维数组。
// 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 交叉?
【问题讨论】:
-
这非常依赖于您正在解决的问题。没有这些信息就很难说。
标签: algorithm multidimensional-array genetic-algorithm mutation crossover