在蚁群算法中,第k只蚂蚁应该做什么?

  • 本文关键字:蚂蚁 算法 蚁群 algorithm
  • 更新时间 :
  • 英文 :


我是这个社区的新手,所以希望我能得到这个问题的答案。我一直试图在c++中编写蚁群优化算法,但我没有得到这个想法。这是我对算法的理解:首先,蚂蚁从图的原点(主要城市)开始,直到到达目标。-然后,另一只蚂蚁被发射出来。但是接下来会发生什么呢?我是说,蚂蚁是沿着轨迹走还是一直随机选择边缘?我的意思是,我不知道如何编码,让蚂蚁更有可能选择一条边,而不是另一条。

有人能帮我一下吗?我已经读了维基链接一千遍了,但仍然不明白这个意思,而且不容易理解,因为我没有研究过概率。

谢谢

蚁群算法背后的思想是

1)所有边开始时没有气味

2)蚂蚁走到边缘会给它一些额外的气味

3)气味随着时间的推移而衰减

4)如果一只蚂蚁有多条路径可供选择,它会根据每条路径上的气味数量随机选择——但随机选择。

想象一下。

假设一条没有气味的路的权重为1,一条气味单位为1的路的权重为2。

蚂蚁看到四条路径,但第一条路径只有一个气味单位。

权重为:2,1,1,1

总重量= 5

选择路径1的几率= 2/5 (40%)

选择路径二的概率= 1/5(路径三、四、五相同)(20%,20%,20%)

显然,你可以使用任何你喜欢的函数,多少气味被添加到一个边缘取决于它有多少气味,多少气味衰减取决于它有多少气味,以及多少气味的重量(如果有任何其他可以导致路径被称重,如静态评估函数)

最新更新