机器智能-高频问题-局部搜索算法

首先,什么是局部搜索算法?

某些问题中,不是找到目标状态的路径,而是目标状态本身
a、从当前状态出发,通过行为到达他的邻近状态而不保留搜索路径
b、优点:很少的内存、能在很大或无限的状态空间中找到合理的解

爬山法

只要发现上坡就向上爬,直到当前位置周围只有下坡
空间复杂度不高
不一定找得到最优解,只能找到局部最优解
不完备,比方说n皇后问题
这个很好理解吧,我就不做解释了

模拟退火算法

爬山法每次都向当前最优方向,也就是路径是一定的,因此可能陷入局部最优
模拟退火算法是爬山法和随机法的结合
思想:允许算法向坏的方向移动以摆脱局部最优值,但是这种移动随着时间的推移概率逐步下降(1、随着时间的推移,距离最优点越近;2、在邻近最优点的时候,算法容易发生震荡而不收敛);最初允许更大概率选择坏方向,随着时间推移向好方向。
算法初期向坏的方向移动更加有利于找到全局最优
模拟退火算法每执行一次基本都不同
如果时间下降的足够慢,则可以找到最优值(这个有待考证)
简单地将,在爬山的过程中,不定时地向山下走两步

发布了275 篇原创文章 · 获赞 160 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_40851744/article/details/104741549