Multiagentensysteme Seminar Datenkommunikation und verteilte

Werbung
Rheinisch-Westfälische Technische Hochschule
Aachen
Lehrstuhl für Informatik IV
Prof. Dr. rer. nat. Otto Spaniol
Multiagentensysteme
Seminar
Datenkommunikation und verteilte Systeme
SS2002
Marko Filipović
Matrikelnummer:
Betreuer:
Karl-Heinz Krempels
Lehrstuhl für Informatik IV, RWTH Aachen
Inhaltsverzeichnis
1 Agenten
1.1 Was sind Agenten? . . . . . .
1.2 Beispiele . . . . . . . . . . .
1.3 Intelligente Agenten . . . . .
1.4 Abstrakte Agentenarchitektur .
1.5 Reaktive Agenten . . . . . . .
1.6 Wahrnehmung . . . . . . . . .
1.7 Agenten mit innerem Zustand
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2 Architekturen von intelligenten Agenten
2.1 Logik-basierte Agenten . . . . . . . . . . . . .
2.2 Reaktive Agenten . . . . . . . . . . . . . . . . .
2.3 Schichten Architekturen (Layered Architectures)
2.4 Touring Machine . . . . . . . . . . . . . . . . .
2.5 INTERRAP . . . . . . . . . . . . . . . . . . . .
2.6 Zusammenfassung - Schichtenarchitekturen . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
5
5
6
7
7
8
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
10
10
11
12
14
14
15
3 Lernen in Multiagenten-Systemen
3.1 Einführung . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Allgemeine Charakteristik . . . . . . . . . . . . . . . .
3.2.1 Unterscheidungsmerkmale . . . . . . . . . . . .
3.2.2 Bewertungsproblem . . . . . . . . . . . . . . .
3.3 Lernen und Koordination von Aktivitäten . . . . . . . .
3.3.1 Adaptives Lernen . . . . . . . . . . . . . . . . .
3.3.2 CIRL - Isoliertes, gleichzeitiges adaptives Lernen
3.3.3 Interaktives adaptices Lernen der Koordination .
3.4 Zusammenfassung . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
15
15
16
17
18
19
20
22
23
24
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Computerprogramme wissen nicht in allen Situationen was sie machen sollen. Ein Computerprogramm muß auf alles vorbereitet sein — alle Zustände und alle Aktionen müssen voraus definiert werden. Die Erweiterung der Funktionalität zur Laufzeit ist nur begrentzt möglich und sehr
rudimentär. Eine Vielzahl von Anwendungen braucht Programme robust arbeiten und selbstständig entscheiden können. Solche Programme heißen Agenten. Dieser Vortrag beschäftigt sich mit
dem Thema intelligente Agenten. Hier werden Grundkonzepte und Ideen hohen Abstraktionsniveau behandelt. Im ersten Abschnitt werden Agentenkonzepte vorgestellt. Der zweite Abschnitt
beschäftigt sich mit Konkreten Agentenarchitekturen. Der letzte Abschnitt geht das Lernen in
Multiagentensystemen ein.
1 Agenten
1.1 Was sind Agenten?
Die Problematik der Agenten wird in der Gegenwart stark erforscht und diskutiert. Aber trotzdem
gibt es keine universelle und allgemein akzeptierte Definition was ein Agent ist. Die Bedeutung
des Wortes Agent variert von einer Anwendung und, von einem Autor zu dem anderen. In verschiedenen Anwendungen und Umgebungen haben Agenten unterschiedliche Eigenschaften. So
ist zum Beispiel die Eigenschaft “Lernen aus der Erfahrung” von der zentralen Bedeutung für
eine Anwendung aber nur wenig relevant für die andere. Man ist sich allerdings einig, daß der
Begriff autonomes Verhalten ein zentraler Begrif der Agententheorie ist.
Eine Definition sowie die Präzisierung des Begriffes ist sehr wichtig und für den weiteren
Aufbau notwendig. Folgende Definition wurde aus [1] übernommen: Ein Agent (auch Standardagent) ist ein Computersystem das sich ein einer Umgebung (environment) befindet und die
Fähigkeit hat in dieser Umgebung durchzuführen um seine Ziele zu erreichen.
Diese Definition definiert “Agenten” und nicht “intelligente Agenten”. Weiter sagt sie auch
nichts genaues über die Umgebung aus. Agenten können sich in beliebigen Umgebungen befiden.
Zuletzt soll “autonomes Verhalten” bedeuten, daß Agenten ohne menschliche Hilfe reagieren und
den internen Zustand selbständig verändern können.
Abbildung 1 zeigt ein abstraktes Model. Ein Agent bekommt über seine Rezeptoren Informationen über seine Umgebung. Durch die Aktionen kann der Agent seine Umgebung beeinflussen
und modifizieren. Nicht alle Aktionen können zu jedem Zeitpunkt durchgeführt werden. In jeder
Situation stehen mehrere Aktionen zur Verfügung. Die entscheidende Frage ist welche Aktion
zum angestrebten Ziel führt. Eine Aktion kann zum gewünschten Ergebnis führen oder auch
nicht, da sie versagen kann. So muß jeder Agent auf solche Fälle vorbereitet sein. In Abhängigkeit von dem Zustand der Umgebung, kann eine Aktion zu verschiedenen Zeitpunkten zu
verschiedenen Ergebnissen führen. Zusätzlich wird ein Agent einer komplexeren Domäne keine
totale Kontrolle über seine Umgebung haben. Er kann sie höchstens beeinflußen.
Die Eigenschaften der Umgebung spielen unmittelbar eine Rolle im Entscheidungsprozeß
des Agenten. Welches sind die Eigenschaften einer Umgebung und wie kann man sie klassifizie3
Sensoreingabe
Aktion Ausgabe
AGENT
UMGEBUNG
Abbildung 1: Agent in seiner Umgebung
ren? In [2] schlagen die Authoren folgende Klassifizierung vor:
Zugänglich oder unzugänglich.
Wird eine Umgebung als zugänglich bezeichnet, so kann der Agent immer komplette und
aktuelle Informationen über die Umgebung bekommen. Offensichtlich können dann Agenten in solcher Umgebung einfacher operieren. Die meisten Umgebungen wie z.B. Internet
oder reale 4D Welt sind unzugänglich.
Deterministisch oder Nicht-Deterministisch.
In deterministischen Welten haben Aktionen immer den selben Effekt. Es gibt also keine Ungewissheit über das Ergebnis der ausgeführten Aktion. Die physikalische Welt ist
naturgemäß nicht-deterministisch. Die nicht-deterministische Welt stellt größere Herausforderung für die Agentenarchitektur dar.
Episodisch oder Nicht-Episodisch.
In episodischen Umgebungen ist die Erfahrung des Agenten unterteilt in “Episoden”. Jede
Episode besteht aus Eingaben und Handlungen. Die Qualität hängt nur von der jeweiligen
Episode selbst ab, da die darauf folgenden Episoden von den vorigen unabhängig sind. In
episodischen Welten muß ein Agent nicht vorausdenken, daher sind sie auch einfacher zu
programmieren. Ein Beispiel für eine episodische Umgebung wäre ein Mail Sortierungssystem.
Statisch oder dynamisch.
In dynamischen Welten gibt es nicht nur einen Agenten sondern beliebig viele. Daher
verändern sich die Umgebung eines Agenten mit der Zeit und dieser hat keine Möglichkeit
sie zu kontrolieren. Die physikalische Welt ist ein typisches Beispiel.
Diskret oder stetig.
Eine Umgebung ist diskret, wenn es nur eine begrenzte Anzahl von Zuständen in denen sie
4
sich befinden kann, gibt. Das Schachspiel ist ein Beispiel für eine diskrete Umgebung und
Autofahren für eine stätige.
1.2 Beispiele
Ein beliebiges Steuerungssystem kann man als einen Agenten betrachten. Ein einfaches
und sehr oft benutztes Beispiel ist der Thermostat. Ein Thermostat hat Sensoren welche
die Temperatur in einem Zimmer ermitteln. Er ist also unmittelbar mit seiner Umgebung
verbunden. Die Sensoten liefern Informationen über den Temperaturzustand und der Thermostat hat zwei mögliche Aktionen. “Heizung an” wenn es kalt ist und “Heizung aus”
wenn eine bestimmte Temperatur erreicht wurde.
Software Hintergrundprozesse wie z.B. UNIX-Deamonen oder Virus-Scanner können auch
als Agenten betrachtet werden. Der Unterschied zu einem Steuerungssystem ist offensichtlich der Typ der Umgebung. Computeragenten “leben” in einer Software-Umgebung wobei
der Thermostat in der physikalischen Welt funktioniert.
1.3 Intelligente Agenten
Um eine Definition geben zu können was ein intelligenter Agent ist, muß man zuerst den Begriff
Intelligenz definieren. Dies ist offensichtlich nicht besonders einfach. Um die folgenden Konzepte zu erläutern verstehen wir unter intelligenten Agenten die Programme welche ein flexiblles
und autonomes Verhalten haben. Flexibilität sollte im Sinne einer der folgenden Eigenschaften
verstanden werden:
Reaktivität (reactivity):
Agenten nehmen die Umgebung wahr und reagieren auf Veränderungen.
Pro-Aktivität (pro-acctivness):
Agenten verhalten sich zielorientiert. Sie können von selber aktiv werden und die initiative
übernehmen um ihre Aufgaben zu erfüllen (goal-directed behaviour).
soziale Fähigkeit (social ability):
Intelligente Agenten können mit anderen Agenten oder Menschen interagieren.
Zielorientierte Agenten konstruieren ein internes Zielmodel das sie erreichen wollen und versuchen eine Folge von Schritten zu finden (z.B durch suchen, planen usw.) um das Ziel zu erreichen. Diese Agenten können eventuell verschiedene Aktionen vergleichen und dann “die Beste”
ausführen. Dafür setzen sie voraus, daß die Ziele sich während der Ausführung der einzelnen
Schritte nicht ändern. Zu Problemen kommt es dann, wenn ein Agent Ziele hat die sich gegensetig ausschließen. Beispiel für solche Agenten sind Überwachungs- oder Filter-Programme in
Netzwerken.
In dynamischen Welten können die Agenten ihre Umgebungen nicht immer komplett erforschen. Sind die Welten mit mehreren Agenten (Multiagent environment) bewohnt, oder gibt es
5
eine Ungewissheit über die Umgebung, bewohntso werden die einfachen, proaktiven Agenten,
schnell versagen. In den komplexen Welten müssen Agenten reaktiv werden. Das heißt sie müssen auf die Ereignisse die in ihrer Umgebung passieren reagieren und dem entsprechend ihre
Ziele und Aktionen anpassen.
Die Konstruktion von nur proaktiven oder reaktiven Agenten ist nicht sehr schwer. Aber
die Agentensysteme die eine balancierte Kombination der beiden Ansätze darstellen sind nicht
mehr so einfach zu programieren. Zeigt ein Agent nur proaktives Verhalten in einer dynamischen
Umgebung, wird er schnell versagen wenn sich die Ziele oder die Voraussetzungen verändern,
weil er damit nicht rechnet. Auf der anderen Seite laufen reaktive Agenten in die Gefahr zu
lange zu überlegen und nicht mehr zur Arbeit zu kommen um das Ziel zu erreichen. Schließlich
ist dieses Problem sogar für Menschen nicht unbedingt einfach zu lösen.
Agenten die Fähigkeit besitzen mit anderen Agenten zusammenz arbeiten, zu kommunizieren, und zu verhandeln werden in diesem Vortrag nicht behandelt.
1.4 Abstrakte Agentenarchitektur
Im letzten Abschnitt wurden Agenten-Modelle auf einem abstraktem Niveau präsentiert. Jetzt
sollen diese Ideen formalisert werden.
Umgebung (Welt) : es wird angenommen, daß, sich die Umgebung durch eine Menge von
Zuständen repräsentieren läßt:
Agenten besitzen ein Repertoir an Aktionen:
Dann kann man einen Agenten auch als eine Funktion defineren, welche eine Sequenz von
Zuständen auf Aktionen abbildet:
) !+*-,./102435 63
"!$#&%('
Das Nicht-deterministisches Verhalten der Umgebung kann man durch eine Abbildung
,
darstellen:
) !+*7#98
';:<,.&0
=3$
welche den aktuellen Umgebungszustand und eine Aktion auf eine Menge der möglichen
Zustände abbildet. Ist das Bild dieser Abbildung ein
, dann ist die Umgebung deterministisch und alle resultieren Zustände können berechnet werden.
Interaktion zwischen einem Agent und seiner Umgebung bezeichnet man als Lebenslauf:
> 1# ?AD @C' B ED @' F GD @C' H AD @J' I D@JK' L F M D @J' K ?
1MNO die D te Aktion und M
wo der Anfangszustand der Umgebung ,
bungszustand ist.
6
der
D
te Umge-
>
"! #2 % '
) !+* # 8
' :7, &0
history condition: Ist
ein Agent in einer Welt
,
dann repräsentiert (wie oben definiert) eine history genau dann, wenn folgende zwei
Voraussetzungen erfüllt sind:
&3 &3 /M- "! , ,.? M 0C0
M 3 ) !-*+, M NO MNOC0
1 "! in einer Umgebung ) !-*
Ein charakteristisches Verhalten eines Agenten
und
so daß
> ist die Menge aller Lebensläufe die gewisse Eigenschaften erfüllen. Falls eine Eigenschaft für alle
gültig ist, dann ist sie invariant in dieser Umgebung. Zum Beispiel wenn ein Agent einen
Nuklearreaktor überwacht und der Reaktor in seiner ganzen Geschichte nicht explodiert,
dann ist das eine (gewünschte) invariante Eigenschaft.
Menge aller
> J
s bezeichne man als > , ) ! ) !-* 0 .
1.5 Reaktive Agenten
Wie schon oben erwähnt wurde, reagieren reaktive Agenten auf Veränderungen in ihrer Umgebung und treffen dann die Entscheidungen über Aktionen die sie ausführen werden, basierend
auf diesen veränderungen. Manche Agenten stützen ihre Überlegungen nur auf dem aktuellen
Weltzustand und berücksichtigen die vorherigen Entwicklungen nicht. Man nennt sie dann purely reactive agents. Formal kann man das Verhalten eines solchen Agenten durch
1 "! # $'
ausdrücken. Der Thermostat ist ein Agent von der Sorte. Offensichtlich gibt es zu jedem purely
reactive auch einen Standardagent. Umkehrung ist allgemein nicht gültig.
1.6 Wahrnehmung
Wahrnehmung ist die Fähigkeit des Agenten seine Umgebung zu “beoabchten”. Die Ergebnisse
der Beobachtungen hanben dann Einfluss auf den Entscheidungsprozeß (decision making). Um
den Prozeß der Wahrnehmung zu formalisieren sei zunächst eine nicht leere Menge von Empfindungen (percepts). Dann bildet die Funktion see die Menge der Umgebungszustände auf
diese Menge
)) #1 ' Entscheidungsfunktion ordnet einer Menge von Empfindungen (percept) eine Aktion zu:
1 "! # % '
Für Software-Agenten, z.B. in einem Unix System, können die Systemkommandos wie ls, ps
usw. zur Verfügung stehen um die Umgebungsinformationen zu bekommen. Agenten die sich in
7
SEE
ACTION
Aktion Ausgabe
Sensoreingabe
AGENT
UMGEBUNG
Abbildung 2: Agenten mit Wahrnehmung
der physikalischen befinden müssen dann entsprechende Sensoren (Kameras, Infrarotsensoren)
besitzen, d.h die Funktion see ist in der Hardware implementiert.
Agenten mit Wahrnehmung können schematisch wie auf der Abbildung 2 dargestellt werden.
Zu beobachten ist, daß die Entscheidungsfunktion des Agenten in zwei Subsysteme aufgespalten
wurde. Dadurch wurde das allgemeine Konzept der Agentenarchitektur verfeinert. Durch Verfeinerung werden Designkonzepte festgelegt die im späteren Designprozeß großen Einfluss darauf
haben welche Subsysteme in der Agentenarchitektur vorhanden sind.
1.7 Agenten mit innerem Zustand
Ab und zu ist es nützlich Agenten zu konstruieren welche die Entscheidungen nicht nur auf
Grund der Umgebungszustände treffen sondern auch ihre Vergangenheit berücksichtigen. Dieses wird durch die Einführung eines internen Zustandes erreicht. Der Agent speichert in einer
inneren Datenstruktur den aktuellen Umgebungszustand und eine Reihe von früheren Zuständen
(history). Abbildung 3 zeigt die innere Struktur. Sei die Menge der inneren Zuständen von
AGENT
STATE
Sensoreingabe
NEXT
ACTION
Aktion Ausgabe
SEE
UMGEBUNG
Abbildung 3: Agenten mit innerem Zustand
8
)) #2' "!
dem Agent. Der Entscheidungsprozeß des Agenten besiert teilweise auf dieser Information. Die
Wahrnehmungsfunktion
belibt unverändert. Die Handlungsfunktion
muß
neu definiert werden
Es wird eine neue Funktion
! # '
! ) # 8 '
definiert, welche den aktuellen Agentenzustand aufgrund der neuen Umgebungsinformationen
in einen neuen Zustand überführt.
Die Funktionsweise von Agenten mit innerem Zustand könnte wie folgt beschrieben werden.
Der Agent startet in einem Anfangszustand . Mittels Rezeptoren “beobachtet” er den Umgebungszustand und generiert durch
Informationen (percepts) über das was wahrgenommen wurde. Der innere Zustand des Agenten wird anschließend mit aktualisiert
und eine Aktion
wird ausgeführt. Wenn die Handlung durchgeführt
wurde startet der Agent einen neuen Zyklus.
Ein Agent mit innerem Zustand ist nicht mehr fähig als ein Standardagent. Zu jedem solchen
Agent existiert ein Standardagent mit demselben Verhalten.
)) , "0
1 "! , ! ) , ?" )) , "0 0C0
?
! ) , ? )) ,."0 0
9
2 Architekturen von intelligenten Agenten
"!2 ! ) ) )
Im letzten Abschnitt wurden abstrakte Konzepte und Ideen der Agenten diskutiert. Es wurde
nichts darüber gesagt wie die einzelnen Funktionen (
) konkret realisiert werden
können. In diesem Abschnitt werden vier Klassen von Agenten vorgestellt, die von abstrakten
Architekturen abweichen und konkrete Konturen annehmen. Das sind:
Logik-basierte Agenten – Entscheidungsprozeß durch logische Deduktion
Reaktive Agenten – direkte Abbildung zwischen Situationen und Aktionen
Schichten Architekturen (layered architectures) – Der Entscheidungsprozeß ist realisiert
duch verschiedene Software-Schichten auf unterschiedlichen Abstraktionsniveaus.
2.1
Logik-basierte Agenten
Logik-basierte Agenten stellen einen traditionellen Zweig der Künstlichen Intelligenz. Hier geht
man davon aus, daß man ein System symbolisch darstellen und ein intelligentes Verhalten durch
syntaktische Manipulation der Symbole realisiert werden kann. Symbole sind hier die logischen
Formeln. Syntaktische Manipulation bedeutet logische Deduktion oder Beweisen von Sätzen.
Logikbasierte Agenten arbeiten in einer Welt deren Eigenschaften durch FO-Sätze beschrieben sind. Die Information die ein Agent über die Umgebung besitzt ist eine Datenbank. Sei
eine Menge von Sätzen in FO-Logik und sei die Menge der L Datenbanken, d.h.
eine Menge von Mengen von Formeln. Der innere Zustand ist ein Element . Der Entscheidungsprozeß des Agenten ist gegeben durch Ableitungsregeln , d.h. wenn eine
Formel aus einer Datenbank mittels logischer Deduktion abgeleitet werden kann. Die Wahrnehmungsfunktion
bleibt unverändert:
" , 0
))
!) Hier hat die Funktion 3
)) #1 ' die Form
! ) ! ) # 8
'
bildet eine Datenbank und die durch Sensoren ermittelte Empfindung (percept) auf eine
neue Datenbank ab. Die Funktion
1 "! # '
welche die Handlung des Agentnen durch die Ableitungsregeln bestimmt ist wie folgt definiert:
#
):
function action( begin
for each
do
if return
63
, 0
then
10
63
,.10
return
for each
if do
then
return null
end
,.10
Zuerst untersuchtder Agent alle Aktionen und prüft ob die Formel aus der aktuellen
Datenbank (Information über die Welt) abgeleitet werden kann. Falls ja, wird die Aktion ausgeführt. Ansonsten sucht der Agent eine Aktion die mit der Datenbank konsistent ist, das heißt,
daß man sie zwar nicht ableiten kann, sie aber nicht ausdrücklich verboten ist. Ist das auch nicht
der Fall, so wird keine Aktion ausgeführt.
Logikbasierte Agentenarchitekturen bringen viele Probleme mit sich. Es ist beispielsweise
nicht sehr trivial komplexe dynamische Umgebungen durch ein Paar Sätze zu beschreiben. Auch
in vielen Fällen ist die Abblidung der Wahrgenommenen Information über die umgebende Welt
auf FO-Formel mehr als problematisch. Zum Beispiel, wie läßt sich ein 2D Bild welches die
Videokamera geliefert hat durch logische Formeln bechreiben? Zusätzlich vererben solche Modelle die Komplexität der Beweisführung für FO-Formeln. Daher ist es mehr als fraglich ob
solche konzepte für Echtzeitanwendungen überhaupt tauglich sind.
2.2 Reaktive Agenten
Ende der 80er Jahre wurden Alternativen zu den auf Symbolik basierenden Agenten erforscht.
Ein anderer Weg beruht auf der Idee, daß intelligentes Verhalten eines Agenten untrennbar mit
der Welt die er belebt, verbunden ist. Die Intelligenz ist ein Produkt der Interaktion zwischen
dem Agent und der Umgebung. Dieser neuer Versuch Agenten zu konstruieren heißt in der Literatur oft verhaltensorientiert (behavioural), situationsbasiert (situational) oder wie hier reaktiv
(reactive) (die systeme reagieren oft nur auf die Umgebung ohne über sie “nachzudenken”). Diese Kapitel versucht einen Überblick über die sogenannte subsumption architecture (im weiteren
SA) zu presentieren.
Es gibt zwei typische Merkmale die für SA charakteristisch sind:
1. Ein Entscheidungsprozeßs besteht aus einer Reihe von Handlungsmechanismen die verschiedene Verhaltensarten realisieren (task accomplishing behaviours). Jede Funktion die
ein bestimmtes Verhalten des Agenten definiert bildet direkt und kontinuierlich die durch
Wahrnehmung gewonnene Eingaben auf konkrete Aktionen ab.
2. Die das Verhalten definierenden Funktionen können gleichzeitig reagieren und mehrere Ereignisse simultan erzeugen. Man kann sich dann einfach aussuchen was ausgeführt werden
soll und was nicht. Die Verhaltensweisen eines Agenten kann man in hierarchisch geordneten Sichten organisieren, wobei die höheren Schichten abstrakteres Verhalten zeigen als
die unteren. Zum Beispiel ein mobiler Roboter könnte das Verhalten “meide Hindernisse”
demonstrieren. Handlungen welche diese Aufgabe erfüllen besitzen eine höhere Priorität
und werden sich daher in niedrigeren Schichten befinden.
11
))
Wahrnehmungsfunktion
darf unverändert bleiben. Reaktive Agenten reagieren direkt auf
wahrgenommene Informationen und es findet keine Zwischenverarbeitung der “sinnlichen” Daten statt.
Die Entscheidungsfunktion wird durch eine Menge von Verhaltensmerkmalen realisiert. Ein
formalisieren, wobei
(condition)
Verhaltensmerkmal kann man durch ein Tupel
eine Menge von Empfindungen und
eine Aktion ist. Eine verhaltenstypische Handlung
entsteht genau dann, wenn
. Sei
, 10
, 3 0
)) ,.0 35
) > ,."10 und
63 die Menge aller Merkmale die eine Valhaltensweise des Agenten definieren.
Aktionsauswahl beginnt mit der Berechnung aller erzeugten Verhaltensmerkmale. Für jedes
Merkmal
wird geprüft ob es Merkmale mit hoheren Prioritäten gibt. Wenn ja, so werden
diese zuerst bearbeitet, wenn nicht wird ausgeführt. Die Komplexität einer Aktionsauswahl
ist im schlimmsten
. Im vergleich zu der theoretischen Komplexität der logikbasierten
Modelle ist dies ein gewinn. Ausserdem kann der Entscheidungsprozeß komplett in die Hardware
gegossen werden, was für praktische Anwendungen sicherlich einen großen Vorteil bedeutet.
Insgesamt ist diese Architektur flexibel (geringe Modifizierung für verschiedene Anwendungen), billig (einzelne Agenten können sehr effizient eine Aktionsauswahl durchführen) und robust (Ausschalten eines einzelnen Agenten legt das gesamte System nicht lahm). Andererseites
gibt es noch einige fundamentale, ungelöste Probleme:
, 0
,! 0
Lernen nicht vorhanden - Agenten können eigene Funktionalität aufgrund der Erfahrung
nicht verbessern.
Agenten müssen ausreichende Informationen über ihre lokale Umgebung besitzten. Der
innere Zustand basiert nur auf dem aktuellen Umgebungszustand und betrachtet mögliche
langfristigen Veränderungen nicht.
Es gibt keine Rezeptur wie man Agenten konstruieren kann. Experimentierung ist der einzige Weg.
Interaktionsdynamik zwischen einzelnen Schichten sehr komplexer Agenten wird unübersichtlich und sehr schwer zu verstehen.
2.3 Schichten Architekturen (Layered Architectures)
Die Idee von verschiedenen geordneten Schichten welche auf unterschiedlichen Abstraktionsebenen das Verhalten eines Agenten bestimmen wurde im letzten Abschnitt schon vorgestellt. In
dieser Klasse von Architekturen werden verschiedene Subsysteme in Schichten organisiert, die
hierarchisch geordnet sind. Hier werden einige allgemeine Konzepte der Schichtenarchitektur
vogestellt.
Generell gibt es zwei Typen des Kontrollflusses innerhalb der Schichtenarchitektur:
12
Horizontal layering.
In der horizontalen Anordnung (Abb. 4 links ) sind alle Softwareschichten direkt mit der
Sensoreingabe und Aktionsausgabe verbunden. Im Prinzip verhält sich jede Schicht wie
ein Agent und macht Vorschläge über möglichen Aktionen.
vertical layering.
In der vertikalen Anordnung (Abb. 4 mitte und rechts) hat zu jedem Zeitpunkt nur eine
einzige Schicht Zugang zu der Eingabe und Ausgabe.
!
!
Ein großer Vorteil der horizonalen Architektur liegt im Konzept: wenn ein Agent Verhaltensmodi besitzen sollte, so implementiert man verschiedenen Schichten. Da diese Schichten
gleichzeitig Vorschläge über Aktionen liefern, droht die Gefahr, daß das allgemeine Verhalten
des Agenten inkoherent wird. Um dieses zu verhindern und um sicherzustellen, daß die Architekturen konsistent sind, werden noch Mediator-Funktionen benötigt. Diese werden in einem
zusätzlichen Subsystem realisiert (also in einer extra Schicht) und entscheiden welche Schicht
gerade das Verhalten des Agenten bestimmt. Die Notwendigkeit eines solchen zentralen Kontrollsystems ist hoch problematisch, denn man muß vielleicht alle möglichen Kombinationen
von Interaktionen zwischen Schichten betrachten. Für Schichten und durchschnitlich Aktio
nen pro Schicht gibt es
verschiedenen Interaktionen.
!
Layer
g replacements
Aktion
!
Layer
Sensor
Eingabe
!
Layer
Layer
Layer
!
Aktion
Layer
Layer
Layer
Sensor
Layer
Sensor
Aktion
Abbildung 4: Schichtenarchitekturen - Drei Typen von Informations- und Kontrollfluss
Der Ansatz von vertikalen Schichten behebt zum Teil dises Problem. Vertikale Struktur kann
man weiter unterteilen in one pass Architektur (Abb. 4 mitte) und two pass Architektur (Abbildung 4 rechts). Wie die Abbildungen suggerieren, liegt der Unterschied im Kontrol- und Informationsfluss zwischen den Schichten. Ein-Weg Architekturen bearbeiten Informationen von der
ersten Schicht sequentiell bis zur letzten, wo Aktionsentscheidungen getroffen werden. Im Falle
von Doppelwegarchitekturen fliessen Informationen und die Kontrolle einmal “von unten nach
Schnittstellen dazwischen. Ist jede
oben” und einmal umgekehrt. Für Schichten gibt es
!
! D
13
,
!
0
D
Aktionen zu generieren, dann gibt es insgesamt
Schicht in der Lage
zu bearbeitenden Interaktionen zwischen den Schichten. Das ist eine wesentliche Verbesserung gegenüber
bei den horizontalen Architekturen. Diese Vereinfachung wird allerdings mit der Flexibilität
bezahlt: um eine Entscheidung zu treffen müssen alle Schichten (einmal oder zweimal) durchgelaufen werden und dies ist nicht fehlertolerant. Fehlentscheidung auf einer Ebene kann auf der
nächsten nicht korrigiert werden, was direkt eine große Auswirkung auf die Gesamtperfomanz
des Agenten zu Folge hat.
2.4 Touring Machine
Eine Beispielarchitektur für horizontale Schichtmodelle wird in Abbildung 5 gezeigt. Das System besteht aus drei Schichten die Aktionen generieren. Das bedeutet, sie machen Vorschläge
welche Aktionen durchgeführt werden können. Die Reaktive Schicht erzeugt sofortige Aktionen
als Reaktion auf Umgebungszustände. Die Palanungsschicht kümmert sich um allgemeines Verhalten des Agenten. Dazu werden verschiedene Schemata aus einer Bibliothek geschöpft. Diese
Schicht entscheidet welches Schema zu einem Zeitpunkt zur Erfüllung des Ziels führt. Modelierungsschicht versucht zum Beispiel die Konflikte zwischen den Agenten vorherzusehen und neue
Ziele zu generieren welche diese Konflikte lösen. Die drei Schichten sind in ein Kontrolsubsystem eingebettet welches die Entscheidungswahl trifft. Das Aktionssubsystem führt anschießend
die ausgewählten Aktionen durch.
Modelierungsschicht
Wahrnehmungssystem
Plannungsschicht
Aktionssubsystem
Sensoreneingabe
Reaktive Schicht
Aktion
Kontrolsubsystem
Abbildung 5: TouringMachine - Horizontale Schichtarchitektur
2.5 INTERRAP
INTERRAP ist ein Beispiel für eine vertikale 2-Weg Agentenarchitektur (Abb. 5). Der Agent
hat ähnlich wie die Touring Maschine drei Schichten. Niedrigste schicht representiert das reaktive Verhalten. Mittlere Schicht (lokales Planen) plannt Ziele welche welche zur Erfüllung
der Aufgaben führen. Obere Schicht kümmert sich um soziales Verhalten. Jede Schicht hat eine
korrespondierende Wissensbasis der Welt auf dem jeweiligen Neuveau. Oberste Wissensbasis
14
representiert Pläne und Aktionen anderer Agenten in der Umgebung. Mittlere Basis representiert Pläne und Aktionen des Agenten selbst und untere Wissensbasis hat “rohe” Informationen
über die Umgebung. Im Gegenzug zu der TouringMachine haben nicht alle Schichten direkten
Kontakt mit der Umgebung. Um eine Entscheidung zu treffen komunitieren die Schichten miteinander. Ist eine Schicht nicht in der Lage eine Entscheidung zu treffen, übergibt sie die Kontrolle
an die obere Schicht (bottom-up Aktivierung). Hat eine Schicht eine Aktion generiert, wird die
Kontrolle dann wieder an die nächste tiefere Schicht zurückgegeben (top-down Ausführung).
2.6 Zusammenfassung - Schichtenarchitekturen
Schichtenarchitekutern genießen in der Gegenwart große Beliebheit. Das Schichtenmodel repräsentiert eine natürliche Trennung der Funktionalität: Reaktivität, Pro-Aktivität und soziales
Verhalten. Schichtenarchitektur ist eine pragmatische Lösung ohne einer konzeptualen Semantik. Im Vergleich zu Logik-Basierten Architekturen die eine klare Semantik besitzen ist es nicht
einfach ein ähnliches Model für Schichtenarchitekuren zu definieren. Desweiteren ist die Interaktion zwischen den Schichten ein Problem, weil man theoretisch alle möglichen Arten wie die
Schichten untereinander Interagieren können berücksichtigen muß.
Zusammenarbiet
soziale Wissensbasis
Planung
Planungswissen
Verhalten
Weltmodel
Schnittstelle zur umgebenden Welt
Aktion
Sensoreneingabe
Abbildung 6: INTERRAP - Vertikalgerodnete doppelweg Schichtarchitektur
3 Lernen in Multiagenten-Systemen
3.1 Einführung
Lehrfähigkein und Intelligenz sind eng miteinander verbunden. Allgemein wird die Meinung
akzeptiert, daß ein lernfähiges System als intelligent bezeichnet werden darf und umgekehrt nennt man ein System intelligent, so erwartet man unter anderem auch, daß es lernen kann. Die
traditionelle Künstliche Intellligenz beschreibt Lernen wie folgt:
15
The acquisiton of new knowledge and motor and cognitive skills and incorporation of the acquired knowledge and skills in future system activities, provided that
this acquisition and incorporationis conducted by the system itself and leads to an
improvement in its performance.
Machine learning (ML) ist eine der Kerndisziplinen der Künstlichen Intelligenz (siehe [6]).
ML beschäftigt sich mit computerorientiertem Lernen sowohl in technischen als auch in allgemeinen natürlichen Systemen. Lernen in Multiagentensys-temen ist ein Querschnitt zwischen
ML und der verteilten künslichen Intelligenz (distributet artificial intelligence - DAI). In dieserm Kapitel werden die grundlegende Ideen und Konzepte im Sinne der obigen Definition vom
Lernen vorgestellt.
Warum braucht man lernfähige Agenten? In Multiagentensystemen (d.h. in Systemen mit
mehr als einem Agenten die untereinander interagieren können) welche in großen, komplexen, offenen, dynamischen und unvorhersehebaren Umgebungen operieren, ist es nicht möglich
Agenten zu konstruieren die über vollständige Informationen der Welt verfügen. Agenten können auch nicht wissen was auf sie in der Zukunft zukommt, wie sich die Umgebung verändert,
welche anderen Agenten im System verfügbar werden und wie sie mit denen komunizieren und
interagieren, und wie sich das ganze auf die gesamte Systemleistung auswirken würde. Es liegt
also auf der Hand, Agenten mit einem Grundgerüst an Informationen und Aktionen zu versehen,
die zusätzlich die Fähigkeit besitzen die eigene Funktionalität selbstständig zu erweitern.
Lernen in Multiagentensystemen unterscheidet sich vom Lernen der Einzelagenten, die unabhängig von den anderen Agenten in ihrer Umgebung lernen (stand-alone agents). Lernen in Multiagentensystemen umfaßt und erweitert das Lernen in “standalone“ Systemen, weil der Lernprozeß individueller Agenten von den anderen Agenten beträchtlich beeinflußt werden kann und
weil einzelne Agenten interaktiv und verteilt lernen können so wie als eine Gesamtheit auftreten
können. Dieser Ansatz kann wertvolle Informationen über den generellen Lernprozeß liefern und
Wege zu neunen Techiken und Algorithmen öffnen.
Im nächsten Abschnitt wird das Lernen in Multiagentensystemen allgemein vorgestellt und
charakterisiert. Weitere Abschnitte werden konkrete Ansätze detailierter angehen.
3.2 Allgemeine Charakteristik
Lernen in Multiagentensystemen hat viele Aspekte. So kann man in der Literatur verschiedene
Fachbegriffe finden die immer dasselbe aber aus unterschiedlichen Perspektiven beschreiben. So
zum Beispiel gibt es: mutual learning, cooperative learning, social learning, shared learning
und viele weitere. Dieser Abschnitt stellt allgemeine Charakteristiken des Lernens in Multiagentensystemen dar. Zuerst sollte man den Begirf Lernpozeßes näher spezifizieren. Der Lernprozeß:
The term learning process refers to all activities (e.g. planning, inference to decision
steps) that are executed with intention to achive a particular learning goal.
Man unterscheidet sinnvollerweise zwischen zwei prinzipiellen Kategorien von Lernprozessen:
16
zentrales Lernen (centralized learning). Lernen wird als zentral bezeichnet wenn der Lernprozeß von einem Agent ausgeübt wird und dazu keine Mitwirkung von anderen Agenten
braucht. Der Agent lernt unabhängig als ob er allein wäre.
nicht zentrales (decentralized) oder interaktives Lernen. Sind mehrere Agenten in einem
und demselben Lernprozeß verwickelt so spricht man von dezentralem Lernen. Das heißt,
daß die Aktivitäten die einen Lenrprozeß definieren von meheren Agenten ausgeübt werden. Dazu wird die Präsenz mehrerer Agenten vorausgesetzt, die fähig sind einzelne Aktiviteten zu erfüllen.
In einem Multiagentensystem können mehrere zentral lernenden Agenten die verschiedene
oder gleiche Ziele verfolgen gleichzeitig aktiv sein. Ähnlich können viele Gruppen von dezentral
lernenden Agenten in diversen Lernprozessen aktiv mitwirken. Es ist nicht wichtig ob Gruppen
unterschiedliche Ziele anstreben oder nicht. Einzelne Agenten können gleichzeitig in mehreren
zentralen oder/und dezentralen Prozessen lernen.
Die zwei Kategorien sind der allgemeinen Natur und umfassen viele Formen des Lernens die
es in Multiagentensystemen gibt. Die Vielzahl von Formen kann weiter anhand der typischen Eigenschaften (differencing features) strukturiert werden. Diese Eigenschaften und deren vielzähligen Kombinationen charakterisieren das Lernen in Multiagentensystemen aus verschiedenen
Standpunkten und stellen die Anforderungen an Fähigkeiten und Fertigkeiten der lernfähigen
Agenten.
3.2.1 Unterscheidungsmerkmale
1. Grad der Dezentralisierung. Das eine Extrem ist, daß ein einzelner Agent alle Lernaktivitäten alleine sequentiell durchführt. Das andere Extrem ist, wenn alle Lernaktivitäten
unter allen Agenten im System verteilt und parallelisiert sind.
2. Interaktionsspezifische Eigenschaften. Ein dezentrales Lernprozeß kann nach unterschiedlichen Kriterien charakterisiert werden:
Grad der Interaktion - vom purem Beobachten über einfaches Signalmultiplexing,
Informationsaustausch bis zu komplexen Dialogen und Verhandlungen.
Dauer der Interaktion - von kurzfristig bis langfristig.
Wiederholungszahl der Interaktion - von hoch bis zu niedrig.
Muster der Interaktion - von unstruktureiert bis strikt hierarchisch.
Variabilität der Interaktion - von fest bis veränderbar.
3. Beteiligungsspezifischen Eigenschaften. Eigenschaften welche die Beteiligung des Agenten im Lernprozeß charakterisieren, sind zum Beispiel:
Relevanz der Beteiligung - man unterscheidet hier zwei Extremfälle: Die Beteiligung
des Agenten ist für die Zielrealisiereung unwichtig, weil der Lernprozeß von einem
anderen Agent ausgeübt werden kann.
17
Funktion während der Beteiligung
4. Zielspezifische Eigenschaften. Zwei Beispiele von Eigenschaten, die das Lernen in Multiagentensystemen bezüglich des Ziles charakterisieren:
Typ der Verbesserung - Agenten können ihren persönlichen Fähigkeiten, wie zum
Beispiel eigene Motorik, verbessern oder auch soziale Kompetenzen (Kommunikation, Koordination, Koherenz usw) entwickeln.
Synchronisation der Ziele die beim Lernen verfolgt werden - die Ziele können sich
ergänzen oder im Wiederspruch zueinander stehen.
5. Lernmethode. Folgende Methoden kann man hervoheben:
Direkte Übernahme und Umsetzung des Wissens und der Fertigkeiten ohne überlegen
und ohne weiterer Transformationen.
Lernen aus Instruktionen und Ratschlägen (advice taking) - neue Instruktionen sind
nicht unmittelbar ausführbar; sie müssen zuerst ausgewertet, in eine innere Wissensrepräsentation umgewandelt und intepretiert werden.
Lernen durch Beispiele und Praxis.
Lernen durch Analogie - “solution-preserving transformation of knowledge and skills
from a solved to a similar but unsolved problem”
Lernen durch Entdecken - Der Agent sammelt Wissen, Erfahrung und Fertigkeiten
durch Beobachten, Experimetieren und Erstellen von Hypothesen oder Theorien die
auf Beobachtungen und Experimentergebnissen beruhen.
6. Rückmeldung. Die Rückmeldung über das erreichte Leistungs-Niveau kommt entweder
aus dem System oder von den anderen Agenten. Es wird folgende Unterscheidung bezüglich der Rückmeldung gemacht:
beaufsichtigtes Lernen - Die Rückmeldung spezifiziert was gelernt werden soll und
der Agent versucht genau das zu erreichen. Die Umgebung funktioniert als “Lehrer”.
adaptives Lernen - Die Rückmeldung bewertet nur den aktuellen Zustand und der
Agent bemüht sich die Bewertung zu verbessern. Die Umgebung funktioniert als
“Kritiker”
unbeaufsichtigtes Lernen - Es gibt keine Rückmeldung. Das Ziel ist, durch Versuchen und Selbstorganisation herauszufinden welche Aktivitäten nützlich sind. Die
Umgebung ist nur ein passiver “Beobachter”.
3.2.2 Bewertungsproblem
Das erste Problem mit dem jedes lernfähige System konfrontiert wird ist das Bewertungsproblem (Credit-Assignment Problem – CAP). Das heißt, das Problem wie richtige Rückmeldungen
- “Lob oder Kritik” - für die gesamte Veränderung (verbesserte oder verschlechterte) einzelner
18
Aktivitäten die zur Veränderung beitragen zugewiesen werden. Aktivitäten eines intelligenten
Agenten sind in der KI standardmäßig definiert durch externe Aktionen die der Agent durchführt
und internen Deduktionen welche diese Aktionen als Folgerung haben. So kann das Bewertungsproblem in zwei Subprobleme zerlegt werden:
Interagent-Bewertungsproblem: Externes Verhalten dient als Maßstab für eine Bewertung.
Intraagent-Bewertungsproblem: Innere Prozesse und Schlußfolgerungen die eine konkrete
Aktion im Entscheidungsprozeß erzeugen werden bewertet.
Gesamtsystem
ag replacements
1
2
3
4
1
Bewertung F=80
3
2
4
Abbildung 7: Interagent-Bewertungsproblem
Abbildung 7 und Abbildung 8 zeigen diese Subprobleme. Das System in der Abbildung 7
besteht aus vier Agenten. Die Rückmeldung als Bewertung der gesamten Performanz ist zer legt in die Bewertungen einzelner Agenten.
besagt zu welchem Grad die te Aktion des
ten Agenten zu beigetragen hat. Die Abbildung 8 zeigt Bewertungen welche im Inneren
des Agenten 3 stattfinden. Agent 3 hat drei Aktionen ausgeführt. Jede Aktion basiert auf dem
Wissenbestand ( ), Deduktion ( ) und Entscheidung ( ). Aktion 1 hatte keinen Einfluß auf die
Veränderung der gesamten Leistung. Bewertung
wurde zum Beispiel zwischen der Deduktion und der Entscheidung verteilt.
Das Interagent-Bewertungsproblem ist für Multiagentensysteme besonders schwer zu realisieren, weil die Gesamtperformanzveränderung durch externe Aktionen verschiedener Agenten
verursacht werden kann. Diese können auch unterschiedlich räumlich oder logisch verteilt sein.
Desweiteren ist es wichtig festzulegen welche Aktion, ausgeführt von welchem Agent, wieviel
zu der Geamtperformanzveränderung beigetragen hat.
Das Intraagentbewertungsproblem, ist schwer gleich in Multiagenten- und Einagentensystemen. Hier muß die Frage beantwortet werden welche Wissensbestände, welche Deduktionen
und welche Entscheidungen zu einer Aktion geführt haben. Wie schwer ist es überhaupt diese
Probleme zu lösen, hängt nur von der gegebenen Problemstellung ab.
D
M
D
3.3 Lernen und Koordination von Aktivitäten
Dieser Abschnitt beschäftigt sich mit der Frage wie Agenten in einer vielzähligen Gesellschaft
lernen können, ihre Aktivitäten zu koordinieren. Agenten die in offenen, dynamischen Umge19
Agent 3
PSfrag replacements
3
Aktion 1
f1
Aktion 2
Aktion 3
Abbildung 8: Intragent-Bewertungsproblem
bungen operieren müssen fähig sein auf Veränderungen zu reagieren, Gelegenheiten zum eigenen Vorteil zu nutzen und Anforderugen zu erfüllen. Individuelle Agenten sind gezwungen als
Teil einer Gruppe von Agenten mit unterschiedlichen Zielen, Fähigkeiten, Lebensdauer usw. zusammenzuarbeiten. Um Gelegenheiten optimal zu nutzen und Fallen (d.h. potenzielle Probleme)
zu vermeiden Agenten müssen über andere Agenten lernen und Gruppenverhalten welches auf
der Gruppendynamik un Zusammensetzung besiert zu adoptieren. Im folgenden werden zwei
Konzepte vorgestellt, die sich adaptives Lernen (reinforcement learning) zu Nutze machen um,
Koordination der Agenten zu verbessern. Zuerst wird die Problematik dieser Methode vorgestellt
und anschließend auf einige verbreiteten Techniken dieser Klasse eingegeangen.
3.3.1 Adaptives Lernen
In Problemen dieser Kategorie, müssen reactive und adaptive Agenten, welche die Beschreibung
des aktuellen Zustands besitzen, die nächste Aktion aus einer Menge der möglichen Handlungen
so auswählen, daß die skalare Bewertungsfunktion (Rückmeldungsfunktion) maximiert wird.
Die Umgebung des lernenden Agenten kann mitMarkovschen Entscheidungsprozeß (zeitdiskret
mit endlichem Zustandsraum)
modelliert werden:
2 sei die Menge der Zustände.
sei die Menge der zur Verfügung stehenden Aktionen.
mit welcher der Zustand
# 98 8 D ' ist die Wahrscheinlichkeit,
Zustand übergeht, wenn die Aktion ausgeführt wird.
# 8 D ' ist eine skalare Bewertungsfunktion (die Belohnung)
20
in den
Jeder Agent besitzt einen eigenen Satz von Regeln , die den aktuellen Zustand mit der
gewünschten Aktion die asugeführt werden soll verknüpfen. Der Erwartungswert für zukunftige
Bewertungen der Aktionstrategie is gegeben durch
?
wobei die Verteilung der Bewertungen ist, die der Agent erhalten hat, wenn er die Regeln
für Zeitschritte angewendet hat. ist die ??Rate (Charlie fragen)
.
Q-Learning
3$
%
,.0
Der Q-learning Algorithmus wurde entworfen um die Strategie
zu finden welche für alle
maximiert. Die Entscheidung
Zustände
den Erwartungswert ist repräsentiert durch
die Abbildung welche die langfristig abgesetzten (??) Bewertungen für jeden
Paar
schätzt. -Werte sind definiert
,. 0
# 8
D'
, /10 @ , "0 die Ereignissequenz der Auswahl von im Zustand , gemäß der Strategie bezeichwobei
net. Aktion , die im Zustand ausgeführt werden sollte, wird so ausgewählt, daß
! , /10 für alle 3 ,."0 @ Falls eine Aktion im Zustand eine Verbesserung (reinforcement) " und den Übergang in den
Zustand übergeht, dann wird der D Wert folgendermaßen modifiziert:
D # 0 , /1&0 % # , " % @)(* ' ,. 0C0 , /10 , $
#
ist eine kleine Konstante, genannt learning rate
Learning Classifier Systems
Classifier systems (CS) sind regelbasierte Systeme, die die Stärke der Regeln auf Grund der
Rückmeldung aus der Umgebung korrigieren und mit der Hilfe von genetischen Algorithmen
neue Regeln lernen können. Im weiteren wird ein einfaches CS betrachtet. In diesem CS sollen
alle Paare von Nachrichten aus der Umgebung und Aktionen explizit gespeichert werden, wobei
jedes classifier aus einer Voraussetzung und eine Aktion zusammengesetzt wird:
, M ,+ M 0 ist ein Classifier, wo M eine Voraussetzung und M die zugegörige Aktion ist.
, M /M 0 gibt die Stärke des Classifiers zum Zeitpunkt an.
21
Alle Classifier werden am Anfang mit einem generischen Anfangswert initiert. In jedem
Zeitschritt kommt eine Nachricht aus der Umgebung und wird mit den Classifier-Regeln
verglichen, wobei ein Classifier ausgewählt und die dazugehörige Aktion ausgeführt wird.
Basierend auf dieser Aktion kann eine Bewertung aus der Umgebung kommen. Dann werden die Stärken der Regeln neu eingestellt (korrigiert). Dieser Zyklus wird iterativ Uber
eine Zeitspanne vortgesetzt.
Bei dem Bucket Brigade Algorithmus (BBA) für das Bewertungsproblem werden Regeln
auf diese Art und Weise angepasst. Wenn ein Classifier ausgewählt wird und seine zugehörige
Aktion bewertet wurde, wird ein Teil seiner Stärke entfernt und dem vorherigen Classifier
% gutgeschrieben: ist das Classifier, das zum Zeitpunkt gefeuert hat, das zum Zeitpunkt
und " eine externe Bewertung
aus der Umgebung,
dann wird die Regelstärke
durch
,.M /M 0 , D 0
, M /M 0&%
modifiziert. Offensichtlich ist die Ähnlichkeit mit dem D
," %
, " 0 0
Learning.
3.3.2 CIRL - Isoliertes, gleichzeitiges adaptives Lernen
CIRL steht für concurrent isolated reinforcement learning. Adaptives Lernen (RL) ist auf die
Entwicklung der Aktionsauswahlstrategie fokusiert. Aktionen werden auf Umgebungszustände
so optimiert, daß die Bewertung durch die Umgebung optimal wird. Vorteil dieser Technik ist,
daß sie auch für Agenten die zum Start sehr wenig Domänenwissen oder wenig Wissen über
andere Agenten besitzen anwendbar ist. Ist dieses Wissen nicht vorhanden, so ist das Problem
der Koordination von Agenten sehr schwer zu lösen. Fast alle Koordinierungsmechanismen basieren auf Kenntnissen der Umgebung oder auf geteilten Informationen zwischen den Agenten.
Kommunikation zwischen Agenten ist zwar nützlich garantiert aber keine Koordination. Isoliertes Lernen bedeutet, daß die Agenten unabhängig voneinander gleichzeitig lernen. Vorausgesetzt
wird, daß die Dynamik der Umgebung nicht von anderen Agentensystemen beeinflußt wird. Folgende Dimensionen charakterisieren Domänen welche isoliertes, gleichzeitiges RI erlauben:
Kopplung der Agenten: In wie fern beeinflussen die Aktionen eines Agenten die Pläne von
anderen Agenten?
Verhältnis der Agenten: Agenten in Multiagentensystemen können in unterschiedlichen
Beziehungen zueinander stehen:
– Gruppenarbeit löst das Problem;
– Keine Beziehung, teilen aber gemeisamen Ressourcen;
– Agenten haben entgegengesetzte Ziele;
Antwortzeit: Bekommen die Agenten sofortige Rückmeldung oder kommt die Rückmeldung mit einer gewissen Verspätung?
Optimale Verhaltenskombinationen: Welches Verhalten löst ein gegebenes Problem?
22
Man betracht beispielsweise das block pushing Problem. Zwei Agenten lernen individuell eine
Box entlang einer gegebenen Route zu verschieben. Beide Agenten sind kooperativ, da sie dasselbe Ziel verfolgen und debei konkurieren, weil sie verschiedene Ziellokationen haben. Rückmeldung beruht auf der Abweichung von dem gegebenen Weg. Domänencharakteristik: gleichzeitiges Lernen zweier Agenten mit sofortiger Rückmeldung; stark gekoppelt; mehrere optimale
Verhaltensweisen.
Die Grenze dieser Technik liegt darin, daß CIRL unfähig ist, eine effektive Koordination
zu verwirklichen, wenn Agenten stark gekoppelt sind, die Rückmeldung verspätet ist oder es zu
weinge optimale Verhaltenskombinationen gibt. Dieses Problem kann teilweise behoben werden,
in dem die Agenten beispielsweise zuerst Lernen und dann die gelernte Entschedidungstrategie
zeitlang ausführen und dann wieder zum Lernen zurückkehren.
3.3.3 Interaktives adaptices Lernen der Koordination
Im Gegensatz zum letzten Abschnitt, konzentriert sich diese Technik auf Agenten, die miteinander kommunizieren um eigene und Gruppenentscheidungen zu treffen. In diesem Ansatz können
Agenten, die Aktionen anderer Agenten beobachten, inkompatible Aktionen entsprechend aus
dem eingenen Repertoire entfernen. Zwei Varianten des BBA Algorithmus werden hier betrachtet : Der Action Estimation (ACE) und der Action Group Estimation (AGE) Algorithmus. Darunterliegende Voraussetzung ist, daß die Agenten arbeiten um das Gruppenziel zu optimieren.
Action Estimation Algorithm (ACE): Gegeben sei:
–
-M - Wahrgenommene Information;
–
- aktueller Umgebungszustand.
M
M , &0
3M JM , &0
eine Menge der zur Zeit ausfühbaren
Jeder Agent aus einer Gruppe berechnet zuerst
Aktionen
. Für jede ausführbare Aktion
wird eine Bewertung der Akti
on
(goal relevence) berechnet. Für alle Aktionen, deren geschätzte Bewertung über
einem Schwellwert liegt, berechnet der Agent, ein zu der geschätzten Bewertung proportionales Angebot
und gibt es in der Gruppe bekannt:
M , &0
M , &0
M , &0 E,
% # 0
M , &0 wobei ein sogenanntes Risikofaktor und # eine Rauschenkomponente, welche die Konvergenz gegen ein lokales Minimum verhindert ist.
Die Aktion mit hohechstem Gebot wird für die Ausführung ausgewählt und anderen werden nicht mehr berücksichtigt. Der Prozeß wird sólange wiederholt bis alle Aktionen entweder ausgewählt oder eliminiert worden sind. Ausgewählte Aktionen bezeichnet man als
Arbeitskontext (activity context) . Zuerst wird ein BBA-Typ Mechanismus angewandt
um die Bewertung der ausgewählten Aktion um " zu reduzieren. Dann wird die verringerte Bewertung " gleichmäßig in der Gruppe verteilt. Falls die Aktion nach der Ausführung
eine positive Bewertung " bekommt, wird " wieder gleichmäßig in verteilt. Die Neuzuordnung der Bewertung ist nötig, um die Anzahl der erfolgreichen Aktionen mit der Zeit
23
zu erhöhen und die Schätzungen von ineffektiven Aktionen zu unterdrucken. Wenn eine
Aktion ausgeführt wird, wird eine neue Unterbewertung der Gruppe durch
M , &0& M ., &0 D M , &0&% " berechnet. Die ausgegebenen Gebote werden dann aufsummiert und gleichmäßig unter
allen Aktionen des vorherigen Arbeitskontext , welches dem verherigen Zustand
entspricht verteilt:
&% , 0&
, 0
K
M ., 0 Action Group Estimation Algorithm (AGE): Im AGE Algorithmus werden zuerst alle
anwendbaren Aktionen von allen Agenten im gegebenen Umgebungszustand gesammelt.
Aus diesen Mengen von Aktionen wird die Menge aller Kontexte
berechnet, wobei in jedem Kontext alle Aktionen gegenseitig kompatibel sind. Dann werden für alle
Kontexte die Gebote von Agenten für ihre jeweiligen Aktionen übernommen:
, 0
M ,
% # 0
M , 2 0
Der Kontext mit der größten Summe aller Angebote wird dann ausgewählt und alle Aktio
nen in dem Kontext werden von allen Agenten der Gruppe ausgeführt.
Ist der ausgewählte Kontext, dann modifiziert jeder Agent für jede Aktion
die Kontextbewertung
wie folgt:
M
M3
M , 2 0 M , 2 0 D M , 2 &0 % " Das gesamte Gebot für den aktuellen Kontext wird gleichmäßig unter allen Aktionen
des vorherigen Kontextes, analog zu ACE verteilt:
&% , 0&
,. 0
, 2 0 K M
Aus der Beschreibung wird klar, daß der AGE Algorithmus aufwändiger als ACE Algorithmus ist, aber auch eine bessere Systemleistung liefert. Experimente haben gezeigt, daß beide Algorithmen zu einer besseren Koordination geführt haben, wobei AGE besser abschneiden konnte.
Eine optimale Systemlesitung konnte nicht erreicht werden.
3.4 Zusammenfassung
Dieser Abschnitt hat sich auf das Gebiet der Lernprozesse in Multiagentensystemen konzentriert.
Hier wurden generelle Konzepte und Ideen vorgestellt, aber auch einige konkrete Architekturen
die den Stand der Technik und die Forschungsschwerpunkte zeigen. Lernen in Multiagentensystemen ist ein neues Gebiet mit vielen offenen Fragen, die noch zu klären sind.
24
Literatur
[1] WOOLDRIDGE, M., JENNINGS, N.R. Intelligent Agents: Theory and Practice. The
Knowledge Engeneering Review, Vol 10 No.2 pp. 115-152, 1995.
[2] RUSSEL, S., NORWIG, P. Artificial Intelligence: A Modern Approach. Prentince-Hall,
1995.
[3] WEIß , G. Learning to coordinate actions in multi-agent systems. In Proceedings of 13th
Intrnational Joint Conference on Artificial Intelligence, pages 211-216, 1993.
[4] Watkins, C.J.C.H. Learning from Delayed Rewards. PhD thesis, King’s College, Cambridge
University, 1989.
[5] Sen, S. Sekaran, Hale, J. Learning to coordinate without sharing information. In National
Conference on Artificial Intelligence, pages 426-431, 1994.
[6] Carbonell, J.G., Michalski, R.S., Mitchell, T.M. An Overview of machine learning. In J.G.
Carbonell and T.M. Mitchell, editors.Machine learning - An artificial intellience approach,
pages 3-33. Springer-Verlag, Berlin, 1994.
[7] WEIß, G. Multiagent systems - A modern approach to distributed artificial intelligence.
Cambridge, Massachssetts, MIT Press, 2000.
25
Herunterladen