# 爬山算法

> 爬山算法是一种局部择优的方法，采用启发式方法，是对深度优先搜索的一种改进，它利用反馈信息帮助生成解的决策。透过爬山算法解决凸问题的算法包括线性规划的单体法和二分查找。爬山算法一般存在以下问题：。局部最大。高地：也称为平顶，搜索一旦到达高地，就无法确定搜索最佳方向，会产生随机走动，使得搜索效率降低。山脊：搜索可能会在山脊的两面来回震荡，前进步伐很小。解决方法：随机重启爬山算法。

- ID: m04304
- 分类: technical
- 领域: 算法

## 定义

一种简单的贪心搜索算法。从当前位置开始，总是向着“更高”（更优）的方向移动，直到达到一个局部最高点。脚手架作用： 揭示了短视优化的局限。虽然爬山法效率高，但它极易陷入局部最优（一座小山丘），而看不到远处更高的主峰。它隐喻了如果不愿暂时“下山”（承担短期损失），就永远无法攀登真正的巅峰。

## 机制

局部搜索优化算法：从一解出发，沿邻域中选使目标更好的方向逐步移动，直到无法改进（局部最优）；简单但易陷局部极值。

## 练习

定义目标函数与邻域；迭代向更优邻点移动；遇 plateau/局部最优时引入随机重启或扰动跳出；适合快速近似。

## 脚手架用法

揭示了短视优化的局限。虽然爬山法效率高，但它极易陷入局部最优（一座小山丘），而看不到远处更高的主峰。它隐喻了如果不愿暂时“下山”（承担短期损失），就永远无法攀登真正的巅峰。

[阅读网页](https://thinkingmodels.site/entries/detail/m04304)
