8 Stimmen

Wo kann ich mehr über die Optimierung von "Ameisenkolonien" erfahren?

Ich lese schon seit einiger Zeit hier und da etwas über die Verwendung eines "Ameisenkolonie"-Modells als heuristischen Ansatz zur Optimierung verschiedener Algorithmen. Ich habe jedoch noch keinen Artikel oder ein Buch gefunden, in dem die Optimierung mit Hilfe von Ameisenkolonien in einführender Weise oder sogar sehr detailliert behandelt wird. Kann mir jemand Hinweise auf Quellen geben, in denen ich mehr über diese Idee erfahren kann?

5voto

Konrad Rudolph Punkte 503837

Für den Fall, dass Sie Deutsch können (ja, Entschuldigung ), haben ein Freund und ich einen Einführung mit Code über dieses Thema, die ich selbst ganz passabel finde. Der Text und der Code verwenden das Beispiel von TSP, um das Konzept vorzustellen.

Sogar wenn Sie kein Deutsch können, sehen Sie sich den Code an und den Formeln im Text, könnte dies immer noch funktionieren.

5voto

pestilence669 Punkte 5568

Link Wikipedia hat mich tatsächlich dazu gebracht. Ich las den Artikel und fing an zu programmieren. Ich löste eine abgefahrene Variante des Traveling-Salesman-Problems. Es ist eine erstaunliche Meta-Heuristik. Im Grunde kann jede Art von Suchproblem, das sich in einen Graphen (Knoten und Kanten, symmetrisch oder nicht) einfügen lässt, mit einem ACO gelöst werden.

Achten Sie auf den Unterschied zwischen globalen und lokalen Pheromonspuren. Lokale Pheromone entmutigen eine Generation von Ameisen, die denselben Weg zurücklegen. Sie verhindern, dass das Modell konvergiert. Globale Pheromone sind Attraktoren und sollten mindestens eine Ameise pro Generation fangen. Sie fördern optimale Pfade über mehrere Generationen hinweg.

Der beste Vorschlag, den ich habe, ist, einfach mit dem Algorithmus zu spielen. Richten Sie einen einfachen TSP-Löser und eine einfache Kolonievisualisierung ein. Dann haben Sie Spaß. Mit Ameisen zu arbeiten, ist konzeptionell sehr cool. Man programmiert ihre grundlegenden Verhaltensweisen und lässt sie dann los. Ich habe sie sogar liebgewonnen :)

ACOs sind eine gierige Form von genetischen Algorithmen. Spielen Sie mit ihnen. Ändern Sie ihr Kommunikationsverhalten und ihr Rudelverhalten. Sie werden schnell beginnen, die Netzwerk-/Graphenprogrammierung auf eine ganz andere Weise zu sehen. Das ist ihr größter Vorteil, nicht das Rezept, als das die meisten Menschen sie sehen.

Man muss nur damit spielen, um es wirklich zu verstehen. Bücher und Forschungsarbeiten vermitteln nur ein allgemeines, himmelhohes Verständnis. Wie bei einem Fahrrad muss man einfach anfangen zu fahren :)

ACOs sind bei weitem meine Lieblingsabstraktion für Graphenprobleme.

3voto

DShook Punkte 13515

National Geographic schrieb ein interessanter Artikel vor einiger Zeit über einige der Theorien gesprochen.

3voto

martinus Punkte 17248

Die beste Quelle für diese Themen ist Google scholar . Ich habe auf Ant Colony Optimization Algorithmen für eine Weile arbeiten, hier sind einige gute Papiere:

Einfach Suche nach "Ameisenkolonie" bei google scholar .

Suchen Sie auch nach Artikeln, die von Marco Dorigo .

2voto

Luboš Turek Punkte 5777

Ich bin überrascht, dass niemand die Bibel von ACO erwähnt hat:

Marco Dorigo & Thomas Stützle: Ameisenkolonie-Optimierung

Dieses Buch wurde von dem Autor von ACO geschrieben und ist sehr lesenswert. Man kann es mit an den Strand nehmen und Spaß beim Lesen haben. Aber es ist auch die umfassendste Ressource von allen, die sich hervorragend als Referenz bei der Implementierung eignet.

Sie können einige Auszüge auf Google Books

Eine weitere große Quelle der Weisheit ist die ACO Homepage

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X