AntSimulator (Version 2.0, 04.06.2012, 15 MB):
A java application for download by Lennart Steffin, Nikolas Reichardt and Christoph Kröger, based on an older version (< 1 MB) by Bjarne Großmann, Mario Rauschenberg and Clemens Wuth, developed in a bachelor course project. Details are given in the project site and the corresponding long-term development project.
Our German documentation fo the project:
ANT SIMULATION 2.0
Voraussetzungen: Java Runtime Enviroment >= Version 1.5
Empfohlen wird außerdem bei der Nutzung auf portablen Geräten eine zusätzliche Stromquelle bereit zu halten.
Erstellt als Softwareprojekt von:
Lennart Steffin Christoph Kröger Nikolas Reichardt
WAS WIRD SIMULIERT?
Zielsetzung des Simulators ist es, grafisch einfach aufzuzeigen wie Ameisen bei der Futtersuche von ihrem Nest aus vorgehen. Dabei wird zu Beginn des Suchverfahrens ein Ameisennest platziert, von welchem die Ameisen ausströmen, um nach Futter zu suchen. Anhand von abgelegten Pheromonspuren im Gelände orientieren sich die Ameisen lokal an der Konzentration des Duftes. Um die unterschiedlichen Probleme, die bei der Portierung dieser Technik in bspw. den Logistikbereich entstehen, gerecht zu werden, gibt es diverse Möglichkeit Streckenabschnitte zu verschlechtern, verbessern oder komplett zu blockieren. Auch die Möglichkeit mehrerer Startquellen(Ameisenhaufen) sowie mehrerer Futterquellen zu erzeugen wurde implementiert.
ÜBERSICHT ÜBER AMEISENSIMULATOR
Das Fenster des Ameisensimulators besteht in seinen Grundzügen aus 4 Elementen:
- Menü
- Toolbar - Karte - Erweiterten Einstellungen
MENÜ
In Menü finden sich die grundlegenden Aktionen des Simulators.
- Neue Karte: Erstellt eine neue leere Karte im beliebigen Format.
- Karte Laden: Eine bereits gespeicherte oder schon vorhandene
Karte kann erneut geöffnet werden.
- Karte speichern: Änderungen an einer Karte speichern.
- Erneut laden: Die ungespeicherte Karte in ihrem Ursprungszustand
wieder erneut öffnen.
- Info: Informationen über die Entwickler.
- Beenden: Schließen des Simulators.
Wird eine neue Karte erstellt öffnet sich ein weiteres Wertefenster, indem die Zeilen- und Spaltenanzahl des Spielfeldes festgelegt werden kann.
Mit dieser Eigenschaft sind auch schmale und lange Wegstrecken leicht zu simulieren.
TOOLBAR
Die Toolbar dient der eigentlichen Steuerung des Simulators. In ihr finden sich die am häufigsten verwendeten Aktionen.
- Nach dem Laden einer Karte wird mittels der Play-Taste der Simulationsvorgang begonnen.
- Die „Pausetaste“ bietet die Möglichkeit die Simulation anzuhalten.
- Die Laufgeschwindigkeit der Ameisen kann mithilfe des „Speed“-Sliders verändert werden.
- 5 Ebenen und Start/Ziel ermöglichen einen kreativen Freiraum, um die Map mit verschiedenen Geländen auszufüllen. Die Bilder können per Klick ausgewählt und mit einem weiteren Klick platziert werden.
- Zur Verdeutlichung des Algorithmus gibt es die Möglichkeit einen Graphen einzublenden.
Dieser Graph ermöglich einen Einblick in die Wahlentscheidung der Ameisen (Erklärung folgt später).
- Die Mapcheckbox erlaubt das Ein- und Ausblenden der Karten.
- Der „Adv.“-Knopf blendet die „Erweitete Einstellung“ ein.
KARTE
Es gibt 5 unterschiedliche Geländetypen, um Streckenabschnitte in ihrer Überquerung zu erschweren. Eine simple gerade Fläche besitzt einen Geländewert von 1. Je schwieriger der Abschnitt wird, desto höher steigt die Zahl bis zu einem Maximum von 255. Bei einem Geländewert von 0 ist der Abschnitt überhaupt nicht passierbar.
Um die Modellierung einfach zu gestalten wurden daher folgende Grenzwerte bestimmt:
- Wiese: Geländewert 1-63: leichtes schnell zu durchlaufendes Gebiet.
- Getreide: Geländewert 64 – 127: dichtes Gelände, kleine Verlangsamung.
- Wald: Geländewert 128 – 191: hügeliges, unebenes Gebiet mit schlechten Wegen.
- Gebirge: Geländewert 191 – 255: zähes, gebirgiges Gelände, große Verlangsamung.
- Wasser: Geländewert 0: Ameisen können nicht schwimmen.
Der Ameisenhaufen sowie die Futterquelle lassen sich jeweils auf allen Geländen außer dem Wasser platzieren.
ERWEITERTE EINSTELLUNGEN
Zu den sichtbaren Ameisen, die auf der Karte eine Ameisenstraße darstellen, kommen noch unsichtbare Ameisen, die der Benutzer selbst nicht sehen kann. Diese nicht sichtbaren Ameisen dienen der Berechnung des optimalen Weges. Pro sichtbare Ameise werden vom Simulator im Hintergrund 100 „virtuelle“ Ameisen ausgesandt. Ihre Aufgabe ist es jeden möglichen Weg abzugehen, um somit Wahrscheinlichkeiten der möglichen Wegrichtungen auszurechnen.
Die Existenz der „Erweiterten Einstellungen“ beruht auf der Möglichkeit einer Veränderung der Parameter dieser „virtuellen“ Ameisen.
Die Erzeugungsrate der „virtuellen“ Ameisen kann beeinflusst werden. Bei der Reduzierung dieser Einstellungen wird es länger für die Ameisen dauern ihr Ziel zu finden.
Um mehr oder schneller sichtbare Ameisen zu erzeugen können diese Balken genutzt werden. Es sollte allerdings vermieden werden diese Einstellungen zu hoch zu setzen, da es ansonsten schwer wird die Übersicht zu behalten.
Sollten die vordefinierten Geländetypen zu grob gewählt sein, so kann mit Hilfe der Feineinstellung die Höhe nachjustiert werden. Sollte in einen Geländetyp zurück gesprungen werden wollen, so genügt der einfache Klick auf die unteren Geländebilder .
DIE SIMULATION
Sobald die nötigen Einstellungen getätigt sind kann mit einem Knopfdruck auf die „Start“-Taste die Simulation gestartet werden.
Im Laufe der Simulation werden die Ameisen mehrfach versuchen den optimalsten Weg zu finden.
Diesen werden sie jedoch erst nach einer Zeit erlangen, denn zuvor werden die Ameisen die meisten Wegketten ausprobiert haben, bis sie sich in einer Wahrscheinlichkeits-Entscheidung für den optimalsten Weg entschieden haben. Diese Wahrscheinlichkeiten werden durch zuvor begangene Wege stetig verändert, sodass es selbst bei einem optimalen Weg (wie oben zu sehen) noch zu Ameisen kommen wird, die sich einen neuen Weg versuchen zu erkämpfen.
Mit dieser Eigenschaft ist es möglich, den Simulator selbst während der Laufzeit noch mit Geländeveränderungen zu beeinflussen. Durch die Wegberechnung kann es allerdings zu einer kurzen Neubewertung der Geländelage kommen, sodass Beeinflussungen erst nach einigen Sekunden angenommen werden.
Um sich das Vorgehen des Algorithmus zu verdeutlichen gibt es die Möglichkeit sich den Graphen, der für die Wegentscheidung der Ameisen ausschlaggebend ist, anzeigen zu lassen.
DER GRAPH
In den gelben Kreisen eingeblendet ist der Geländewert, der die Beschwerung der Durchquerung offenlegt. An den Kanten befindet sich die Weglänge und somit auch Zeit der Absolvierung.
Es liegt nun nahe, wieso sich die Ameisen für die Route über die Weide und die Diagonale zu dem Ziel entschieden haben. Die zusammengezählten Werte ((1+63+255)+ (255+255+1)) sind die geringste Kombination der Geländefelder mit ihren Verbindungen.
Anbei zu erwähnen ist, dass die 0 als Geländewert einer Blockade entspricht, die nicht zu überqueren ist. Der rote Rand verdeutlicht die Sperrung dieses Bereiches.
Comments