前言
最近学习了一些元启发算法,感觉这些算法的原理都挺有趣的
结合了物理,生物学的现象
(不得不感叹一下前人的脑洞)
爬山算法
先来讲下爬山算法。
考虑这样一个问题:
假设有一个函数 f(x) 如何求它的最大值?
画出它的图像如下:
每次在当前位置的两侧判断是否比当前更高
就像爬山一样往高处爬,最终会到达一个较高的位置
但是这通常不是整体最优解,而是局部最优解
像这样:
登山者到第一个峰就认为自己登顶了,却没有到达箭头所指的最高点
这就是爬山算法的缺陷
由于爬山算法缺陷巨大,故在一般情况下不使用
何为“退火”?
根据物理学原理,一个高温物体