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