8 Einführung in Agentensysteme
24. Vorlesung: Softwareagenten;
Konstruktion von Agentensystemen
Methoden der KŸnstlichen Intelligenz
Ipke Wachsmuth ÊWS 2000/2001
24. Vorlesung Methoden der KŸnstlichen Intelligenz 2
ãSoftwareagentÒ
u Ein Programm, dessen Arbeit als das eigenständige Erledigen von Aufträgen oder Verfolgen von Zielen in Interaktion mit einer Umwelt beschrieben werden kann u benötigt:
l Fähigkeiten der Wahrnehmung (z.B. Eingaben)
l des Handelns (Aktionen)
l der Kommunikation (über Nachrichten) und Kooperation
u Anwendungsfelder z.B:
l verteilte Systeme
l Netzwerke (Internet)
l Mensch-Maschine-Schnittstellen
UniversitŠt Bielefeld
(nach Wooldridge & Jennings)
• Autonomie: Agenten operieren ohne direkten Eingriff durch Benutzer- oder andere Steuerung und haben irgendeine Form der internen Kontrolle über ihre Aktionen und inneren Zustände.
• "Soziale" Fähigkeiten: Agenten interagieren mit anderen Agenten (und evtl. Menschen) mittels einer Form von Agenten- Kommunikationssprache.
• Reaktivität: Agenten nehmen ihre Umgebung wahr (das könnte die physikalische Welt sein oder ein Benutzer über ein Interface oder andere Agenten oder das Internet oder eine Grafikwelt oder all dies zusammen) und reagieren darauf.
• "Pro-Aktivität" (im Kontrast zu Reaktivität) : Agenten handeln nicht nur in Reaktion auf ihre Umgebung, sondern können ziel- orientiertes Verhalten zeigen und Initiative übernehmen.
Eigenschaften von Agenten
UniversitŠt Bielefeld
Weitergehende Eigenschaften
u „Mentalistische“
Eigenschaften:
l Wissen
l Überzeugung
l Intention
l Verpflichtung
Beispiel: BDI-Architektur
u Lernfähigkeiten
l in einzelnen Agenten
l in Multiagentensystemen
u Sichtbare Erscheinung
(anthropomorphe Agenten)
l Persönlichkeit
l Gesichtsausdrücke
l Körpergesten
l gesprochene Sprache
l Emotionsmodelle...
Nicht alle genannten
Eigenschaften müssen
jeweils vorhanden sein.
24. Vorlesung Methoden der KŸnstlichen Intelligenz 5
Vorteil von ãVerteiltheitÒ
Modularität
• rüste autonome Problemlöser (Spezialisten) mit Expertenwissen für Teilaufgaben aus und füge sie “im Team” zusammen
Multiagentensysteme
Idee: Jeder Agent hat gerade soviel Wissen, wie benötigt wird, um seine Spezialaufgabe zu lösen.
Interaktion zwischen mehreren Agenten mit einfachem Verhalten kann genutzt werden, um komplexe Aufgaben zu lösen.
24. Vorlesung Methoden der KŸnstlichen Intelligenz 6
Kooperierende Agenten
Agentenhaben
– Basisfunktionalität (können bestimmte, ihnen zugeteilte Aufgaben lösen)
– kooperativen Überbau (zur Teilnahme an Ko- operationsverfahren mit anderen Agenten) – Kommunikationsfähigkeit (durch Zugriff auf
Kommunikationskanäle zu anderen Agenten)
gestaffelteS y s t e m e :
auf der obersten Ebene lediglich zwei Agenten:
menschlicher Benutzer - künstliches System, Aufgliederung in Gesellschaft weiterer Agenten bis hin zu primitiven (nicht weiter zerlegbaren) 'Höhere' Agenten
können Wissen über andere Agenten haben.
Kein Agent hat Überblick über das zu lösende Gesamtproblem (keine zentrale Kontrolle).
24. Vorlesung Methoden der KŸnstlichen Intelligenz 7
UniversitŠt Bielefeld
Agentensystem-Konstruktion
u „Mikro-Aspekt“:
Wie entwirft und baut man einen Agenten, der die Fähigkeit zum autonomen Handeln hat?
u „Makro-Aspekt“:
Wie erzielt man effektiv eine Kooperation einer Agentengemeinschaft?
l Kommunikationssprachen und -protokolle
l Kooperationsverfahren und -protokolle
24. Vorlesung Methoden der KŸnstlichen Intelligenz 8
UniversitŠt Bielefeld
Agenten-Kommunikation
Transport
l Wie ist die Kommunikation technisch realisiert?
(Formale) Sprache:
l Wie sind Nachrichten aufgebaut (Syntax)?
l Was bedeuten die Nachrichten (Semantik)?
Vorgehensweise:
l Welchem Schema folgt der Ablauf der Kommunikation?
Systemarchitektur:
l Wie ist das gesamte System strukturiert?
24. Vorlesung Methoden der KŸnstlichen Intelligenz 9
ãQuasistandardÒ KQML
u KQML ist eine Kommunikationssprache und ein Protokoll für den Austausch von Informationen
u KQML ist keine Wissensrepräsentationssprache u KQML kann beliebige Informationen so „verpacken“,
daß jeder Agent von außen als eine Wissensbasis mit einheitlicher Schnittstelle gesehen werden kann
u KQML besitzt eine erweiterbare Menge von Kommunika- tionsprimitiven (Performatives) mit definierter Semantik
Knowledge Query and Manipulation Language
24. Vorlesung Methoden der KŸnstlichen Intelligenz 10
Nachrichten in KQML
u Syntax (vereinfacht):
<KQML-Message> ::= (<Performative> <Attribute-Value-Pairs>)
<Performative> ::= ask | tell | achieve | reply | monitor | forward | subscribe | evaluate | ...
<Attribute-Value-Pairs> ::= <Attribute> <Value> |
<Attribute> <Value> <Attribute-Value-Pairs>
<Attribute> ::= :content | :language | :topic | :ontology | :sender | :receiver | :reply-with | :label | :from | :to | :aspect | :in-reply-to | ...
<Value> ::= (beliebiger string mit passender Klammerung)
u Semantik:logikartige Beschreibung der Vor-, Nach- und Erfüllbarkeits- bedingungen für Performatives
UniversitŠt Bielefeld
Agenten-Kommunikation im OSI-Modell
Problemschicht
Aufgabenschicht
Interaktionsschicht
Anwendungsschicht Transportschicht
Problemschicht
Aufgabenschicht
Interaktionsschicht
Anwendungsschicht Transportschicht
= OSI-Schichten (nach: von Bechtolsheim 1993)
UniversitŠt Bielefeld
Problemschicht
Aufgabenschicht
Interaktionsschicht
Anwendungsschichten
Transportschicht
Interaktionsschicht:
Agenten sind nebenläufige Prozesse mit nachrichtenorientierter Steuerung.
Funktionale Schichten eines Agentensystems
Aufgabenschicht:
Verteilung von Aufträgen an Agenten und Synthese von Teilergebnissen.
Problemschicht:
Verteilte Problemlösung durch Austausch
24. Vorlesung Methoden der KŸnstlichen Intelligenz 13
Interaktionsschicht
Ag1
Ag2
Ag3
Ag4
M1 M2
M3
M4
Agentensystem definiert als endliche Menge aktiver nebenläufiger Elemente, die über ein Nachrichtentransportsystem kommunizieren
(nach: von Bechtolsheim 1993)
24. Vorlesung Methoden der KŸnstlichen Intelligenz 14
Aufgabenschicht
Ag1
Ag2
Ag3
Ag4
Auftrag
Ergebnis
Ergebnis
Ergebnis
Verteilung von Teilaufgaben an andere Agenten und Synthese von Teil- ergebnissen. Empfänger können auch ohne Auftrag Ergebnisse erhalten.
(nach: von Bechtolsheim 1993)
24. Vorlesung Methoden der KŸnstlichen Intelligenz 15
UniversitŠt Bielefeld
Alternative Abstimmungstypen
Auftrag- geber
Auftrag- nehmer
(nach: von Bechtolsheim 1993)
Auftrag- geber
Auftrag- nehmer
Auftrag- geber
Auftrag- nehmer
Auftrag- nehmer Auftrag
Auftrag Annahme
Auftrag
Annahme Annahme Auftrag
unilateral bilateral multilateral
24. Vorlesung Methoden der KŸnstlichen Intelligenz 16
UniversitŠt Bielefeld
Problemschicht
Ag1
Ag2
Ag3
Ag4
Teilproblem Teillösung
Teillösung
Teillösung
Konkreter Problemlösungsprozeß stellt sich im Agentensystem als ein Austausch von Teilproblemen und Teillösungen dar.
(nach: von Bechtolsheim 1993)
24. Vorlesung Methoden der KŸnstlichen Intelligenz 17
Kooperationsverfahren
u Master-Slave
l ein zugeteilter Auftrag ist auszuführen
u Contract-Net
l Verhandlungsverfahren: Aufträge werden von Auftraggebern ausgeschrieben, Auftragnehmer machen Angebote, Angebote können abgelehnt oder zugeteilt werden, Auftragsergebnis ist zurückzuliefern bzw. auszuführen
u Abwicklung
l z.B. über unilateralen, bilateralen oder multilateralen Nachrichtenaustausch oder auch global („Blackboard“)
24. Vorlesung Methoden der KŸnstlichen Intelligenz 18
Algebraische Terme werden über hinzugezogene „Spezialisten“ ausgerechnet.
Laufbeispiel für eine über ein Blackboard gesteuerte Kooperation/
Kommunikation (visualisiert mit WBS AgentVis)
UniversitŠt Bielefeld
Laufbeispiel: Kommunikation der Agenten des SGIM-Gestenerkenners (realisiert mit WBS Agents;
visualisiert mit WBS AgentVis)
UniversitŠt Bielefeld
Zwischen-ResŸmee
u Realisierung komplexer heterogener Softwaresysteme durch ein System kooperierender Agenten transparent und konzeptionell vorteilhaft
u Komplexe Agenten können als „Agenturen“ konzipiert und als Multiagentensystem realisiert werden
u Einzelnen Komponenten können aktive Rollen zugewiesen werden, Interaktionen sind intuitiv modellierbar
vertiefende Literatur (Buch neu!)
u Kap. 24 „Software-Agenten“ in Görz et al. „Handbuch der KI“