繁体   English   中英

健身功能

[英]Fitness function

在Google上搜索遗传算法时,我遇到了OneMax问题,但搜索结果表明这是遗传算法应用于的第一个问题。 但是,我不能完全确定OneMax问题是什么。 谁能解释。

任何帮助表示赞赏

One-Max问题的目的是创建一个长度为n的二进制字符串,其中每个单个基因都包含一个1。适应度函数非常简单,您只需遍历所有二进制二进制字符串即可。 这就是您的帖子提供的公式中的总和。 它只是二进制字符串中一个的数目。 您也可以将适应度用百分比表示,将位数除以n * 0.01 较高的适应性将具有较高的百分比。 最终,您将在某代获得一串n且适应度为100%的n

double fitness(List<int> chromosome) {
  int ones = chromosome.stream().filter(g -> g == 1).count();
  return ones / chromosome.size() * 0.01;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM