【问题标题】:Is there a way to improve my genetic algorithm?有没有办法改进我的遗传算法?
【发布时间】:2018-03-02 22:36:26
【问题描述】:

我对 GA 很感兴趣,想自己做。
这是我要完成的任务:
我有一个“世界”16x16 领域。我创建了 16 个带有随机基因的机器人。每个基因是一个数组,有 4 个数字,从 1-19(16-19 将转向机器人方向,1-15 是机器人将在指定方向上移动的字段数量)。在这个词中,我采取了一个随机的位置,并试图使从领导者机器人到目标的距离尽可能小。

我创建新一代的方式:

  1. 挑选距离最短的 8 个 bot 放入下一代(无交叉)

  2. 为我在 '1)' 中挑选的 8 个最佳机器人做交叉(所以我得到了 8 个新机器人)

  3. 随机变异 2 个交叉机器人,最后将它们放入下一代。现在我有 16 个新一代机器人。

问题是:我在所有尝试的 1/100 中只得到距离 == 0。但是我经常得到距离1和2(我等到第1000代然后我放弃了,再试一次) 有没有办法改善这一点?还是不能用 GA 做得更好?

【问题讨论】:

  • 向我们展示您的尝试

标签: algorithm artificial-intelligence genetic-algorithm


【解决方案1】:

有很多事情出错了。

一些通用的cmets

  1. 遗传算法通常是算法专家的最后一招。当 Dijkstra(最适合您的用例)、线性规划、特定约束满足技术等都失败时,您可以使用它们。据推测,您使用它们是因为您想探索这个区域。

  2. 使用遗传算法的人很少期望他们实现解决方案的全局最优。 “好”的局部最优值通常是你能做的最好的。 GA 会很容易地找到这些,但很难“归零”在解决方案上。 (加州大学伯克利分校的计算机科学家 Papadimitriou 表明,进化实际上并没有最大化适应度,而是最大化基因的混合性。)

交叉与突变

Crossover 用于交换已知有效的基因组的大部分。突变细化了基因组的片段。粗略地说,交叉可以帮助您结合两个好的解决方案,希望这将快速引导您找到更好的解决方案,而变异则探索解决方案附近的空间。

Crossover 还可以破坏一个好的解决方案,方法是将其分成两个独立没有意义的部分,或者将两个部分组合起来产生无意义的输出。

在许多情况下,突变足以探索整个空间,尽管速度很慢。在您的空间中就是这种情况,因为分数随着与目标的距离而单调递减。在更复杂的空间中,交叉可能会帮助您跨越局部最小值之间的障碍。

放在一起

我的建议是您在一定时间内减少人群中的交叉数量。最初,交叉可能会帮助您在进展中获得一些快速的收益。但是,随着时间的推移,尤其是在模拟接近尾声时,您将需要精细的改进。这种技术类似于simulated annealing

【讨论】:

  • selection 不是已经应该照顾坏人了吗?那么为什么要从长远来看降低交叉率,当它被设计为逃避局部最小值/最大值时,因此它随着搜索的进展变得越来越重要?
  • @Patrick:每一代中被选中的个体的比例有助于确定收敛速度。关于模拟退火的文章值得一读。另外,我没有在回答中明确说明这一点,但是由于 OP 的目标是凸的,因此没有局部最小值可以逃脱。
【解决方案2】:

我想根据我在 GA 方面的经验添加一些内容。 在我的研究中,我发现使用“精英选择”来创建 N+1 代通常也会在解决方案上造成一个平台:确实,您正在严格且非常快速地达到最佳解决方案,但您可以找到一个局部最小值并在那里保持阻塞(见图中的橙色)。

所以我做了什么:我添加了一个随机步骤(超过最佳元素的交叉和变异),其中显然解决方案更差,但可以产生一个新的最小值,可以是全局最小值(你的零,图片中的绿色跳跃)

你能做什么?尝试在 N+1 代中使用 7 个最好的元素,而不是从 N 代中选择 8 个随机元素(可能是最差的)。

【讨论】:

    【解决方案3】:

    是时候调试进化了!

    最终解决方案(路径)是什么样的?我想,他们只能去 NSEW。如果是这样,那么很容易陷入本地(一两个)解决方案中。

    此外,观察最佳解决方案如何随时间演变也会很有用。这可能非常有见地(而且看起来很有趣!)

    祝调试顺利!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-25
      • 2012-07-07
      • 2011-02-22
      • 1970-01-01
      • 2020-03-25
      • 2021-11-04
      • 2018-11-15
      • 2018-07-14
      相关资源
      最近更新 更多