8

我一直在這裏和那裏讀一些東西,關於使用「蟻羣」模型作爲啓發式方法來優化各種類型的算法。但是,我還沒有找到一篇文章或書籍,以介紹性的方式討論蟻羣優化問題,甚至還有很多細節。任何人都可以在一些資源中指出我可以更多地瞭解這個想法嗎?我在哪裏可以瞭解有關「蟻羣」優化的更多信息?

回答

5

爲了避免你知道德語的機會(是的,抱歉...),我和一個朋友寫了一篇關於這個題目的文章,我自己覺得這很有道理。文本和代碼使用TSP的例子來介紹這個概念。

即使如果您不知道德語,請查看代碼和文本中的公式,這可能仍然有用。

+0

感謝這個環節!不幸的是,我的德語僅限於我在中學學到的東西(想討論天氣?),但谷歌翻譯在文章上做得很好。 – MattK 2009-01-14 21:37:21

1

嗯,我發現了一個ACO算法有用的Homepage of Eric Rollins和他的不同實現(Haskell,Scala,Erlang,...)。 另外還有Enrique Alba的書,名爲「並行Metaheuristics:一類新算法」,您可以在其中找到關於ACO算法及其不同用法的整個章節。

H個

5

link Wikipedia居然讓我開始。我讀了這篇文章,並開始編碼。我正在解決旅行推銷員問題的一個邪惡變化。這是一個驚人的元啓發式。基本上,任何類型的可以放入圖形中的搜索問題(節點&邊緣,對稱或不對稱)都可以用ACO解決。

尋找全球和本地信息素之間的區別。本地信息素阻止一代螞蟻從同一條路徑穿越。他們保持模型不會收斂。全球信息素是吸引人的,每一代應該至少捕獲一隻螞蟻。他們鼓勵幾代人的最佳途徑。

我有最好的建議,就是玩這個算法。設置一個基本的TSP解算器和一些基本的羣體可視化。然後有一些樂趣。在概念上與螞蟻一起工作是很酷的。你編程他們的基本行爲,然後將其設置爲鬆散。我甚至喜歡他們。 :)

ACOs是一種貪婪的遺傳算法形式。和他們一起玩。改變他們的交際行爲和打包行爲。您將迅速開始以完全不同的方式看到網絡/圖形編程。這是他們最大的收益,而不是大多數人看到的。

你只需要玩它真正理解它。研究論文僅對天文學有一個全面的瞭解。就像一輛自行車一樣,你必須開始騎行。 :)

到目前爲止,ACO是我最喜歡的圖形問題抽象。

相關問題