爬山算法 - 学习笔记
在信息竞赛中,如何计算一个函数的最大/小值呢?
解决这个问题,可以用三分等解决,也可以用本博客介绍的算法——爬山算法,来解决。
爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。
爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如图所示:
假设B点为当前解,爬山算法搜索到B点这个局部最优解就会停止搜索,因为在B点无论向那个方向小幅度移动都不能得到更优的解,所以忽略了C点左侧的最优解。
例题:
下次再写。