我正在探索线性遗传编程的世界,我发现自己陷入了这个问题。在我看来,即使是最简单的问题的错误景观也非常不顺畅。特别是,错误情况似乎总是包含恒定误差的巨大差距(解决方案的适应性仅为零的间隙)。这使得进化算法恶化为在程序空间上的随机搜索,并且使得解决方案几乎不可能被发现。那里有没有人解释人们如何解决这个问题?我错过了什么?
答案 0 :(得分:1)
不幸的是,这种观察在GP世界中非常典型。
您可能会发现这篇文章很有趣:J. Lehman, K. O. Stanley: Efficiently evolving programs through the search for novelty
答案 1 :(得分:0)
不要选择过高的选择压力。过高的选择压力导致多样性的丧失,这使得找到难以达到的全球最佳状态变得更加困难。在弱势的压力下,不适合个体有机会创造后代,这可能会导致发现新的优势。 另一个影响是突变步长。如果你有很高的选择压力,你应该至少确保即使它们发生概率较小也可以进行广泛的变异步骤。 有些人甚至建议让变异操作员能够在一个步骤内到达搜索空间的每个部分:http://www.lehmanns.de/shop/nocategory/3400811-9783826597008-anwendungsorientierter-entwurf-evolutionaerer-algorithmen