我的代码使用 JGAP,我想像这样评估染色体:
Evaluation 0:
1 2 3 4 5 6 7 8 9
Evaluation 1:
3 5 2 1 4 6 7 8 9
到目前为止,我得到的染色体具有重复的等位基因,如下所示:
Evaluation 1:
3 3 5 6 7 8 9 9 1
是否可以使用任何配置来获得具有非重复等位基因的染色体?
最佳答案
我假设你正在谈论生成遗传算法的初始种群,你应该做的是创建某个值列表的许多随机顺序。
有很多方法可以做到这一点,这里有两种可能性:
- 创建一个包含所有可能值的数组,对其进行打乱,然后将其复制到 一个新的 染色体,重复...(您可以为每个 可能的值,然后按随机值对值进行排序)。
- 将所有值放入列表中,从列表中随机选择一个项目, 消除 并将其添加到染色体中,直到不再有任何值为止 列表,重复...
关于java - 如何使用 JGAP 设置具有非重复等位基因的染色体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11039189/