【问题标题】:How to replace inadmissible solutions?如何替换不可接受的解决方案?
【发布时间】:2010-09-10 17:48:17
【问题描述】:

我正在构建一个遗传算法来最大化一个数学函数。 初始人口是随机选择的,比如说 20 个人。 最好的留给下一代。 进行了 18 场比赛,以便之后个人可以随机 选择形成九对。 从九对中,九个孩子“出生”。 这是我的问题。这些孩子中有几个不符合入学条件 标准。 我决定从下一代中删除这些元素。 我需要的建议是关于更换那些 因不可受理而被删除。 我曾想过随机生成新个体。 您还有其他想法吗?

路易斯

【问题讨论】:

    标签: algorithm genetic-algorithm evolutionary-algorithm


    【解决方案1】:

    取决于你想要做什么,你可以继续生成随机对,直到你得到 9 个“可接受的”“孩子”,或者你可以把它们扔掉,只让“可接受的”孩子前进。那将更具进化性。

    【讨论】:

      【解决方案2】:

      您为什么不实施某种临时交叉以生成“可接受的”后代?

      这是标准做法。但如果这个建议不合适,您能否阐明您所说的“不可接受”是什么意思?

      【讨论】:

        【解决方案3】:

        我不使用有性生殖,我认为这就是你正在做的事情。我让好人保持不变地存活到下一代,坏人被好人的突变所取代(通常从每个人中创造出“孩子”,顺序好于一个阈值,所以孩子们并不都是相关的对同一个“好”个人)。请注意,通过突变,我的意思是对一个好的“生物”的属性进行随机的小改动,而不是创建一个新的完全随机的个体。至少在我看来,这模拟了无性繁殖的个体,并将少量突变引入儿童的 DNA。弄清楚需要多少突变是您必须尝试的事情。具有更多世代和较低突变率的较大种群似乎效果更好,但情况并非总是如此。

        【讨论】:

          猜你喜欢
          • 2016-10-03
          • 2018-11-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-01
          • 2013-09-09
          • 1970-01-01
          • 2013-08-25
          相关资源
          最近更新 更多