当前位置: 首页 > 面试题库 >

使用JGAp(遗传算法库)和重复的染色体

齐嘉庆
2023-03-14
问题内容

我使用了JGAp Java遗传算法库。当我评估染色体时,我在总体样本运行中发现染色体重复:

evaluation 0
A B C
A D F
S F W
evaluation 1:
A B C
A D F
A D F
evaluation 2:
A D F
A D F
A D F

和我使用的配置是:

conf.setKeepPopulationSizeConstant(true);
 conf.setRandomGenerator(new StockRandomGenerator());
conf.verifyStateIsValid();

我可以使用任何配置来获得独特的染色体吗?


问题答案:

您可以确保仅使用不允许重复的NaturalSelector。示例代码:

conf.getNaturalSelectors(false).clear();
BestChromosomesSelector bcs = new BestChromosomesSelector(conf, 1.0d);
bcs.setDoubletteChromosomesAllowed(false);
conf.addNaturalSelector(bcs, false);

请注意,仅使用SwappingMutationOperator可能会饿死总体的创造力。一项修改了JGAP的MinimizingMakeChange示例但仅使用SwappingMutationOperator的测试表明,该群体迅速停止生产以前从未见过的个体。



 类似资料:
  • 在程序里生宝宝, 杀死不乖的宝宝, 让乖宝宝继续生宝宝 所有的遗传算法 (Genetic Algorithm), 后面都简称 GA, 我们都需要一个评估好坏的方程, 这个方程通常被称为 fitness 在 GA 中有基因, 为了方便, 我们直接就称为DNA吧. GA 中第二重要的就是这DNA了, 如何编码和解码DNA, 就是你使用 GA 首先要想到的问题. 传统的 GA 中,DNA我们能用一串二进

  • 问题内容: 我想 用Java 实现一些简单的 遗传算法 。 到目前为止,我只找到了 JGAP 。有人对此有经验吗?您知道GA的其他Java库吗? 我不想像用Java用GA编写那样自己编写它,而必须使用Java,那么什么是最活跃的基因编程库?也没有帮助。 问题答案: 我写了《钟表匠框架》,因此我的观点并不偏颇。 ECJ和JGAP是最成熟的两个选项,也许是最全面的选项。另一方面,它们的年龄意味着它们以

  • 几周前,我问了一个关于如何在R中进行优化(使用Optimize R优化向量)的问题。现在我已经掌握了R中的基本优化,我想开始使用遗传算法来解决问题。 考虑到目标函数: 我使用genalg软件包进行优化,特别是“rbga.bin”函数。但问题是一个人似乎不能传递多个参数,即不能传递vol和cov。小地毯是我遗漏了什么,还是理解错误了。 编辑:在genalg包中,有一个名为rbga的函数。垃圾箱就是我

  • 参考资料:http://blog.csdn.net/b2b160/article/details/4680853/(冒昧的用了链接下的几张图) 百度百科:http://baike.baidu.com/link?url=FcwTBx_yPcD5DDEnN1FqvTkG4QNllkB7Yis6qFOL65wpn6EdT5LXFxUCmv4JlUfV3LUPHQGdYbGj8kHVs3GuaK 算法介绍

  • 希望这是有意义的,我基本上是在寻找一些关于如何开始在Python 3中处理这个任务的见解。提前感谢您能提供的任何东西!

  • 我的数据挖掘算法库:https://github.com/linyiqun/DataMiningAlgorithm  我的算法库:https://github.com/linyiqun/lyq-algorithms-lib 前言 遗传(GA)算法是一个非常有意思的算法,因为他利用了生物进化理论的知识进行问题的求解。算法的核心就是把拥有更好环境适应度的基因遗传给下一代,这就是其中的关键的选择操作,遗