模拟退火,蚁群对比
参考回答:
先给出一种求最优解的方法,在寻找一个最优解的过程中采取分段检索的方式,在可行解中随机找出来一个,然后在这个解附近进行检索,找到更加优化的解,放弃原来的,在新得到的解附近继续检索,当无法继续找到一个更优解的时候就认为算法收敛,最终得到的是一个局部最优解。
蚁群算法:很显然,就是模仿蚂蚁寻找食物而发明的算法,主要用途就是寻找最佳路径。先讲一下蚂蚁是怎么寻找食物,并且在寻找到了食物后怎么逐渐确定最佳路径的。
事实上,蚂蚁的目光很短,它只会检索它附近的很小一部分空间,但是它在寻路过程中不会去重复它留下信息素的空间,也就是它不会往回走。当一群蚂蚁遇到障碍物了之后,它们会随机分为两拨,一波往左一波往右,但是因为环境会挥发掉它们的信息素,于是,较短的路留下的信息素多,而较长的路因为挥发较多,也就留下得少了。接下来,蚁群就会趋向于行走信息素较多的路径,于是大部分蚂蚁就走了较短的路了。但是蚁群中又有一些特别的蚂蚁,它们并不会走大家走的路,而是以一定概率寻找新路,如果新路更短,信息素挥发更少,渐渐得蚁群就会走向更短的路径。
以上就是蚂蚁寻路的具体过程。把这个过程映射到计算机算法上,计算机在单次迭代过程中,会在路径的节点上留下信息素(可以使用数据变量来表示)。每次迭代都做信息素蒸发处理,多次迭代后聚集信息素较多的路径即可认为是较优路径。