gpt4 book ai didi

algorithm - 蚁群优化问题 : how to output results correctly, 算法的结果是什么等

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:46:15 24 4
gpt4 key购买 nike

我在做蚁群优化算法。我有几个问题。我试着搜索 throw , 但一无所获。

1 — 算法的结果是什么?

我有一些图表,我需要找到从起点到终点的最佳路径,对吗?该算法不像 dijkstra 算法(找到一条最短路径)那样工作。这其中有一个概率因素。经过 10 个周期和 5000 只 Ant 可以选择最差路径,尽管如此,更好路径上的信息素将多 1000 倍。我的意思是第 5000 只 Ant 可以选择路径 1 -> 3 -> 5(平均概率为 1%),尽管如此,4999 只 Ant 选择了 1 -> 2 -> 5(99% 的概率)。这只是一个例子。所以问题是如何检测最优化的(最好的,在某些参数上最好?)路径,我应该检测它还是我的示例中的 1 -> 2 -> 5 是正确的结果(发生...... ) 并且我必须输出最后选择的路径?

2——结果应该如何输出

这个答案可能取决于第一个答案。怎么样?我假设,我必须输出每个周期的工作算法和协议(protocol)的总摘要。

摘要数据将是:

Path found: Yes/no
Path: path/message, that best path is not found
Iteration: N

协议(protocol)将是:

Start data for iteration 3
Pheromone level for this iteration
Path found on this level or not (?)
Path on this iteration (?)
End data for iteration 3

Start data for iteration 2
Pheromone level for this iteration
Path found on this level or not (?)
Path on this iteration (?)
End data for iteration 2


Start data for iteration 1
Pheromone level for this iteration
Path found on this level or not (?)
Path on this iteration (?)
End data for iteration 1

有什么建议吗?请帮我处理每次迭代的输出数据。

3 — 信息素水平达到一定值时停止增长

为什么会这样?例如(500 只 Ant ),最佳路径上的信息素水平增长到大约 10 个搜索步骤(周期),然后变得稳定。这是好的行为还是意味着我的算法中存在一些错误?如果没有错误,为什么会出现这种行为?

4 — 我的程序架构

我认为好的方法是创建 onclick 处理程序,它调用算法的 NEXT STEP(下一个循环)。我看到一些例子,它在某个时候循环(不记得链接,不能给你看 :'( 现在)。我的方法是可以接受的还是完全错误的?

最佳答案

1) 您通常会存储所有迭代的最佳路径(如 Elitist Ant System 等),这也是最终结果。

2) 循环是指迭代吗?无论如何,至于“是否在此级别找到路径”,我首先只允许成功(完整)的路径,或者让所有 Ant 运行直到每只 Ant 都找到一个并切断循环。否则放置信息素和记录路径在这里没有多大意义,我认为。因此,我建议记录每次迭代的最佳路径长度(以及要放置的信息素)和该路径的顶点,当然。

3) 通常,如果信息素停滞不前并且在一定次数的迭代中没有找到更好的解决方案,您就会破坏算法。

4)当然没有错。我也在某处看到了一个在线实现,但有点失望的是你不能一步一步地看 Ant ......

关于algorithm - 蚁群优化问题 : how to output results correctly, 算法的结果是什么等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23142212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com