爬山算法是一种局部择优的方法,采用启发式方法,是对深度优先搜索的一种改进,它利用反馈信息帮助生成解的决策。

爬山算法一般存在以下问题:

  1. 局部最大
  2. 高地:也称为平顶,搜索一旦到达高地,就无法确定搜索最佳方向,会产生随机走动,使得搜索效率降低。
  3. 山脊:搜索可能会在山脊的两面来回震荡,前进步伐很小。

解决方法:随机重启爬山算法