Random 遗传算法与随机选择和优胜劣汰有什么不同?

Random 遗传算法与随机选择和优胜劣汰有什么不同?,random,selection,genetic-algorithm,Random,Selection,Genetic Algorithm,我学习遗传算法已经两个月了。我知道初始种群的创建、选择、交叉和变异等过程,但无法理解我们如何能够在每一代中获得更好的结果,以及它与随机搜索最佳解决方案的不同之处。下面我用一个例子来解释我的问题 让我们以旅行推销员问题为例。假设我们有几个城市,比如X1,X2…X18,我们必须找到最短的旅行路线。所以,当我们在选择最合适的人后进行交叉时,我们如何知道交叉后我们会得到更好的染色体。突变也是如此 我觉得这只是一个城市的安排。计算旅行的最短距离。然后存储距离和排列。然后选择另一种安排/组合。如果比上一个排

我学习遗传算法已经两个月了。我知道初始种群的创建、选择、交叉和变异等过程,但无法理解我们如何能够在每一代中获得更好的结果,以及它与随机搜索最佳解决方案的不同之处。下面我用一个例子来解释我的问题

让我们以旅行推销员问题为例。假设我们有几个城市,比如X1,X2…X18,我们必须找到最短的旅行路线。所以,当我们在选择最合适的人后进行交叉时,我们如何知道交叉后我们会得到更好的染色体。突变也是如此

我觉得这只是一个城市的安排。计算旅行的最短距离。然后存储距离和排列。然后选择另一种安排/组合。如果比上一个排列好,则保存当前排列/组合和距离,否则放弃当前排列。通过这样做,我们将得到一些解决方案

我只想知道随机选择和遗传算法的区别在哪里。在遗传算法中,是否有任何标准我们不能选择我们已经评估过的城市的布局/组合

我不确定我的问题是否清楚。但我是开放的,我可以解释更多关于我的问题。如果我的问题不清楚,请告诉我


一个随机算法每次都从一张完全空白的表格开始。每次迭代都会生成一个新的随机解,而不记得以前迭代中发生过什么

遗传算法有一段历史,所以它不是从一张空白纸开始的,除非是在最开始的时候。每一代都会选择最佳的解决方案群体,并以某种方式进行变异,然后升级到下一代。人口中最差劲的人都被淘汰了


遗传算法建立在以往成功的基础上,因此它们能够比随机算法发展得更快。一个非常简单的遗传算法的经典例子是。它比随机机会更快地找到目标,因为每一代人都以部分解开始,随着时间的推移,这些初始部分解更接近于所需解。

我想你在问两件事。一个证明遗传算法有效的数学证明,和一个经验证明,这将免除您的担忧

虽然我不知道是否有一般性的证明,但我很肯定约翰·霍兰德在他的著作《自然和人工系统中使用二进制编码的优化问题的适应》中至少给出了一个很好的证明草图。有一种叫做。但你知道,这是启发式的,所以从技术上讲,它不一定是。它基本上说,基因型提高平均适应度的短期方案在连续几代中呈指数形式出现。然后交叉将它们结合在一起。我认为这个证明只针对二进制编码,也受到了一些批评

关于你的担忧。当然,你不能保证交叉会产生更好的结果。就像两个聪明或美丽的父母可能有丑陋愚蠢的孩子一样。遗传算法的前提是它不太可能发生。(据我所知)二进制编码的证据取决于这样一个理论,即一个好的部分模式将开始出现,并且考虑到基因型的长度应该足够长,居住在不同样本中的这些模式有机会合并成一个模式,以提高其整体适应性

我认为从TSP的角度来看,这是相当容易理解的。交叉有助于将良好的子路径累积到一个样本中。当然,这一切都取决于交叉方法的选择

此外,遗传算法通向解的路径也不是完全随机的。它通过随机机制朝某个方向移动,以逃避陷阱。如果你允许,你可能会失去最好的解决方案。它之所以有效,是因为它想朝着目前最好的解决方案发展,但你有大量的标本,它们分享着知识。它们都是相似的,但如果你保持多样性,可以将新的更好的部分模式引入到整个群体中,并纳入最佳解决方案中。这就是为什么人们认为人口多样性非常重要的原因


最后,请记住,遗传算法是一个非常广泛的主题,您可以用几乎所有您想要的方式修改基础。你可以引入精英主义、禁忌、利基等。没有唯一的方法/实施。

一般来说,选择最佳解决方案是不对的。它通常是一个随机过程,倾向于选择更好的解决方案,当然并不总是能保证这一点。@32“最佳”解决方案是那些在用于每一代对总体排序的评估算法中得分最高的解决方案。该算法可能包含一个随机元素,例如锦标赛回合。更好的解决方案将有更高的机会让他们的后代进入下一代。当然,是的,但只有精英主义才能保证最优秀的人才能够生存,剩下的就是机会。更好的解决方案有更高的机会,但不是确定性,我相信你在回答中暗示了这一点。选择不是排序,它是一个不确定的随机过程。在我看来,强调这一点很重要。