问题标签 [ant-colony]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
73 浏览

artificial-intelligence - 沉积在边缘上的信息素量是否应该取决于 ACO 中节点之间的距离?

我正在测试我构建的 ACO,我注意到如果我使用相同的图表,但如果我在计算旅行距离时使用米而不是厘米,我的 AC 存款的信息素量会发生变化。这似乎是错误的,但在阅读了文献后,我不确定我错过了什么。

例如,这里是以米为单位的信息素更新计算:

然后在 CM 中:

它也适用于放大图表。如果所有距离都加倍,您会期望 ACO 执行相同的操作,但是这又会改变信息素更新计算并影响选择游览边缘时使用的游览边缘距离和信息素计数启发式之间的平衡。

关于如何解决这个问题的任何想法?

0 投票
1 回答
313 浏览

artificial-intelligence - 在 MAX-MIN 蚂蚁系统 (MMAS) 中,如果尚未找到初始信息素,它如何依赖于最佳解决方案?

我正在学习如何将最大最小蚂蚁系统添加到我当前的蚂蚁系统中。根据我的阅读,试用信息素初始化为 tMax,tMax 由以下公式计算,

但是,如果跟踪信息素依赖于尚不存在的游览,那么究竟如何将跟踪信息素初始化为 tMax?

tMin 还取决于 tMax,这也使得在没有最佳解决方案的情况下无法初始化。

0 投票
0 回答
38 浏览

ant-colony - 如何为蚁群聚类WSN中的每个传感器节点分配属性?

我正在研究用于传感器网络节点中 WSN 聚类的粒子群蚁群系统我给每个传感器节点 x 和 y 坐标

我不知道,如何根据节点计算中心的方程分配每个传感器节点属性,有人可以帮助我吗?

0 投票
1 回答
335 浏览

c++ - 如何为ns2.35添加反义协议?

我正在努力ns2.35/ubuntu 14.04 LTS。我想在 NS2 中添加(ant-sense蚁群优化)模块 INCLUDES & OBJ_CC当在终端中输入 make 得到这个错误

make: 找不到 gcc 命令

使:*** [tcp/linux/tcp_naivereno.o] 错误 127

0 投票
0 回答
169 浏览

java - 在java中使用蚁群系统查找路径街道

我有道路的名称,它们是相连的

我如何获得 A - J 的路径?我正在尝试使用蚁群优化来找到最好的街道。任何人都可以帮我解决这个问题吗?或者也许你有关于蚁群优化的参考,以找到最好的街道。

0 投票
2 回答
171 浏览

algorithm - 实现随机 ACO 算法

我正在尝试实现一个随机蚁群优化算法,但我无法确定如何根据概率实现运动选择。

到目前为止,我已经实现的标准(贪婪)版本是,在图的顶点处的蚂蚁是m边集,将根据以下标准选择下一个顶点:iG = (V,E)E(i, j)j

我遇到的问题是尝试实现它的随机版本,因此现在选择新顶点的标准j是:

我了解它背后的数学原理,我只是无法弄清楚我应该如何实际实现它。

如果说,我有 3 个顶点连接到i,每个顶点的概率为 0.2、0.3、0.5 - 进行选择的最佳方法是什么?我应该只是随机选择一个顶点,然后在 (0,1) 范围内j生成一个随机数,如果,选择顶点?或者,还有更好的方法?rr >= P(j)j

0 投票
0 回答
244 浏览

python - 在 python 中使用现有代码进行蚁群优化时出错得到错误 dytpe datum not found

我从网上得到的代码是:

谁能给我一个解决方案?

0 投票
1 回答
105 浏览

algorithm - 是否可以用蚁群优化代替OSPF路由协议的算法?

如果可能的话,你能分享你所知道的并建议我应该从哪里开始。谢谢

0 投票
2 回答
1071 浏览

algorithm - 信息素规则在蚁群系统中是如何应用的?

我正在审查Dorigo & Gambardella (1997)关于蚁群系统 (ACS) 的论文。信息素更新规则有两种:局部更新和全局更新。但是,我并不清楚每个应该如何应用。

本地更新

据我所知,有3个选项:

  1. 更新为蚂蚁建立一个旅游,即移动到一个新的城市之后。(正如第 56 页的文字所建议的那样)
  2. 在一只蚂蚁建立游览后更新,在下一只蚂蚁开始之前。(如第 55 页图 3 所示)
  3. 在所有蚂蚁都建立了游览之后更新。(如附录 A 中指定的那样,将使该算法像它声称的那样最可并行化)。

哪个选项是预期的?

全局更新

从文本(等式 4,第 56 页)和附录中也不清楚更新规则的信息素蒸发部分是否适用于所有边缘或仅适用于全球最佳游览上的边缘。

在全局更​​新规则下,所有边都会蒸发吗?

编辑

从那以后,我发现这个GitHub 存储库似乎包含 Dorigo 的原始代码,其中似乎发生了以下规则:

  1. 当每只蚂蚁过渡到一个新城市时,本地更新(蒸发+沉积)(即上面的选项1)。
  2. 所有边缘的全球蒸发(或仅在设置某些标志的情况下关闭城市)。
  3. 仅沿全球最佳巡回赛进行全球更新(蒸发+沉积)。

这更令人困惑,因为它表明正在发生双重(甚至三重)蒸发。

0 投票
1 回答
195 浏览

c# - 蚁群执行期间在winforms中动态绘制蚂蚁

在为我在 c# 中的个人蚁群项目提出这个问题(在 C# WinForm 项目中显示移动像素的轨迹)之后,我正在尝试应用第二个建议的解决方案:将轨迹绘制成位图和新蚂蚁到表面。

上面的代码显示了将蚂蚁运动绘制成 winform 的图形尝试。它完美地工作,但它只显示最终结果。我想展示一步一步的演变,在不重新解析我的地图信息的情况下保持图形轨迹信息。

请考虑我开发此“图形界面”的工作控制台项目已经存在,因此:

  • 一些变量设置在项目的其他地方(即:食物);
  • `a.Move(j);` 指的是蚂蚁逻辑本身(分析、决策、新单元格移动指的是地图数组);
  • `j` 计数器用于计算步数和设置任意停止,但没有实际用途;
  • 我已经将有关信息素、运动、位置等的所有信息存储到地图数组和其他一些变量中。