Multiagentensysteme

Technologien, Architekturen, Plattformen

Prof. Dr. Stefan Bosse

Universität Koblenz - FB Informatik - Praktische Informatik

1 / 46

Stefan Bosse - MAS - Modul C Verteiltes Rechnen mit JAM Agenten (ABC) ::

Verteiltes Rechnen mit JAM Agenten (ABC)

Zusammenfassung der JAM Plattform und Anwendung im Mobilen Crowdsensing

2 / 46

Stefan Bosse - MAS - Modul C Verteiltes Rechnen mit JAM Agenten (ABC) :: Motivation

Motivation

  • Crowdsensing ist verteilte Datenverarbeitung
  • Verteilte Datenverarbeitung bedeutet verteilte Kommunikation zwischen Prozessen

  • Traditionelle verteilte Netzwerke wie das Internet der Dinge (IoT) müssen mit einer Vielzahl von Kommunikationsprotokollen und Netzwerkstrukturen umgehen können → Stark heterogene Systeme

  • Datenrepräsentation ist eine weitere Hürde in solchen verteilten Systemen

  • Häufig HTTP basierte Klienten-Server Kommunikation (zentrale Serverinstanz)

3 / 46

Stefan Bosse - MAS - Modul C Verteiltes Rechnen mit JAM Agenten (ABC) :: Datengetriebene Kommunikation

Datengetriebene Kommunikation

Bellifemine, Developing multi-agent systems with a FIPA-compliant agent framework Große Diversität an IoT Protokollen und Datenrepräsentation für die Kommunikation → nicht einheitlich

4 / 46

Stefan Bosse - MAS - Modul C Verteiltes Rechnen mit JAM Agenten (ABC) :: Agenten

Agenten

Agenten besitzen eine Vielzahl von Fähigkeiten, die sie von klassischen Programmen unterscheiden - obwohl Agenten auch Programme sein können!

  • Fähigkeit zu eigenständiger Aktivität (Nicht Nutzeraktiviert)
  • Autonomes, "selbstbestimmtes" Verhalten (Nicht durch zentrale Instanz gesteuert)
  • Fähigkeit zum selbstständigen Schlussfolgern (Umgang mit unsicheren Wissen)
  • Flexibles und rationales Verhalten (Adaptivität an veränderliche Weltbedingungen)
  • Fähigkeit zu Kommunikation und Interaktion (Synchronisation)
  • Kooperatives oder konkurrierendes Verhalten (Lösung von Wettbewerbskonflikten)
  • Fähigkeit zur ziel- und aufgabenorientierten Koordination (Kooperation)
5 / 46

Stefan Bosse - MAS - Modul C Verteiltes Rechnen mit JAM Agenten (ABC) :: Agenten

Agentenmodell

  • Ein Agent in seiner Umgebung nimmt sensorische Eingaben aus der Umgebung auf und produziert Ausgabe-Aktionen, die ihn und die Umgebung beeinflussen.

  • Die Interaktion ist gewöhnlich fortlaufend und nicht-terminierend!

Einfachstes Agentenmodell

Beispiel

Umgebung: Raum in Gebäude
Sensor: Temperatur T
Aktor: Heizung
Verhalten:
(1) Temperatur zu niedrig ⟼ Heizung an
(2) Temperatur angenehem ⟼ Heizung aus
6 / 46

Stefan Bosse - MAS - Modul C Verteiltes Rechnen mit JAM Agenten (ABC) :: Agenten und Weltumgebung

Agenten und Weltumgebung

Reaktive und Zustandsbasierte Agenten

  • Reaktive und zustandsbasierte Agenten führen einen Zyklus durch:
    • Perzeption ⇒ Verabeitung ⇒ Zustandsänderung ⇒ Entscheidung ⇒ Aktion

(Links) Interaktion eines Agenten mit der Umwelt: Perzeption, Aktion (Rechts) Lernender Agent (Reinforcement Agent)

7 / 46

Stefan Bosse - MAS - Modul C Verteiltes Rechnen mit JAM Agenten (ABC) :: ATG Modell

ATG Modell

Zustandsbasierter Agent

  • Besteht aus: (1) Körpervariablen (2) Kontrollzustand und Verhalten

Aktivität und Zustand

  • Das Verhalten eines aktivitätsbasierten Agenten ist durch einen Agentenzustand gekennzeichnet, der durch Aktivitäten verändert wird.

  • Aktivitäten verarbeiten Wahrnehmungen, planen Aktionen und führen Aktionen aus, die den Steuerungs- und Datenzustand des Agenten ändern.

  • Aktivitäten und Übergänge zwischen Aktivitäten werden durch einen Aktivitätsübergangsgraphen (Activity Transition Graph, ATG) dargestellt.

  • Die Übergänge starten Aktivitäten in der Regel abhängig von der Auswertung von Agentendaten (Körpervariablen), die den Datenzustand des Agenten repräsentieren.

8 / 46

Stefan Bosse - MAS - Modul C Verteiltes Rechnen mit JAM Agenten (ABC) :: ATG Modell

ATG Modell