爬山算法的局限性是什么?如何克服它们?


Answers:


6

正如@nbro已经说过的那样,“爬山”是一系列本地搜索算法。因此,当您在问题中说“爬山”时,我假设您正在谈论标准的爬山。标准版本的爬坡有一些局限性,通常会卡在以下情况中:

  • 局部最大值:爬山算法在附近达到局部最大值,被拉向峰并陷入那里,没有其他可去之处
  • 脊线:这些是局部最大值的序列,使算法难以导航。
  • 高原:这是一个平坦的状态空间区域。由于没有上坡路,算法经常会在高原上迷路。

为了解决这些问题,已经开发了爬山算法的许多变体。这些是最常用的:

  • 随机爬山是从上坡运动中随机选择的。选择的可能性随上坡运动的陡峭程度而变化。
  • 首选爬升通过随机生成后继者直到找到更好的后继者来实现上述目的。
  • 从随机生成的初始动作中进行随机重启爬坡搜索,直至达到目标状态。

爬坡算法的成功取决于状态空间景观的体系结构。每当最大值和平稳位置很少时,爬山搜索算法的变体就可以很好地工作。但是在现实世界中,问题的情况看起来更像是分散在平坦地板上的豪猪家族的分散家庭,每个豪猪针的针尖上都有微型豪猪(如《人工智能:人工智能》第4章所述)现代方法)。NP-Hard问题通常具有成倍数量的局部最大值,因此难以解决。
已经开发出给定算法来克服这些问题:

  • 受激退火
  • 局部光束搜索
  • 遗传算法

参考书-人工智能:现代方法


还有更多的替代方法可以克服爬山的问题。即排列组,模式数据库和基于语法的搜索。他们使用特定于领域的知识在状态空间中更快地进行搜索。
Manuel Rodriguez

是@ManuelRodriguez。依赖于领域特定知识的算法可提供出色的结果。但是,我试图保持对通用问题的答案,只提到了克服爬坡搜索限制的几种方法。
格尼斯

5

爬山不是一种算法,而是一系列“本地搜索”算法。属于“爬坡”算法类别的特定算法是2 opt,3 opt,2.5 opt,4 opt,或者通常是任何N opt。有关这些局部搜索算法(适用于TSP)的更多详细信息,请参见论文“ 旅行商问题:局部优化中的案例研究 ”(由David S. Johnson和Lyle A. McGeoch撰写)的第3章。

该类别中一种算法与另一种算法的区别是它们使用的“邻域函数”(简单来说,就是它们找到给定解的邻域解的方式)。请注意,实际上并非总是如此:这些算法通常具有几种不同的实现。

爬山算法最明显的限制是由于其性质,即它们是本地搜索算法。因此,他们通常只找到局部最大值(或最小值)。因此,如果这些算法中的任何一个已经收敛到局部最小值(或最大值),并且在解或搜索空间中,都存在一个与该找到的解接近的更好的解,那么这些算法都将找不到该解。更好的解决方案。他们基本上将被困。

本地搜索算法通常不单独使用。它们被用作其他元启发式算法的子例程,例如模拟退火,迭代局部搜索或任何蚁群算法。因此,为了克服它们的局限性,我们通常不单独使用它们,而是将它们与其他算法结合使用,这些算法具有概率性并且可以找到全局最小值或最大值(例如,任何蚁群算法)。


好答案(+1)!您可以推荐一种资源(YouTube,博客文章,仲裁论文,书籍)来了解蚁群算法吗?我从来没有听说过,并且想对它们有一个大概的了解。
Martin Thoma

1
@MartinThoma恐怕我真的不了解ACS的非常不错的教程。也许您可以从以下简短的教程和相应的实现开始:cleveralgorithms.com/nature-inspired/swarm/…。如果您还对适用于TSP的更严肃的实现感兴趣,那么请看一下它:aco-metaheuristic.org/aco-code,由Stützle(及其他公司)实现,它是开发的贡献者之一这些技术。
nbro

询问者知道,爬山的正式定义是什么,因为他已经阅读了Wikipedia文章。问题更多地涉及如何将其用于人工智能。众所周知,爬山只能在局部空间进行搜索,这使得AI相关问题变得很困难。通常,搜索陷入局部最优状态,这意味着找不到“旅行推销员”问题中的最短路径。
Manuel Rodriguez

1
@MartinThoma无论如何,您也可以看看研究论文。我只能告诉您一些重要的研究人员:Dorigo(第一个介绍这些技术的人员,AFIAK),Gambardella和Stützle。看他们的论文。我不确定要建议哪个。另外,如果您真的想深入研究细节,则有一本专门研究群体智能的书(作者Bonabeau)。
nbro
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.