作者介绍了负信息素沉积(在上述论文第2页第2列中提到)。但我不明白它是什么或者它在哪里被使用!在论文中,也没有详细讨论它,我也在Google中搜索了。它是什么,我们在哪里会使用它?我们已经在进行信息素沉积和蒸发。
仅凭快速浏览您提供的论文,我无法告诉您他们如何准确地实现负信息素。有几种方法,可能最常见的通用方法是选择生成的最差路径,并为它们的所有格子提供负信息素,而不是常规的正信息素。不过,在选择基于两种不同信息素水平计算移动可能性的函数时,仍存在设计选择...
在给定的论文中,听起来他们采取了类似的方法,并从相应的格子中减去信息素,而不是添加第二个负信息素。因此,他们不需要更改确定移动到相邻格子的可能性的函数。
在目标寻求算法中(在第2页中),信息素沉积是在所有蚂蚁移动到下一个位置之后以及蒸发之后进行的。那么,在那个时候,沉积信息素是通过迭代所有蚂蚁并更新其当前位置中的信息素浓度来进行的,是吗?
在目标寻求算法中(在第2页中),作者谈到检查是否满足终止条件。那么,这是否意味着检查蚂蚁是否已经到达目标(即目标位置)?如果是,执行应该终止。是吗?
所有蚂蚁都会移动,直到它们全部到达目标位置,或者满足某些其他终止条件。例如,您可能决定仅等待至少90%的蚂蚁到达目标位置,或者您可能包括最大步数。
根据(5)在每个格子上蒸发信息素。
现在考虑所有蚂蚁到达目标的路径。根据给定的函数(3)或(4)向所有使用的格子添加信息素,具体取决于您是否想鼓励这条特定路径(例如,所有未达到目标的蚂蚁都是负信息素的好候选者)。
Apart from that, I didn't understood what he meant by these three lines in the goal seeking algorithm in page 2:
Control ant distance from wall
Prevent backtracking
Prevent 4 square looping
在选择下一步要移动到的瓷砖时,它们会限制选择。他们想要与所有墙壁保持最小距离,因此他们忽略直接邻近墙壁的选择(或者从墙壁某些距离处开始忽略,不知道为什么他们选择在算法的这一点上包括这个...)。他们还禁止蚂蚁来回走动,因此前一个瓷砖是被禁止的 - 以及4个瓷砖组成的循环(即由四个瓷砖组成的循环)。
编辑-算法的一个可能实现可以执行以下操作(其中我已经为您选择了停止准则和负信息素的选择)
initialize all cells pheromone levels to some constant > 0
repeat
set all ants to start location and erase their history
repeat
for every ant do
if this ant is at the goal skip it
make list of all neighbouring cells that are
1. not too close to a wall
2. not equal to the previous cell
3. not equal to the cell that was visited 3 moves before
calculate probability for all cells in this list
choose next cell according to these probabilities
update current position and history
end for
until 80% of all ants have reached the goal
evaporate pheromones
for every ant do
if it reached the goal
add pheromones to all cells in this ants history according to (3)
else
substract pheromones accoring to (4)
end for
until length of shortest path has not changed for M iterations
希望这能让事情更清楚一些。在选择要排除的邻居时,我会更改条件2和3,以排除此蚂蚁已经访问过的任何单元格 - 但这是个人偏好...