View
179
Download
2
Category
Preview:
Citation preview
1
Janus
Vortrag von Rene Kassel
2
Gliederung
1. Grundlagen1. Agenten allgemein2. Multiagentensystem3. CRIO metamodel
2. Janus Project1. Allgemeines2. Lebenszyklus eines Agenten in Janus3. Starten eines Agenten4. Agent-to-Agent Direct Communication
3
Gliederung
3. Praktische Beispiele6. MyAgent7. Market-Like-Community8. Boids9. Ant Colony
4. Schlusswort
4
1. Grundlagen
5
1.1 Agenten Allgemein
"Ein Agent ist ein Computersystem das sich in einer bestimmten Umgebung befindet und welches fähig ist, eigenständige Aktionen in dieser Umgebung durchzuführen, um seine (vorgegebenen) Ziele zu erreichen."
6
1.1 Agenten Allgemein
Einsatz von Agenten: E-Commerce Informationsrecherche Simulation Erledigen von Routineaufgaben
Agententypen: Reaktive Agenten Adaptive Agenten Kognitive Agenten
7
1.2 Multiagentensystem Gehört zum Forschungsgebiet der Künstlichen
Intelligenz
Ist ein System aus mehreren gleichartigen oder unterschiedliche spezialisiert handelnden Agenten
Lösen gemeinsam ein Problem
Beschäftigen sich damit, wie autonome, verteilte und „intelligente“ Systeme als Einheit ihr spezifisches Wissen, ihre Ziele, Fähigkeiten und Pläne abstimmen, um koordiniert zu handeln oder Probleme zu lösen
8
1.3 CRIO-metamodel CRIO: Capacity, Role, Interaction and Organization Organisation
Sammlung von Rollen Rollen stehen in einen gemeinsamen Kontext Kontext: gemeinsames Wissen, soziale Regeln und
Normen Ziel: gemeinschaftliche Erfüllung einer Aufgabe
Rollen ist struktriertes Verhalten Ziel einer Rolle ist zur Erfüllung von Aufgaben einer
Organisation beizutragen Interne Rolle (Common Role) Externe Rolle (Boundary Role)
9
1.3 CRIO-metamodel
Interaktion Dynamische, nicht vorher bekannte Abfolge von
Ereignissen Rollen reagieren je nach ihrem Verhalten auf die
Ereignisse
Kapazität / Capacity: hier frei übersetzt mit Fähigkeit abstrahiert know-how von einer konkreten
Realisierung
10
2. Janus-Project
11
2.1 Allgemeines
beschäftigt sich mit Modellierung und Simulation von komplexen Systemen
besonders „holonic multiagent systems“ Janus ist eine Multiagentenplattform zur
Implementierung von Mutliagenten in Java 1.5 geschrieben basiert auf dem CRIO metamodel Schwerpunkt: Unterstützung und
Implementation von Rollen und Organisation bei Agenten
12
2.2 Lebenszyklus eines Agenten
Jeder Agent in Janus durchlebt verschiedene Lebenszyklen
Diese sind:
Activate
Live
End
13
2.2 Lebenszyklus eines Agenten
14
2.3 Starten eines Agenten
15
2.4 Agent-to-Agent Communication One-to-One-Communication
Möchte ein Agent eine Nachricht an einen anderen Agenten senden wird folgenden Methode verwendet:
AgentAddress sendMessage(Message message, AgentAddress agents)
One-to-Many Communication Möchte ein Agent eine Nachricht an viele senden wird
folgenden Methode verwendet
void broadcastMessage(Message message, AgentAddress agents)
16
3. Praktische Beispiele
17
3.1 MyAgent
Zeigt ein selbst implementiertes einfaches Beispiel, wie man einen Agenten startet und welchen Zustand er besitzt
für die Erstellung war MAVEN nötig
MAVEN = Build-Management-Tool
18
3.2 Market-Like-Community zeigt die Implementierung von Rollen als first-
class entity benutzt das CRIO-Metamodell Implementiert mit der Janus-Platform Beispiel zeigt eine Marktähnliche
Gemeinschaft Grundlagen:
Ist ein Beispiel für den Inlands-Reisemarkt es gibt 3 einfache Agententypen:
einen Client (Kunde) einen Broker (Makler) 4 Provider (Anbieter)
Client möchte das beste Reiseangebot bekommen
19
3.2 Market-Like-Community
Vorgang:
Sendet Vorschlag an CBroker CBroker leitet an PBroker weiter PBroker schickt Information an alle verfügbaren
Provider Pbroker wählt beste Alternative und teilt diese den
Client mit Der beste Provider und der Client treten in
Kontakt, um Bestellung abzuschließen
20
3.2 Market-Like-Community Organisationen
Das Beispiel hat 3 Organisationen, jede davon besitzt 2 Rollen Purchase (Kauf) Providing (Bereitstellung) Contracting (Vertragsnehmer))
Für Beispielszenario wird also benötigt: 3 Agententypen 3 Organisationen 6 Rollen
21
3.2 Market-Like-Community
22
3.3 Boids wurde 1986 als ein Computer Modell
vorgeschlagen, dass koordinierte Tierbewegung simuliert, wie Vogel- oder Fischschwärme
wird häufig in der Computergrafik genutzt, die eine realistische Darstellung von Vögeln oder anderen Lebewesen liefern sollen
die 3 einfachen Verhaltensregeln: Separation (Trennung) Alignment (Angleichen) Cohesion (Zusammenhalt)
23
3.3 Boids
24
3.4 Ant Colony das Beispsiel zeigt die Simulation eines
Ameisenstaates mit Hilfe eines Multiagentensystems
dies liefert eine mögliche Implementierung von BOIDS
Das Ant Colony Prinzip eine einzelne Ameise hat kein globales Wissen
über die Aufgaben, die sie ausführt Die Aktionen basieren auf lokalen
Entscheidungen und sind meist nicht vorhersehbar
Das intelligente Verhalten entsteht durch die Selbstorganisation und indirekten Kommunikation zwischen den Ameisen
25
3.4 Ant Colony
Definition der Umwelt
die Umwelt ist in ein Raster zerlegt jede Zelle des Raster kann eine Kolonie, eine
Pheromon oder eine Nahrungsquelle sein In dem Beispiel gibt es 2 Typen von
Pheromonen:
Das „Food-Pheromon“ gibt die Richtung der Nahrungsquelle an
Das „Colony-Pheromon“ die gibt Richtung der Ameisenkolonie an
26
3.4 Ant Colony Definition der Ant Colony Organisation
Die Organisation besteht aus 2 Rollen: Patroller:
Läuft zufällig durch die Kolonie und verstreut das „Colony Pheromon“
Kehrt zur Kolonie zurück, wenn er denkt, das seine Pheromone auf die Hälfte des Ursprungswertes gesunken sind
Forager: Dieser sucht zufällig nach Futterquellen Während der Suche wirft er das „Colony Pheromon“ aus Nachdem er eine Futterquelle gefunden hat, versucht er zur
Kolonie zurückzukehren mit Hilfe des Colony Pheromons Während er zurück zur Kolonie geht wirft er „Food-
Pheromons“ aus um die Nahrungsquelle später wieder zu finden
27
3.4 Ant Colony
Beispiel
28
4. Schlusswort
Recommended