Multi-Agenten Systeme 1 - Institut für Informatik
Multi-Agenten Systeme 1 - Institut für Informatik
Multi-Agenten Systeme 1 - Institut für Informatik
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Institut</strong> <strong>für</strong> <strong>Informatik</strong><br />
Prof. Dr. J. Dix<br />
T. Behrens, M. Köster, F. Schlesinger<br />
<strong>Multi</strong>-<strong>Agenten</strong> <strong>Systeme</strong> 1<br />
– Übung 1: Reaktive <strong>Agenten</strong> –<br />
Datum: 18. April 2011<br />
Anmerkung:<br />
• Um die Prüfungsvorleistung zu erbringen müssen Lösungen zu allen Aufgaben<br />
abgegeben werden.<br />
• Abgeben heißt, dass die Lösungen zu den einzelnen Aufgaben am Abgabetermin<br />
im PC-Pool präsentiert werden.<br />
Punkte:<br />
von 3<br />
Aufgabe 1 (1 Punkt, Installieren und Starten)<br />
In dieser Aufgabe sollen Sie den Server, den Monitor und die Dummy-<strong>Agenten</strong> starten.<br />
Name(n) & Matr.-Nr.:<br />
1. Laden Sie sich das MASSim-Paket (MAPC Package) von folgender URL herunter<br />
http://multiagentcontest.org/<br />
2. Entpacken Sie die Datei auf Ihrem Rechner.<br />
3. Starten Sie den Server mit der Datei massim/scripts/startServer.sh. Mit der<br />
Enter-Taste starten Sie dann die Simulation.<br />
4. Starten Sie den Mars-Monitor mit der Datei<br />
massim/scripts/startMarsMonitor.sh.<br />
5. Starten Sie die Dummy-<strong>Agenten</strong> mit der Datei<br />
javaagents/scripts/startAgents.sh.<br />
Hinweis: die sh-Dateien können Sie mit Cygwin starten.<br />
Aufgabe 2 (1 Punkt, Entwicklungsumgebung)<br />
Nun richten Sie sich ein Projekt in Eclipse ein und starten die <strong>Agenten</strong> von dort aus.<br />
1. Legen Sie einen neuen Ordner javaagents/src/main/java/ an.<br />
2. Entpacken Sie Datei javaagents/target/javaagents-1.0-sources.jar und legen<br />
Sie den Inhalt im gerade angelegten Ordner ab. Stellen Sie sicher, dass es<br />
nur eine einzige Instanz von den Quelltexten gibt.<br />
3. Starten Sie Eclipse. Setzen Sie den Workspace auf massim-2011-1.0.<br />
4. Legen Sie ein neues Java-Projekt namens javaagents an.<br />
5. Definieren Sie in den Projekt-Einstellungen unter Java Build Path das Attribut<br />
Default output folder mit target/classes fest.<br />
6. Jetzt sollte das Projekt fehlerfrei kompilieren. Falls nicht, prüfen Sie bitte den<br />
Class-Path auf Richtigkeit.<br />
7. Legen Sie eine Run Configuration im Run-Menü fest. Die entsprechenden Parameter<br />
entnehmen Sie der Datei javaagents/scripts/startAgents.sh.<br />
Abgabe:<br />
3. Mai 2011
Aufgabe 3 (1 Punkt, Reaktive <strong>Agenten</strong> und Subsumption-Architektur)<br />
In dieser Aufgabe sollen Sie reaktive <strong>Agenten</strong> programmieren, welche die Umgebung<br />
zufällig durchwandern und, wenn die Energie niedrig ist, die Batterien aufladen. Dazu<br />
soll die Subsumptions Architecture (vgl. Folie 91ff, Skript) implementiert werden.<br />
1. Legen Sie ein eigenes Paket namens mas.agents, wobei <br />
ein Name ist, den Sie sich spontan ausdenken. Dort werden Sie ab jetzt alle<br />
Quelltexte angeben.<br />
2. Erstellen Sie eine neue Klasse namens SubsumptionAgent, welche von<br />
massim.javaagents.Agent erbt und implementieren Sie alle benötigten Methoden.<br />
3. Implementieren Sie einer Klasse <strong>für</strong> Rule. Eine Rule ist ein Tupel 〈c, a〉, wobei c<br />
eine Menge an Percepts und a eine Aktion ist.<br />
4. Implementieren Sie eine Methode, welche <strong>für</strong> eine gegebene Menge an Percepts<br />
und eine gegebene Regel entscheidet, ob die Regel feuert. Eine Regel feuert.<br />
Wenn c eine Teilmenge der aktuellen Percepts ist.<br />
5. Legen Sie eine Datenstruktur an, in der Sie die Inhibition Relation speichern<br />
können. Sorgen Sie da<strong>für</strong>, dass die Relation immer eine totale Ordnung ist.<br />
6. Implementieren Sie in der step-Methode die Action Selection Funktion aus dem<br />
Skript.<br />
7. Definieren Sie ein paar Regeln, welche das oben beschriebene Verhalten erzeugen.<br />
Hinweis: viele hilfreiche Zusatzinformationen finden Sie in den MAPC-Paket-<br />
Dokumentationen.<br />
Seite 2