我在哪里可以了解有关“蚁群”优化的更多信息?
Posted
技术标签:
【中文标题】我在哪里可以了解有关“蚁群”优化的更多信息?【英文标题】:Where can I learn more about "ant colony" optimizations? 【发布时间】:2010-10-01 11:23:50 【问题描述】:一段时间以来,我一直在这里和那里阅读有关使用“蚁群”模型作为优化各种类型算法的启发式方法的文章。但是,我还没有找到一篇文章或书籍以介绍性的方式讨论蚁群优化,甚至是非常详细的讨论。谁能指出我可以了解更多关于这个想法的资源?
【问题讨论】:
【参考方案1】:如果你懂德语(是的,对不起……),我和一个朋友就这个主题写了一封introduction with code,我自己觉得这个主题还算过得去。文和代码以TSP为例介绍概念。
即使如果您不懂德语,请查看代码和文本中的公式,这可能仍然有效。
【讨论】:
感谢您的链接!不幸的是,我的德语仅限于我在中学学到的东西(想讨论天气?),但谷歌翻译在这篇文章上做得很好。 我认为 XKCD 漫画的翻译还不错……其余的……没有那么多。 ;-) 注意:这不是我正常说的德语。【参考方案2】:例如参见学术百科上的this article。
What is the most efficient way of finding a path through a small world graph?问题中也有讨论。
【讨论】:
【参考方案3】:《国家地理》不久前写信给an interesting article,谈论了一些理论。
【讨论】:
【参考方案4】:乍一看,这似乎与the Metropolis algorithm 密切相关(或者可能是一个特例)。所以这是另一个可能的搜索方向。
补充:This PDF file 包含对 1953 年 Metropolis 原始论文的引用。
【讨论】:
【参考方案5】:这些主题的最佳资源是Google scholar。我一直在研究蚁群优化算法,这里有一些不错的论文:
Ant Colony Optimization - A New Metaheuristic Ant Colony Optimization - Artificial Ants as a Computational Intelligence Technique只需search for "Ant Colony" on google scholar。
另外,搜索Marco Dorigo发表的论文。
【讨论】:
【参考方案6】:好吧,我发现 Homepage of Eric Rollins 和他的 ACO 算法的不同实现(Haskell、Scala、Erlang...)很有帮助。 还有 Enrique Alba 的书,标题为“Parallel Metaheuristics: A New Class of Algorithms”,您可以在其中找到关于 ACO 算法及其不同用法的整章解释。
第
【讨论】:
【参考方案7】:link Wikipedia 实际上让我开始了。我阅读了这篇文章并开始编码。我正在解决旅行商问题的一个邪恶变体。这是一个了不起的元启发式算法。基本上,任何可以放入图中的搜索问题(节点和边,对称与否)都可以通过 ACO 解决。
注意全局和本地信息素轨迹之间的差异。本地信息素阻止一代蚂蚁走同一条路。它们使模型无法收敛。全球信息素是吸引子,每代至少应该吸引一只蚂蚁。他们鼓励经过几代人的最佳路径。
我的最佳建议是简单地使用算法。设置一个基本的 TSP 求解器和一些基本的菌落可视化。然后找点乐子。从概念上讲,与蚂蚁一起工作非常酷。你对它们的基本行为进行编程,然后将它们放开。我什至越来越喜欢他们。 :)
ACO 是一种更贪婪的遗传算法。和他们一起玩。改变他们的交际行为和打包行为。您将很快开始以完全不同的方式看待网络/图形编程。这是他们最大的好处,而不是大多数人认为的秘诀。
你只需要玩弄它才能真正理解它。书籍和研究论文只能给出一般的天价理解。就像自行车一样,您只需开始骑行。 :)
到目前为止,ACO 是我最喜欢的图问题抽象。
【讨论】:
【参考方案8】:我很惊讶没有人提到 ACO 的圣经:
Marco Dorigo & Thomas Stützle: Ant Colony Optimization
本书由ACO作者编写,可读性强。你可以把它带到海滩上,享受阅读的乐趣。但它也是所有资源中最完整的,非常适合作为实现事物时的参考。
你可以阅读一些excerpts on Google Books
另一个重要的智慧来源是ACO Homepage
【讨论】:
以上是关于我在哪里可以了解有关“蚁群”优化的更多信息?的主要内容,如果未能解决你的问题,请参考以下文章
在哪里可以找到有关 D_GLIBCXX_DEBUG 和 DNDEBUG 标志的更多信息?