【问题标题】:Floating point GA fitness function浮点 GA 适应度函数
【发布时间】:2015-08-08 00:08:10
【问题描述】:

我一直在尝试使浮点适应度函数起作用,但生物体越接近目标序列,所需的时间就越长。

我尝试了一些实现,但在每一个上,交叉导致每个生物的基因序列相同,但适应度只有 50% 左右

评估 -1.0 和 1.0 之间的浮点序列值的好方法是什么?

【问题讨论】:

    标签: artificial-intelligence genetic-algorithm


    【解决方案1】:

    过早收敛是进化计算的最大问题之一。我不确定您使用的是哪种选择方案,但这可能是您需要关注的地方。

    如果您不使用基于锦标赛的选择,第一步是尝试。一个简单的版本是:对于下一代种群中的每个成员,从当前种群中选择 X 个生物。只有最适合的人才能继续前进。重复直到下一个种群已满。如果您使用较低的 X(2 是最低的),则选择压力较弱,因此进化需要更长的时间,但您可能会保持更多的多样性。

    锦标赛选择的好处是适应度的大小无关紧要,只有顺序才重要,这在您的人口几乎相等时会有所帮助。

    假设第一个选择机制不起作用,您需要使用一个积极保持多样性的机制。适应度共享往往是一种有效的选择——单个解决方案的适应度会根据有多少相同(或相似的生物体)进行修改。基本上计算你有多少每种类型的解决方案,有多少邻居,并使用一个简单的函数来修改基于此的适应度(可能每个相同副本-5%,每个邻居-1%......有很多选项)。

    您还可以尝试许多更高级的技术,但这些技术应该会让您走得更远。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-22
      • 1970-01-01
      • 2013-03-22
      • 1970-01-01
      • 2020-01-08
      • 2020-02-07
      • 2011-08-26
      • 1970-01-01
      相关资源
      最近更新 更多