ACO

   ACO(Ant Colony Optimization),蚂蚁算法在解决TSP问题上发挥了它的亮点,我们不得不佩服做仿生学的那些科学家,从鸟到飞机的诞生,从蜻蜓到直升飞机,又从观察蚂蚁的习性从而创作出的蚂蚁算法解决最佳化问题。
   蚂蚁算法的提出之前,科学家们做了很多的实验,实验发现,当蚂蚁去寻找食物的时候,遇到了障碍物,蚂蚁会分成两路,一路从障碍物的左侧走,另一路则会从障碍物的右侧走,这两侧左侧会比右侧绕远一些,经过一段时间后会发现,所有的蚂蚁都从右侧走了,经过研究,蚂蚁在走的过程中会释放荷尔蒙,后面的蚂蚁嗅到气味后,会沿着荷尔蒙的味道来行走,而荷尔蒙是会挥发的,所以距离长的,挥发的相对多,留下的气味就相对淡,而距离近的,气味就重,慢慢的蚂蚁都会往味道浓的地方回笼,从而出现了以上的现象。
   蚂蚁通过它的习性,能够很快地找到到达食物的最短路径,通过这些启发,研究出了蚂蚁算法来解决最短路径的问题。具体的方法是:
  (1)首先初始化蚂蚁,随机分布在每个点上。(假设有多少个点,初始化多少只蚂蚁)
  (2)然后随机向邻近的边去走,直到再次回到出发点,这样的过程完成后会形成一次旅行。
  (3)计算每条路径经过的边的荷尔蒙的总的浓度。(所有蚂蚁走过的留下的荷尔蒙的总浓度)
  (4)不要忘记随着时间的变动,荷尔蒙的浓度是在降低的。
  (5)销毁原先蚂蚁,生成新蚂蚁,根据上面的来继续执行,但是这回的选择会受到荷尔蒙的影响,而去选择相应的路径。

   最终会得到好的路径!

你可能感兴趣的:(算法,ant)