“爬山”和“分支定界”搜索算法有什么区别?

时间:2013-01-30 17:51:08

标签: algorithm search artificial-intelligence computer-science heuristics

爬山搜索和分支绑定是人工智能中使用的两种启发式搜索算法。这两种方法有什么区别?

2 个答案:

答案 0 :(得分:14)

爬山搜索的工作原理是首先猜测解决方案,然后迭代地对其进行局部更改,直到找到解决方案或启发式陷入局部最大值。有许多方法可以避免卡在局部最大值中,例如并行运行多个搜索,或者概率性地选择后继状态等。在许多情况下,爬山算法会快速收敛到正确的答案。但是,这些方法都不能保证找到最佳解决方案。

分支定界解决方案的工作原理是将搜索空间切割成碎片,探索一块,然后根据每次搜索时获得的信息尝试排除搜索空间的其他部分。他们保证最终找到最佳答案,但这样做可能需要很长时间。对于许多问题,基于分支定界的算法工作得很好,因为少量信息可以迅速缩小搜索空间。

简而言之,登山并不能保证找到合适的答案,但往往跑得非常快并且给出了很好的近似值。分支和绑定始终找到正确的答案,但可能需要一段时间才能完成。

希望这有帮助!

答案 1 :(得分:3)

爬山的工作原理如下: Hill climbing 使用修剪(这是一种简单的分支和绑定形式)的深度优先搜索工作方式如下: Branch and bound

分支和绑定通常不会扩展到1000+个变量和1000+个值。爬山确实如此,但gets stuck in local optima可以通过添加禁忌搜索来修复。

相关问题