我一直在這裏和那裏讀一些東西,關於使用「蟻羣」模型作爲啓發式方法來優化各種類型的算法。但是,我還沒有找到一篇文章或書籍,以介紹性的方式討論蟻羣優化問題,甚至還有很多細節。任何人都可以在一些資源中指出我可以更多地瞭解這個想法嗎?我在哪裏可以瞭解有關「蟻羣」優化的更多信息?
回答
爲了避免你知道德語的機會(是的,抱歉...),我和一個朋友寫了一篇關於這個題目的文章,我自己覺得這很有道理。文本和代碼使用TSP的例子來介紹這個概念。
即使如果您不知道德語,請查看代碼和文本中的公式,這可能仍然有用。
國家地理一段時間寫回an interesting article回頭談論一些理論。
乍一看,這似乎與the Metropolis algorithm(或可能是一個特殊情況)密切相關。所以這是另一個可能的搜索方向。
增加:This PDF file包括從1953年
到原來都市報紙上參考這些主題的最佳資源是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發表的論文。
嗯,我發現了一個ACO算法有用的Homepage of Eric Rollins和他的不同實現(Haskell,Scala,Erlang,...)。 另外還有Enrique Alba的書,名爲「並行Metaheuristics:一類新算法」,您可以在其中找到關於ACO算法及其不同用法的整個章節。
H個
link Wikipedia居然讓我開始。我讀了這篇文章,並開始編碼。我正在解決旅行推銷員問題的一個邪惡變化。這是一個驚人的元啓發式。基本上,任何類型的可以放入圖形中的搜索問題(節點&邊緣,對稱或不對稱)都可以用ACO解決。
尋找全球和本地信息素之間的區別。本地信息素阻止一代螞蟻從同一條路徑穿越。他們保持模型不會收斂。全球信息素是吸引人的,每一代應該至少捕獲一隻螞蟻。他們鼓勵幾代人的最佳途徑。
我有最好的建議,就是玩這個算法。設置一個基本的TSP解算器和一些基本的羣體可視化。然後有一些樂趣。在概念上與螞蟻一起工作是很酷的。你編程他們的基本行爲,然後將其設置爲鬆散。我甚至喜歡他們。 :)
ACOs是一種貪婪的遺傳算法形式。和他們一起玩。改變他們的交際行爲和打包行爲。您將迅速開始以完全不同的方式看到網絡/圖形編程。這是他們最大的收益,而不是大多數人看到的。
你只需要玩它真正理解它。研究論文僅對天文學有一個全面的瞭解。就像一輛自行車一樣,你必須開始騎行。 :)
到目前爲止,ACO是我最喜歡的圖形問題抽象。
我很驚訝,沒有人提到ACO的聖經:
Marco Dorigo & Thomas Stützle: Ant Colony Optimization
本書由ACO的作者寫的,它是具有很強的可讀性。你可以把它帶到海灘,並閱讀它的樂趣。但它也是所有資源中最完整的資源,在實施這件事時很有參考價值。
你可以閱讀一些excerpts on Google Books
智慧的另一個重要來源是ACO Homepage
- 1. 我在哪裏可以瞭解更多關於WebCoreSharedBufferData的信息?
- 2. 我在哪裏可以瞭解有關Net :: HTTP方法的更多信息?
- 3. 我可以在哪裏瞭解有關Lambda表達式的更多信息?
- 4. 我可以在哪裏瞭解有關P/Invoke的更多信息?
- 5. 我在哪裏可以瞭解有關SnappyData列OLAP語法的更多信息?
- 6. 如何以及在哪裏可以瞭解更多關於Perl優化器的信息?
- 7. 我在哪裏可以找到關於%>%的更多信息%
- 8. 我在哪裏可以找到有關ActiveRecord優化的資源和信息?
- 9. 我在哪裏可以瞭解更多關於TransportSecurityWithMessageCredential在Silverlight 3
- 10. 我可以在哪裏瞭解有關使用PHP構建社交網絡的更多信息?
- 11. 我在哪裏可以瞭解有關PowerPoint 2010文件格式的更多信息?
- 12. 我可以在哪裏瞭解有關概念數據模型的更多信息?
- 13. 我在哪裏可以找到有關cmusphinx框架的信息?
- 14. 我在哪裏可以找到有關代碼塊的信息?
- 15. 我在哪裏可以找到有關column.status語法的信息?
- 16. 哪裏可以獲得關於Java OpenStreetMap API的更多信息?
- 17. 哪裏可以找到關於int%5的更多信息?
- 18. 我在哪裏可以找到關於wxPython的Fancytext的更多信息?
- 19. 我在哪裏可以得到詳細信息有關AVD的信息?
- 20. 我在哪裏可以找到更多關於spring-security註釋的信息
- 21. 我在哪裏可以找到關於構建Vim的更多信息
- 22. 我在哪裏可以找到關於核心數據的更多信息?
- 23. 我在哪裏可以找到關於JavaScript術語的更多信息?
- 24. 我在哪裏可以獲得更多關於wordpress comments.php文件的信息?
- 25. 我在哪裏可以瞭解更多關於WPF和Storyboard的內容?
- 26. 我在哪裏可以瞭解更多關於PyPy的翻譯功能?
- 27. 我可以在哪裏瞭解更多關於PHP框架的結構?
- 28. 我在哪裏可以找到有關更改ELMAH UI的信息/教程?
- 29. 我在哪裏可以瞭解有關MVC的Html幫助器的所有信息?
- 30. 我在哪裏可以瞭解有關網絡編程以自動配置嵌入式設備的信息?
感謝這個環節!不幸的是,我的德語僅限於我在中學學到的東西(想討論天氣?),但谷歌翻譯在文章上做得很好。 – MattK 2009-01-14 21:37:21