Multiagentensysteme

Technologien, Architekturen, Plattformen

Prof. Dr. Stefan Bosse

Universität Koblenz - FB Informatik - Praktische Informatik

1 / 24

Stefan Bosse - MAS - Modul 0 Überblick ::

Überblick

2 / 24

Stefan Bosse - MAS - Modul 0 Überblick :: Schwerpunkte in diesem Kurs

Schwerpunkte in diesem Kurs

  • Modelle und Architekturen von Agenten

  • Grundlagen von autonomen Agenten und selbstorganisierenden Systemen

  • Konzepte der Programmierung von Agenten: Eher abstrakt oder besser praktisch?

  • Praktische Relevanz und Anwendung von agentenbasierten Systemen

  • Plattformen und Technologien

  • Simulation

3 / 24

Stefan Bosse - MAS - Modul 0 Überblick :: Schwerpunkte in diesem Kurs

Begleitet von integrierten Übungen um obige Techniken konkret anzuwenden

Vorlesung
2 SWS mit Grundlagen und Live Programming (Baukastenprinzip!)
Übung
2 SWS mit Programmierung und angewandter Vertiefung (integriert)
Voraussetzungen
Grundlegende Programmierfähigkeiten (keine spez. Programmiersprache)
4 / 24

Stefan Bosse - MAS - Modul 0 Überblick :: Materialien

Materialien

  1. Die Vorlesungsinhalte (Skript, Folien) werden auf http://edu-9.de unter der Rubrik Lehre zusammengestellt und angeboten (Kurs mas3k)

  2. Weitere Materialien (Tutorials, Übungen, Software) werden ebenfalls auf http://edu-9.de bereitgestellt

  3. Videos sind über http://edu-9.de verlinkt.

  4. Interkation der Teilnehmer kann über einen Wiki stattfinden. (dokuwiki). Dieser ist über http://ag-0.de erreichbar und in den jeweiligen Veranstaltungsseiten auf http://edu-9.de verlinkt.

  5. Am Ende der Vorlesungszeit gibt es ein Skript im EPUB Format,

  6. Alle weiteren Hinweise und Einführungen (z.B. in Software) nur noch auf dem Wiki!!!

5 / 24

Stefan Bosse - MAS - Modul 0 Überblick :: Methoden und Verfahren mit Agenten

Methoden und Verfahren mit Agenten

Die drei großen AB*

ABM
Agentenbasiertes Modellieren
Verhalten und Wechselwirkung von natürlichen oder technischen Systeme werden mit Agenten modelliert
ABC
Agentbasiertes Berechnen (Computing)
Agenten sind (mobile) Software und Datenverarbeitung →
Programmier- und digitales Kommunikationsmodell
ABS
Agentenbasierte Simulation
Simulation von komplexen Systemen mit Agentenmodellen (ABM) oder Simulation von Agenten (ABC)
6 / 24

Stefan Bosse - MAS - Modul 0 Überblick :: Leistungen

Leistungen

Folgende Möglichkeiten einer Prüfungsleistung stehen zur Auswahl:

  1. Mündliche Prüfung (über mindestens die Hälfte der Modulblöcke)

  2. Schriftliche Ausarbeitung zu einer Fragestellung zu dem Thema (Review/Survey)

  3. Die Bearbeitung einer experimentellen oder simulativen Arbeit (NetLogo/JAM)

7 / 24

Stefan Bosse - MAS - Modul 0 Überblick :: Methoden und Verfahren mit Agenten

Methoden und Verfahren mit Agenten

Variationen und Kombinationen

ABMS
Kombination und Schnittmenge aus ABM und ABS als eigene Disziplin
ABX
Kombination aus ABM, ABS, und ABC! →
Erweiterte Simulation und Modellierung mit Daten aus Crowd Sensing

8 / 24

Stefan Bosse - MAS - Modul 0 Überblick :: Methoden und Verfahren mit Agenten

Methoden und Verfahren mit Agenten

Einsatzgebiete von Agenten

  1. ABM und ABS werden in folgenden Disziplinen eingesetzt:

    • Soziologie
    • Biologie
    • Physik, Materialwissenschaften (Zelluläre Automaten!)
    • Ökonomie/Wirtschaftswissenschaften
  2. ABC und ABS werden eingesetzt in:

    • Verteilte und parallele Datenverarbeitung, Informatik
    • Agentenbasiertes Planen, Produktionstechnik
    • Künstliche Intelligenz, agentenbasiertes Lernen und Schwärme (Robotik)
9 / 24

Stefan Bosse - MAS - Modul 0 Überblick :: Literatur

Literatur

Vorlesungsfolien ABM,ABS,ABC
Die Inhalte der Vorlesung werden sukzessive bereitgestellt
Vorlesungsskript ABM,ABS,ABC
Die Inhalte der Vorlesung werden sukzessive als ebook (epub) bereitgestellt
Crowdsourcing and Simulation with Mobile Agents and the JavaScript Agent MachineABM,ABS,ABC
S. Bosse, 2022, ISBN 978-1471078132

10 / 24

Stefan Bosse - MAS - Modul 0 Überblick :: Literatur

Literatur

MultiAgent Systems ABC
Michael Wooldridge, John Wiley & Sons, 2002




Multiagent Systems - A Modern Approach to Distributed Artificial IntelligenceABC
Gerhard Weiss (Ed.), The MIT Press, 2000


11 / 24

Stefan Bosse - MAS - Modul 0 Überblick :: Literatur

Literatur

An Introduction to Agent-Based Modeling ABM,ABS
Uri Wilensky, William Rand, William, MIT Press, 2015


The JavaScript and nodejs Handbooks ABC
Flavio Copes, 2018, https://flaviocopes.com


12 / 24

Stefan Bosse - MAS - Modul 0 Überblick :: Software

Software

Verwendete Software (Vorlesung und Übung)

JAM ABC edu-9.de

  • JAM: JavaScript Agent Machine
  • Vollständig in JavaScript programmiert (+Agenten: AgentJS)
  • Einsatz auf verschiedenen Hostplattformen: PC, Smartphone, Embedded PC, Server, ..



13 / 24

Stefan Bosse - MAS - Modul 0 Überblick :: Software

Software

Verwendete Software (Vorlesung und Übung)

SEJAM2 ABC,ABX edu-9.de

  • SEJAM: Simulation Environment for JAM
  • Simulationsumgebung und Entwicklungs IDE
  • Bottom-up Modellierung, lokales Modell
  • GUI und Visualisierung aufgesetzt auf JAM
  • Virtuelle JAM Netzwerke und Welten
  • Zusätzlich NetLogo-like API



14 / 24

Stefan Bosse - MAS - Modul 0 Überblick :: Software

Software

Verwendete Software (Vorlesung und Übung)

JAM Laboratory ABC edu-9.de

  • Vollständige JAM Plattform
  • IDE mit Interpreter Shell, Editor, und Nachrichtenfenstern
  • Kann in jedem Web Browser ausgeführt werden
  • Internetanbindung an andere JAM Plattformen

15 / 24

Stefan Bosse - MAS - Modul 0 Überblick :: Software

Software

JAM Laboratory ABC

16 / 24

Stefan Bosse - MAS - Modul 0 Überblick :: Fragestellungen

Fragestellungen

  1. Wie kann man komplexe dynamische Systeme mit Agenten modellieren und simulieren, die
    • aus einzelnen einfach Einheiten bestehen, und
    • die Einheiten miteinander wechselwirken?
  2. Wie kann man das globale Verhalten → also Systemverhalten → einer Menge von Agenten studieren?
  3. Wie kann robuste Datenverarbeitung in heterogenen Umgebungen (Netzwerken) mit Agenten stattfinden?

Crooks et al., 2018

17 / 24

Stefan Bosse - MAS - Modul 0 Überblick :: Fragestellungen

Fragestellungen

  1. Wie kann in ABM/ABS die reale Welt auf künstliche Welten für Agenten abgebildet und repräsentiert werden?

Crooks et al., 2018

18 / 24

Stefan Bosse - MAS - Modul 0 Überblick :: Ziele

Ziele

Die Studenten erwerben/gewinnen/lernen

  1. Grundverständnis von Agenten und deren Verhaltensmodelle
  2. Grundlagen verteilter perzeptiver und reaktiver Systeme und Fähigkeit der Programmierung: Wie können komplexe verteilte Systeme mit einfachen Methoden entworfen werden?
  3. Grundverständnis und Anwendung der Kommunikation, Kooperation, und Kollaboration zwischen Agenten
  4. Fähigkeit der praktischen Anwendung und Abbildung der Agentenmodelle mit Programmierung in einfachen Einsatzszenarien unter Verwendung von JavaScript
  5. Verständnis und Anwendung an Beispielen von selbstorganisierenden Systemen und deren Adaptivität
  6. Praktische Umsetzung einfacher MAS mit der JAM Plattform, JavaScript (AgentJS), und dem SEJAM Simulator
  7. Einblicke in die technologische Umsetzung von Multiagentensystemen und Agentenplattformen
19 / 24

Stefan Bosse - MAS - Modul 0 Überblick :: Inhalte

Inhalte

  1. Einführung in Agenten und Agentensysteme
  2. Anwendungsbeispiele
  3. Agentenmodellierung und Agentenmodelle mit einfachen Architekturen
  4. Entwurf von Agenten mit Programmierung
  5. Praktische Agentenbasierte Modellierung mit NetLogo
  6. Agentenkommunikation: Koordination und Kooperation
  7. Agentenplattformen
  8. Mobile Agenten als mobile Prozesse
  9. Praktischer Einsatz von Agenten mit der JAM Plattform
  10. Simualtion von Agentensystemen (u.A. mit SEJAM)
20 / 24

Stefan Bosse - MAS - Modul 0 Überblick :: Programmierung

Programmierung

Abstrakt (deklarativ)

Jason (BDI)

+!leave(home)
: not raining & not ~raining
<- !location(window);
?curtain_type(Curtains);
open(Curtains);
..
+!leave(home)
: not raining & not ~raining
<- .send(mum,askIf,raining);
..
@shopping(1)[chance_of_success(0.7),
usual_payoff(0.9),
source(ag1), expires(autumn)]
+need(Something)
: can_afford(Something)
<- !buy(Something).
21 / 24

Stefan Bosse - MAS - Modul 0 Überblick :: Programmierung

Programmierung

Praktisch (prozedural, funktional, obj.bas.)

AgentJS (JAM)

function AgentShopper (charge) {
this.bank=charge; this.money=0;
this.act = {
init: function () {..},
percept: function () {..},
buy: function () {..},
gohome: function () {..}
}
this.on = {
'error': function (e) {..},
'PRICE': function (val) {..},
}
this.trans = {
init: percept,
percept: function () {return this.money?buy:gohome},
buy: percept
};
this.next=init;
}
22 / 24

Stefan Bosse - MAS - Modul 0 Überblick :: Pressestimmen

Pressestimmen

Was sagen andere?

Dr. Wander Jager, Universität Groningen

23 / 24

Stefan Bosse - MAS - Modul 0 Überblick :: Pressestimmen

24 / 24