簡體   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