Wissensrepräsentation und Problemlösung Seite 63 7. Multiagentensysteme 7.1. Kollektive Intelligenz 7.1.1. Die denkende Maschine Ein Ziel der traditionellen KI-Forschung ist, eine Maschine zu bauen, die ein ähnlich intelligentes Verhalten zeigt wie ein Mensch, die z.B. logische Schlüsse ziehen kann oder die Handlungen auf Grund einer Zielvorgabe planen und dann ausführen kann. Das wirft Fragen auf wie: „Kann eine Maschine denken?“, „Kann eine Maschine intelligent sein?“, „Sollte eine solche Maschine einen rechtlichen Status wie ein Mensch haben?“ Die Sichtweise von Computerprogrammen als denkenden Wesen ist typisch für die sog. Expertensysteme. In ihnen ist das Fach- und Erfahrungswissen von Experten auf irgendeinem Gebiet angesammelt, außerdem ihr Know How zur Verwendung dieses Wissens (Schlussfolgern). Expertensysteme haben sich auf ihrem jeweiligen Gebiet als ähnlich leistungsfähig erwiesen wie durchschnittliche Experten. Diese Sichtweise der traditionellen KI wird heute aus verschiedenen Gründen in Frage gestellt: Das soziologische Argument: Intelligenz charakterisiert ein Individuum nicht losgelöst von dem sozialen Kontext, in dem sie zum Ausdruck kommt. Intelligenz basiert zwar auf der Gehirnstruktur menschlicher Individuen, aber sie ist in noch stärkerem Maß durch unsere Interaktion mit der Umwelt, insbesondere mit der menschlichen Gesellschaft bestimmt. Das Komplexitätsargument: Computerprogramme werden immer komplexer. Um sie zu beherrschen, muss man sie in schwach gekoppelte kleinere Module zerlegen, die unabhängig voneinander operieren und in wohldefinierter eingeschränkter Form miteinander interagieren. An die Stelle einer zentralisierten Architektur tritt eine Menge lokal definierter und operierender interagierender Einheiten. Statt eines Programms hat man nun eine Organisation unabhängiger Einheiten. Das Argument des verteilten Wissens: In komplexen technischen Domänen ist das Wissen generell auf verschiedene Experten verteilt. Diese kommunizieren in Gruppen, tauschen ihr Wissen aus und arbeiten bei der Ausführung von Aufgaben zusammen. Jedoch ist es schwierig oder unmöglich, dieses Wissen in eine einzige Wissensbasis zu integrieren, weil es mit verschiedenen Sichtweisen verbunden und manchmal sogar widersprüchlich ist. Die Experten lösen die gestellten Aufgaben durch Diskussion und durch Techniken der Konfliktbeseitigung. Das Argument der verteilten Probleme: Viele Probleme sind von Natur aus verteilt, d.h. es gibt bei ihnen unabhängig voneinander operierende aber interagierende Einheiten. Beispiele sind explorative Robotersysteme oder Flugverkehrssteuerung. Solche Systeme lassen sich am besten in verteilter Weise modellieren. 7.1.2. Künstliche Organisationen Im Unterschied zur traditionellen KI werden hier intelligente Leistungen als etwas betrachtet, was durch Interaktion zwischen relativ unabhängigen und autonomen Einheiten, genannt Agenten, zustande kommt. Sie kooperieren in Gemeinschaften durch Koordination oder Wettbewerb. Durch die Kooperation entstehen organisierte Strukturen, die ihrerseits das Verhalten der Agenten beeinflussen. Es wird ein wissenschaftliches Programm entworfen, das daraus besteht, Organisationen künstlicher Agenten zu planen, zu entwerfen und zu erstellen. Die Agenten können handeln, bei gemeinsamen Aufgaben zusammenarbeiten, kommunizieren, sich anpassen, sich reproduzieren, die Umgebung wahrnehmen und ihre Aktionen planen. Sie sind damit in der Lage Ziele zu erreichen, Technische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Seite 64 die ihnen entweder von außen gestellt wurden oder die sie sich selbst gestellt haben, im zweiten Fall dienen sie zur Sicherung des Überlebens. Verteilte Künstliche Intelligenz (VKI) ist sowohl eine Wissenschaft als auch eine Technik. Letztere zielt auf die Konstruktion von Multiagentensystemen (MAS) ab. Im Einzelnen hat die VKI folgende Ziele: 1. Definition einer wissenschaftlichen Disziplin, die die Interaktion zwischen Agenten als Grundlage für das Verständnis der Funktion und Evolution von Systemen betrachtet. 2. Definition verschiedener Formen der Interaktion wie Kooperation, Wettbewerb, Kollaboration, Obstruktion und Erklärung von Selbstorganisation, Performanz und Überleben von Systemen auf der Grundlage dieser Interaktionen. 3. Darstellung der wichtigsten Mechanismen, die zu Selbstorganisation führen, wie Gruppenbildung, Spezialisierung, Verteilung von Aufgaben und Ressourcen, Koordination von Aktionen, Konfliktlösung usw. 4. Definition operationaler Modelle dieser Interaktionen durch Beschreibung der Funktionsweise von Agenten und MAS. Für die Beschäftigung mit der verteilten Intelligenz lässt sich eine Reihe von Gründen angeben: (a) Probleme sind physisch verteilt. Viele in der Praxis vorkommende Systeme sind physisch verteilt. Beispiele sind Transportnetze, große Produktionsanlagen und Verkehr. In allen Fällen ist es adäquat die daran beteiligten Einheiten als autonome Einheiten zu modellieren, die miteinander interagieren. (b) Probleme sind weit verteilt und funktional heterogen. Der Entwurf und die Produktion komplexer technischer Systeme erfordert die Zusammenarbeit einer großen Zahl von Spezialisten. Jeder von ihnen hat eine besondere Sicht des Systems und keiner kann das ganze System allein herstellen. (c) Netze erzwingen eine verteilte Sichtweise. Netze wie das Internet sind heute über die ganze Erde verteilt. In der Zukunft werden sie sogar interplanetar sein. Wegen ihrer enormen Größe und des Grades an Verteiltheit (mehrere hunderttausend Knoten im Internet), ist eine globale Sichtweise nicht möglich. Solche Netze müssen als offene Systeme betrachtet werden und die Knoten müssen vollständig interoperabel sein. Entsprechendes gilt für das Mobile Computing. Tokoro hat dafür den Begriff des computing field vorgeschlagen. (d) Die Komplexität der Probleme erzwingt eine lokale Sichtweise. Probleme, die als ganze schwer zu analysieren sind, lassen sich oft mit lokalen Betrachtungsansätzen leichter lösen. Allerdings lässt sich die Korrektheit solcher Lösungen theoretisch schwerer nachweisen. Es lässt sich aber empirisch nachweisen, dass die Lösungen korrekt sind und sie erscheinen als „natürlicher“. (e) Systeme müssen in der Lage sein, sich an Veränderungen in der Struktur oder der Umgebung anzupassen. Der Einsatzbereich von Computersystemen ist selten statisch, vielmehr mehr oder weniger stark veränderlich durch neue Umgebungsbedingungen, neue Anforderungen und Umstrukturierungen im System selbst. Mit globalen Lösungen lassen sich diese Gesichtspunkte nicht genügend berücksichtigen, sie sind aber für die Lebensdauer solcher Systeme von entscheidender Bedeutung. (f) Beim Software-Engineering gibt es eine Tendenz zum Gebrauch von Konzepten autonomer interagierender Einheiten. Diese Tendenz ist in der Geschichte des Software-Engineering zu sehen und wird besonders mit den objektorientierten Programmiersprachen und dem damit Technische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Seite 65 verbundenen objektorientierten Entwurf manifest. Hier werden autonome Module erstellt, die miteinander interagieren, Die Entwicklung erfolgt oft verteilt über verschiedene Entwicklungsteams, manchmal sogar über mehrere Orte verteilt. Technische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Seite 66 7.2. Agent und Gesellschaft 7.2.1. Definitionen Definition Agent Ein Agent ist eine physikalische oder virtuelle Einheit, (a) die in einer Umgebung handeln kann, (b) die mit anderen Agenten direkt kommunizieren kann, (c) die durch eine Menge von Tendenzen getrieben ist (individuelle Ziele oder eine Befriedigungs/Überlebens-Funktion, die sie zu optimieren versucht), (d) die eigene Ressourcen besitzt, (e) die in beschränktem Umfang ihre Umgebung wahrnehmen kann, (f) die nur eine partielle Repräsentation der Umgebung oder gar keine hat, (g) die Fähigkeiten besitzt und Dienste anbieten kann, (h) die sich eventuell selbst reproduzieren kann, (i) deren Verhalten auf die Erfüllung ihrer Ziele abzielt, unter Berücksichtigung der ihr zur Verfügung stehenden Ressourcen und Fähigkeiten und in Abhängigkeit von ihrer Wahrnehmung, ihren Repräsentationen und ihrer Kommunikation. Definition Multiagentensystem Ein Multiagentensystem (MAS) ist ein System, das folgende Elemente enthält: (a) Eine Umgebung E, d.h. ein Raum, der im Allgemeinen eine Ausdehnung hat. (b) Eine Menge O von Objekten. Die Objekte sind situiert, d.h. zu jedem Zeitpunkt kann jedem Objekt eine Position in E zugeordnet werden. Die Objekte sind (soweit sie nicht Agenten sind) passive Einheiten, d.h. sie können von Agenten wahrgenommen, hergestellt, zerstört und modifiziert werden. (c) Eine Menge A von Agenten, die spezielle Objekte sind (also A ⊆ O) und die aktiven Einheiten des Systems darstellen. (d) Eine Menge R von Relationen, die Objekte (und damit auch Agenten) zueinander in Beziehung setzen. (e) Eine Menge Op von Operationen, mittels derer die Agenten die Objekte wahrnehmen, produzieren, verbrauchen, umformen und manipulieren. (f) Eine Menge GU von Operatoren, die die Anwendung der Operationen aus Op und die Reaktionen der Welt auf diese Anwendung repräsentieren, genannt „Gesetze des Universums“. Definition Rein kommunikativer Agent Ein rein kommunikativer Agent (oder Softwareagent) ist eine rechnende Einheit, die (a) (b) (c) (d) (f) (g) Element eines offenen rechnenden Systems ist, mit anderen Agenten kommunizieren kann, durch eine Menge von eigenen Zielen getrieben ist, eigene Ressourcen besitzt, nur eine partielle Repräsentation anderer Agenten hat, Fähigkeiten besitzt und anderen Agenten Dienste anbieten kann, Technische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Seite 67 (i) Verhalten zeigt, das auf die Erfüllung ihrer Ziele abzielt, unter Berücksichtigung der ihr zur Verfügung stehenden Ressourcen und Fähigkeiten und in Abhängigkeit von ihren Repräsentationen und ihrer Kommunikation. Definition Rein situierter Agent Ein rein situierter Agent ist eine physikalische Einheit (oder im Fall einer Simulation eine rechnende Einheit), die (a) (c) (d) (e) (f) (g) (h) (i) in einer Umgebung situiert ist, durch eine Befriedigungs/Überlebens-Funktion getrieben ist, eigene Ressourcen in Form von Energie und Werkzeugen besitzt, in beschränktem Umfang ihre Umgebung wahrnehmen kann, praktisch keine Repräsentation der Umgebung hat, Fähigkeiten besitzt, sich selbst reproduzieren kann, Verhalten zeigt, das auf die Erfüllung ihrer Befriedigungs/Überlebens-Funktion abzielt, unter Berücksichtigung der ihr zur Verfügung stehenden Ressourcen, Wahrnehmungen und Fähigkeiten. 7.2.2. Organisationsebenen Die folgenden drei Organisationsebenen werden in MAS unterschieden: (1) Die mikrosoziale Ebene bezieht sich auf die Interaktionen zwischen Agenten und die verschiedenen Arten von Verbindungen zwischen einer kleinen Zahl von Agenten. (2) Die Gruppenebene bezieht sich auf die vermittelnden Strukturen, die beim Aufbau vollständigerer Organisationen eine Rolle spielen. Hier werden die Differenzierung der Rollen und Aktivitäten der Agenten, die Entstehung organisationaler Strukturen zwischen Agenten und das Problem der Aggregierung von Agenten bei der Konstitution von Organisationen betrachtet. (3) Die Ebene globaler Gesellschaften oder Populationen bezieht sich auf die Dynamik einer großen Zahl von Agenten, die allgemeine Struktur des Systems und seine Entwicklung. Bei der Analyse und beim Entwurf von MAS kann man eine Top-Down- oder eine Bottom-UpVorgehensweise einschlagen. Bei der ersten geht man von der Gesellschaft als Ganzer und ihren Eigenschaften aus und versucht nach diesen Eigenschaften die Architektur der Agenten zu spezifizieren, bei der zweiten von einer genauen Definition der Agenten und versucht die Eigenschaften der Gesellschaft als Folge der Interaktionen zwischen den Agenten zu ermitteln. Die Agenten und ihre Organisation beeinflussen sich gegenseitig. Die Organisation ist das Ergebnis der Interaktionen zwischen den Agenten und das Verhalten der Agenten ist durch die organisationalen Strukturen eingeschränkt, vgl. Abbildung 7.1. Technische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Seite 68 Organisation Entstehung von Eigenschaften System von Interaktionen Einschränkungen und soziale Ziele Agenten Abbildung 7.1 7.2.3. Sind MAS soziale oder biologische Organisationen? Kognitive und reaktive Agenten Ein kognitiver Agent ist ein „intelligenter“ Agent. Er besitzt eine Wissensbasis, in der die Daten und das Know How gespeichert sind, die der Agent für die Lösung von Aufgaben und für Interaktionen mit anderen Agenten und mit der Umgebung braucht. Kognitive Agenten sind ferner intentional, d.h. sie haben Ziele und können Pläne zum Erreichen der Ziele entwerfen. Die Kooperation zwischen kognitiven Agenten gleicht der in kleinen Gruppen von Individuen, in denen Aktivitäten koordiniert und Konflikte durch Verhandlungen aufgelöst werden müssen. Ein reaktiver Agent ist ein sehr einfaches Wesen, das nur auf wahrgenommene Ereignisse reagiert. Er kann keine Ziele erklären und verfügt nicht über Planungsfähigkeit, er besitzt keine oder höchstens eine primitive Repräsentation der Umgebung. Trotzdem sind Gesellschaften reaktiver Agenten in der Lage, erstaunliche Problemlösungen zu erzeugen, die hauptsächlich durch das Ziel des Überlebens der Gesellschaft gesteuert sind. Beispiele aus der Biologie sind Insektenstaaten. Intentionen, Triebe, Reflexe Die klassische Unterscheidung zwischen kognitiven und reaktiven Agenten ist zu einfach um der Realität zu genügen. Eine genauere Betrachtung berücksichtigt zwei Aspekte: (1) Der Gegensatz zwischen teleonomischem Verhalten, das auf explizite Ziele ausgerichtet ist, und reflexivem Verhalten, das durch Wahrnehmungen reguliert wird. Alle Agenten sind getrieben durch Tendenzen, aber einige davon kommen aus der Umgebung, andere liegen explizit in den Agenten vor. Im ersten Fall ist das Verhalten reflexiv, im zweiten teleonomisch. (2) Die Beziehung zwischen Agent und Umgebung als Fall des klassischen Subjekt-ObjektProblems, d.h. die Frage, ob der Agent über eine symbolische und explizite Repräsentation der Welt verfügt, über der er schlussfolgern kann, oder ob seine Repräsentation subsymbolisch ist, d.h. in seinen senso-motorischen Apparat integriert. Der erste Typ von Agenten heißt kognitiv, der zweite reaktiv. Damit sind vier Kriterien definiert, nach denen sich vier Haupttypen von Agenten wie in der folgenden Tabelle dargestellt klassifizieren lassen. Technische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Verhalten Seite 69 Beziehung zur Welt teleonomisch reflexiv kognitiv Intentionale Agenten Modul-basierte Agenten reaktiv Trieb-basierte Agenten Tropistische Agenten Kognitive Agenten können auf Grund ihrer Fähigkeit zur Repräsentation der Welt und zum Schlussfolgern über der Repräsentation relativ unabhängig operieren. Sie können individuell relativ komplexe Aufgaben ausführen und sie können ihr Verhalten ausdrücken. Reaktive Agenten zeigen wegen ihrer simplen Struktur und ihrer geringen Ressourcen nur einfache Verhaltensweisen. Sie können aber leicht Gruppen oder Populationen bilden, die sich an unterschiedliche Umgebungen anpassen können. Sie haben wenig oder gar keine Individualität, aber da sie große Gruppen bilden können, sind sie darin wegen der Redundanz in der Lage, komplexe Probleme zu lösen. Antizipation und Reaktion Ein wesentlicher Unterschied zwischen kognitiven und reaktiven Agenten besteht in ihrer Fähigkeit zukünftige Ereignisse zu antizipieren und sich darauf vorzubereiten. Reaktive Agenten haben diese Fähigkeit nicht, denn sie besitzen keine Repräsentation ihrer Umgebung oder anderer Agenten, die dafür notwendig wäre. Kognitive Agenten besitzen Repräsentationen, können darüber schlussfolgern und sind deshalb in der Lage sich Situationen zu merken, sie zu analysieren und mögliche Reaktionen auf ihre eigenen Aktionen vorherzusehen. Dies können sie dazu nutzen eine Art virtuelle Welt zu konstruieren und ihr eigenes zukünftiges Verhalten darin zu planen. Kognitive und reaktive Agenten sollten nicht als extreme Gegensätze betrachtet werden. In der Praxis gibt es vielmehr ein Kontinuum des Übergangs zwischen beiden Formen. Zwischenformen sind z.B. Agenten, die sich anpassen können durch Memorieren bestimmter Daten in Form digitaler Parameter, oder Agenten, die eine „mentale Landkarte“, d.h. eine analoge Repräsentation ihrer Umgebung, besitzen. Das Kontinuum zwischen den Formen ist durch Abbildung 7.2 illustriert. Es gibt Arbeiten, in denen kognitive Agenten in reaktiven Organisationen beschrieben werden, oder in denen hybride Formen von Agenten definiert werden, die sowohl kognitive als auch reaktive Fähigkeiten haben und diese nach Bedarf einsetzen. 7.2.4. Architektur und Verhalten Ein Agent ist im Wesentlichen durch seine Architektur, also seinen inneren Aufbau, und sein Verhalten, d.h. seine Aktionen, charakterisiert. Die Architektur wird durch den Entwerfer festgelegt. Die Leitfrage beim Entwurf ist: Wie können die verschiedenen Teile eines Agenten so zusammengebaut werden, dass er die Aktionen ausführt, die von ihm erwartet werden? Rein kognitive Agenten Nur symbolische Repräsentationen Rein reaktive Agenten Symbolische und numerische Repräsentationen Nichtsymbolische Repräsentationen Keine Repräsentationen Abbildung 7.2 Diese Leitfrage zieht andere Fragen nach sich: Besitzt der Agent eine interne Repräsentation seiner Umgebung oder reagiert er nur auf die Reize, die er wahrnimmt? Kann der Agent auf der Basis symbolischer Information schlussfolgern oder führt er nur vordefinierte Aktionen aus? Die Architektur eines Agenten gibt Antwort auf diese Fragen. Es gibt eine Menge verschiedener ArchitektuTechnische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Seite 70 ren, die nach verschiedenen Gesichtspunkten optimiert sind: hinsichtlich Effizienz, Flexibilität oder Einfachheit. Das Verhalten eines Agenten kann im Unterschied dazu durch einen Beobachter bestimmt werden, ohne Einblick in die Architektur. Er sieht die Aktionen des Agenten und beschreibt das Verhalten als Beziehung zwischen dem Agenten, seiner Umgebung und anderen Agenten. Das Verhalten charakterisiert alle Eigenschaften, die der Agent in seiner Umgebung zeigt. Die Beobachtung des Verhaltens führt zu Verhaltensmodellen, die unabhängig von der Architektur sind. Allerdings ist das Verhalten in der Architektur angelegt, deshalb tendieren verschiedene Architekturen jeweils zu bestimmten Verhaltensweisen. 7.3. Anwendungsgebiete Es gibt eine große und rasch wachsende Zahl von Anwendungen von MAS. Sie lassen sich aber in fünf Kategorien einordnen, die in Abbildung 7.4 dargestellt sind und im Folgenden beschrieben und mit Beispielrealisierungen illustriert werden. 7.3.1. Problemlösen Problemlösen im weitesten Sinn des Wortes bezeichnet alle Prozesse, in denen Softwareagenten Aufgaben lösen, die für Menschen nützlich sind. Beim Problemlösen mit Agenten (statt mit klassischen KI-Programmen) kann man die drei Unterfälle unterscheiden, die in Abbildung 7.4 dargestellt sind. Verteiltes Lösen von Problemen Problemlösen MultiagentenSimulation MultiagentenSysteme Lösen verteilter Probleme Verteilte Techniken für das Problemlösen Konstruktion künstlicher Welten Kollektive Robotik Programmentwurf Abbildung 7.4 Verteiltes Lösen von Problemen Das ist notwendig, wenn die zu lösende Aufgabe komplex ist und nicht von einem Agenten allein gelöst werden kann, vielmehr mehrere spezialisierte Agenten erforderlich sind, die sich bei der Lösung ergänzen. Die Aufgabe selbst ist nicht verteilt, die Agenten müssen also bei der Lösung in geeigneter Form zusammenarbeiten. Typische Beispiele sind medizinische Diagnose, Entwurf und Technische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Seite 71 Herstellung komplexer technischer Produkte (Autos, Flugzeuge, Maschinen aller Art), Wissenserwerb, Fehlersuche in Netzen, Sprachverstehen und Steuerung und Überwachung von Telekommunikationsnetzen. Lösen verteilter Probleme Hier kommt als zusätzlicher Aspekt hinzu, dass das Problem selbst gewissermaßen von Natur aus verteilt ist. Das Problemlösen erfolgt selbstverständlich auch verteilt. Verteilte Probleme hat man typischerweise bei der Analyse, Identifikation, Fehlersuche und Steuerung von physisch verteilten Systemen, bei denen eine zentralisierte Übersicht schwierig ist. Ein Beispiel ist die Steuerung eines Kommunikations- oder Energienetzes, wo der Anwendungsbereich, das Netz, bereits ein verteiltes System darstellt. Hier wird versucht, die Überwachung und Steuerung soweit wie möglich auf die einzelnen Knoten des Netzes zu verteilen. Ein anderes Beispiel ist das DVMT (distributed vehicle monitoring testbed), das zur Überwachung von Verkehrsströmen dient. An verschiedenen Stellen in einem Bereich sind Kontrollstationen installiert, die miteinander kommunizieren um die Routen einzelner Fahrzeuge zu überwachen. Verteilte Techniken für das Problemlösen Hier handelt es sich um Probleme, die im Prinzip ein einzelner Agent lösen kann. Weder ist der Anwendungsbereich noch die Expertise verteilt. Die verteilte Herangehensweise an das Problem kann aber zu einfacheren Lösungen führen. Typische Probleme dieser Art sind etwa das Aufeinanderstapeln von Würfeln oder das Zusammenbauen von Teilen zu einem größeren Ganzen. Hier werden die Würfel oder die Teile als Agenten betrachtet, die genau definierte Ziele haben, vorgegeben vom Entwerfer, wobei die Verbindungen zwischen den Agenten die Constraints sind, die die Agenten beachten müssen. 7.3.2. Multiagenten-Simulation Bei der klassischen Simulation von Phänomenen aus der Natur werden Modelle der Realität konstruiert und in irgendeiner programmierten Form auf dem Rechner zum Laufen gebracht. Die Modelle bestehen typischerweise aus mathematischen Beziehungen zwischen Variablen, die in der Realität messbare physikalische Werte repräsentieren. Häufig verwendete Beziehungen sind Differentialgleichungen, Transitionsmatrizen u.a.. Sie stellen eine Beziehung zwischen Eingangsund Ausgangsvariablen her, die man sich als Kausalzusammenhang vorstellt. Ein typisches Beispiel ist das Modell des Wachstums einer Population von Beutetieren und Jägern, die im selben Territorium leben. Es wird durch die folgenden Gleichungen beschrieben: dN1 = r1 N1 − PN1 N 2 dt dN 2 = aPN1 N 2 − d 2 N 2 dt Dabei ist P der Beutekoeffizient, N1 und N2 sind die Anzahlen der Beutetiere und der Jäger, a ist die Rate, mit der die Jäger Nahrung in Nachwuchs umsetzen, r1 gibt die Fruchtbarkeit der Beutetiere an und d2 die Sterblichkeitsrate der Jäger. Trotz der Nützlichkeit dieses und ähnlicher Modelle für die Forschung sind folgende Einwände dagegen zu machen: • Abgeschlossenheit der Analyseebene: Die Parameter der Modelle liegen alle auf derselben Ebene. Diese Ebene ist abgeschlossen, denn es ist nicht möglich, Verhaltensweisen auf der Mikroebene zu Parametern auf der Makroebene in Beziehung zu setzen. Technische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Seite 72 • Komplexität und Realitätsnähe der Parameter: Die Modelle enthalten oft eine große Zahl von Parametern, deren Werte schwer abzuschätzen sind und die mehr oder weniger realitätsfern sind. • Schwierigkeit der Darstellung von Aktionen: Aktionen von Individuen und damit daraus folgende Änderungen der Umgebung können nur schwer oder gar nicht in den Modellen dargestellt werden. Phänomene, die durch die Interaktion von Individuen entstehen, können somit kaum beschrieben werden. • Mangel an qualitativer Darstellungsfähigkeit: Digitale Simulationen setzen quantitative Parameter voraus. Viele Daten, die in der Realität gesammelt werden, sind aber qualitativ. Im Gegensatz zu traditionellen Modellen geht die Multiagenten-Simulation davon aus, dass das Verhalten aktiver Einheiten in der Welt in computergerechter Form repräsentiert werden kann und dass damit bestimmte Phänomene als Folgen der Interaktionen einer Menge von Agenten mit eigener operationaler Autonomie dargestellt werden kann. In Modellen der Multiagenten-Simulation sollen sowohl quantitative als auch qualitative Parameter repräsentierbar sein. Man spricht deshalb auch von mikroanalytischen Modellen oder individuenzentrierter Simulation. Die Repräsentation liegt hier auf der Ebene der Individuen, die miteinander und mit der simulierten Umgebung interagieren. Damit werden künstliche Mikrowelten konstruiert, die wie Labore benutzt werden können, in denen man mit unterschiedlichen Vorgaben Experimente durchführen kann. Die Vorteile der Multiagenten-Simulation sind in ihrer Fähigkeit zur Integration und ihrer Flexibilität begründet. Man kann in einem Modell z.B. quantitative Variable, Differentialgleichungen und durch Regeln beschriebene Verhaltensweisen integrieren. Man kann die Modelle leicht modifizieren, indem man z.B. neue Agenten mit besonderen Verhaltensweisen hinzufügt, die mit den bereits vorhandenen interagieren. Vor allem aber kann man mit diesen Modellen demonstrieren, wie das globale Verhalten eines Systems auf der Makroebene durch die Interaktionen der Agenten auf der Mikroebene entsteht. 7.3.3. Konstruktion synthetischer Welten Synthetische Welten sind MAS, die zu dem Zweck entworfen werden, bestimmte Interaktionsmechanismen genau zu untersuchen. Sie können sich an Erscheinungen der realen Welt anlehnen, und meistens kommen die dargestellten Interaktionsmechanismen dort vor, aber sie können auch vollkommen künstlich sein. Im Folgenden werden einige Beispiele für synthetische Welten dargestellt. Die Jagd Die Welt besteht aus einem Gitter mit mehreren quadratischen Feldern. Über diese bewegen sich Beutetiere und Jäger. Die Jäger müssen die Beutetiere fangen, indem sie sie umringen. Dies ist in Abbildung 7.5 dargestellt. Es worden folgende Festlegungen getroffen: (1) Die Umgebung (das Gitter) hat endliche Größe. (2) Jäger und Beutetiere bewegen sich mit fester Geschwindigkeit, im Allgemeinen mit der selben. (3) Die Beutetiere bewegen sich zufallsgesteuert und führen eine Art Brownscher Bewegung aus, d.h. sie wählen zu jedem Zeitpunkt eine zufällige Position aus. Technische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Seite 73 (4) Die Jäger können die Ecken und Seiten des Gitters benutzen um die Wege der Beutetiere zu blockieren. (5) Die Jäger haben beschränkte Wahrnehmungsfähigkeit, sie sehen ein Beutetier nur, wenn es sich in einem der Felder befindet, die in ihrem Wahrnehmungsbereich liegen. Jäger Beutetiere Abbildung 7.5 Man kann diese synthetische Welt mit kognitiven und mit reaktiven Agenten entwerfen. Beim kognitiven Entwurf geht man im Allgemeinen top down vor, indem man die verschiedenen Funktionen definiert, die das System auszuführen hat: Entdecken von Beutetieren, Bildung von Jagdteams, Zuordnung von Rollen zu den einzelnen Jägern (z.B. Angriffsrichtungen), Reorganisation von Jagdteams usw. Dies alles ist im Verhalten der Agenten definiert. Sie benötigen ferner ein Kommunikationssystem mittels dessen sie in verteilter Weise Entscheidungen treffen können. Die Agenten haben Ziele und handeln rational mit Bezug auf die Ziele, eventuell bestimmen sie einen Anführer, wenn dies zweckmäßig erscheint. Beim reaktiven Entwurf setzt man voraus, dass die Beutetiere ein Signal aussenden, das die Jäger anzieht und das mit zunehmender Entfernung abnimmt. Je näher ein Jäger an einem Beutetier ist, desto stärker wird er von ihm angezogen. Ein Jäger wird also das Beutetier verfolgen, dem er am nächsten ist, auch wenn er die Signale anderer Beutetiere empfängt. Damit nicht alle Jäger sich am selben Platz einfinden, senden sie ein Signal aus, das auf andere Jäger abstoßend wirkt. Ein Jäger wird also von dem Signal eines Beutetiers angezogen und gleichzeitig von den Signalen anderer Jäger (schwach) abgestoßen. Aus der Summe dieser Wahrnehmungen ergibt sich sein Verhalten. Im Vergleich zwischen kognitivem und reaktivem Modell kann man feststellen, dass im kognitiven Modell die Kooperation der Agenten intentional ist, denn sie können sich unterhalten und explizite Aufgaben festlegen, während sie im reaktiven Modell reaktiv ist und sich als Nebeneffekt des individualistischen Verhaltens der Agenten ergibt. Explorative Roboter auf dem Mars Die Aufgabe der explorativen Roboter ist das Sammeln von Erzproben. Dieses Problem stellt eine ideale Spielsituation zur Untersuchung unterschiedlicher Kooperationsstrategien dar. Das Szenario Technische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Seite 74 ist wie folgt: Eine Basis steht fest oder bewegt sich nur geringfügig, von der aus mehrere Roboter ein ihnen unbekanntes Gebiet erforschen und darin nach Erzproben suchen, die sie aufnehmen und zu der Basis bringen sollen. Die Aufgabe besteht also darin, die Struktur und das Verhalten der Roboter sowie die Organisation der Robotergesellschaft so zu definieren, dass sie ihre Aufgabe möglichst effizient erfüllt. Abbildung 7.6 stellt das Szenario dar. Roboter Erzproben Basis Abbildung 7.6 Für die Definition eines MAS, das die Roboter simuliert, müssen folgende Schritte durchgeführt werden: 1. Definition der verschiedenen Typen von Robotern: Sollen sie identisch oder in unterschiedlicher Weise spezialisiert sein? 2. Festlegung der kognitiven Fähigkeiten der Agenten: Können sie sich das Gelände, in dem sie sich bewegen, merken und Karten erstellen, sind sie rein reaktiv und haben nur lokal beschränkte Wahrnehmungsfähigkeit, oder können sie miteinander kommunizieren indem sie sich über größere Distanzen Nachrichten schicken? 3. Beschreibung der kollektiven Arbeitsstrukturen: Arbeiten sie in einer Gruppe oder einzeln? Sind die Teams fest oder dynamisch? Können sie Unterstützung bekommen und wenn ja, wie, oder sind sie ausschließlich auf ihre eigenen Ressourcen angewiesen? 4. Definition der Kooperationsmechanismen und der Interaktionsprotokolle: Sie dienen zur Durchführung der kollektiven Arbeit und reduzieren die Zahl der möglichen Konflikte. 5. Bereitstellung von Verfahren zur Auswertung von Entscheidungen und zum Vergleich mit anderen Organisationstypen. Eine autonome Produktionshalle Die Aufgabe besteht darin, eine Reihe von Produkten A1, ..., Ak herzustellen. Dafür stehen die Maschinen M1, ..., Mn, die Rohmaterialien P1, ..., Pj und die Transportroboter T1, ..., Tm zur Verfügung. Die Rohmaterialien kommen am Anfang der Produktionslinie an und die fertigen Produkte verlassen sie am Ende. Wie muss der Ablauf organisiert werden, damit er auf spezielle Produktionsanforderungen flexibel reagieren kann? Die Aufgabe besteht also darin, dass jede einzelne Produktionseinheit ihre Aufgabe erfüllt und dass die Einheiten so zusammenarbeiten, dass Technische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Seite 75 das gewünschte Ergebnis erreicht wird und dass sie auf Störungen so flexibel reagieren, dass die Produktion nicht unterbrochen wird. 7.3.4. Kollektive Robotik Die kollektive Robotik beschäftigt sich mit realen Agenten, die in einer realen Umgebung operieren. Sie müssen zusammenarbeiten, um die ihnen gestellte Aufgabe zu erfüllen. Es gibt zwei Typen von Robotern für die kollektive Robotik, zelluläre Roboter und mobile Roboter. Zelluläre Roboter Ein zellulärer Roboter ist eigentlich ein einzelner Roboter, in der Regel in der Konstruktion eingesetzt, der als MAS aufgefasst wird. Seine einzelnen Komponenten werden als Agenten betrachtet. Eine Bewegung eines solchen Roboters entsteht durch die Koordination einiger der Komponentenagenten. Dadurch ist es möglich komplexe Bewegungen mit einem Minimum an Rechenaufwand durchzuführen. Mobile Roboter Mindestens zwei mobile Roboter arbeiten zusammen um eine bestimmte Aufgabe auszuführen. Zum Aufgabenspektrum gehören Dinge wie das Reinigen von Fußböden, die Überwachung von Gebäuden, Unterstützung eingeschränkt handlungsfähiger Personen, Reparaturen und Untersuchung entfernter oder gefährlicher Bereiche. In diesen Bereich fällt auch die Koordination der Bewegungen von Vehikeln (Flugzeuge, Autos, Schiffe). Das Ziel hierbei ist Kollisionen zu vermeiden. 7.3.5. Agentenorientiertes Programmieren Das agentenorientierte Programmieren ist, wie das objektorientierte Programmieren, ein eigenständiges Programmierparadigma, d.h. es schließt eine Entwurfsmethodik ein. Das Ziel ist Computersysteme zu erstellen, die sich selbst (weiter-) entwickeln, und zwar dadurch, dass relativ autonome Agenten in physikalisch verteilten Domänen operieren, interagieren, sich adaptieren und sich reproduzieren. Jede Programmeinheit wird als Agent betrachtet mit Autonomie und eigenen Zielen, die im Netz „lebt“ wie in einem eigenen Ökosystem und mit anderen Einheiten der selben Art kommuniziert, kooperiert und verhandelt. Der Nutzer verhält sich wie ein Schafhirte, der der Herde von Agenten Anweisungen erteilt und später die Ergebnisse ihrer Arbeit erntet. Im engeren Sinn ist agentenorientiertes Programmieren die Fortsetzung des objektorientierten Programmierens zu einer noch modulareren Form des Programmentwurfs. Jede Programmkomponente wird als Agent mit bestimmten Fähigkeiten und Zielen betrachtet, die bestrebt ist die Anforderungen des Nutzers zu erfüllen und die in der Lage ist auf Veränderungen im Programm richtig zu reagieren. 7.4. Grundlegende Aspekte der Konstruktion von MAS 7.4.1. Aktionen Die Fragestellung hier lautet: Wie können mehrere Agenten gleichzeitig handeln und welche Folgen haben ihre Aktionen für die Umgebung. Das zweite lässt sich direkt beantworten: Der Zustand der Umgebung ist eine direkte Folge der Kombination der Aktionen der Agenten. Der erste Punkt wirft weitere Fragen auf: Wie können die Aktionen kombiniert werden? Wie können zwei Agenten Technische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Seite 76 kollidieren bzw. eine Kollision vermeiden? Wie werden die Randbedingungen der Umgebung mit den Aktionen der Agenten kombiniert? 7.4.2. Das Individuum und seine Beziehung zur Welt Ein individueller Agent wird durch seine Architektur und seine interne Organisation definiert. Wesentlich ist ferner seine Überlebensfähigkeit und die Fähigkeit, seine Ziele zu erreichen. Außer bei einfachen reaktiven Agenten ist der mentale Zustand für einen Agenten wichtig. Er resultiert aus seiner Geschichte, aus seiner Wahrnehmung der Welt und seiner Interaktion mit der Welt und anderen Agenten. Der mentale Zustand bestimmt im Wesentlichen das Verhalten des Agenten. Er ist meist in sehr komplexer Weise aus einer großen Anzahl von Elementen zusammengesetzt.. 7.4.3. Interaktion Der Designer eines MAS muss die elementaren Mechanismen, die den Agenten die Interaktion ermöglichen, beschreiben können, ebenso verschiedene Formen der Interaktion. Die Kommunikation dient zur Übermittlung von Informationen, aber auch dazu bei anderen Agenten ein bestimmtes Verhalten hervorzurufen. Kommunikation ist somit eine besondere Form der Aktion, die nicht auf die Umgebung, sondern auf die mentalen Zustände anderer Agenten einwirkt. Es gibt zwei Hauptformen der Interaktion: Kollaboration und Koordination. Bei der Ersten geht es um die Verteilung der Arbeit auf mehrere Agenten, entweder in zentralisierter oder verteilter Form. Bei der Zweiten geht es um die Organisation der Aktivitäten der einzelnen Agenten in Raum und Zeit. Auftretende Konflikte müssen gelöst werden, z.B. durch Verhandeln. 7.4.4. Adaption Strukturelle und verhaltensmäßige Adaption einer Gesellschaft von Agenten kann auf zwei Arten erfolgen: durch individuelles Lernen einzelner Agenten oder durch Evolution der ganzen Gesellschaft. Im ersten Fall werden symbolische Lernverfahren oder Neuronale Netze verwendet, im zweiten Fall genetische Algorithmen. 7.4.5. Definition und Implementierung von MAS Dazu gehören Implementierungssprachen, Rechenarchitekturen, Entwicklungsplattformen und Aspekte des Software Engineering. 7.5. Zusammenfassung Es wurde gezeigt, dass die Multiagentensysteme ein Paradigma der Künstlichen Intelligenz darstellen, das in verschiedener Hinsicht von dem traditionellen abweicht. Sowohl die Struktur von zu lösenden Problemen als auch die Komplexität der Lösungen legen einen verteilten Ansatz nahe. Es wurden verschiedene Haupttypen von Agenten, Organisationsstrukturen von Agentengesellschaften, Architekturen für Agenten, Anwendungsgebiete für Multiagentensysteme und Aspekte der Konstruktion von Multiagentensystemen vorgestellt. Im Einzelnen sind folgende Punkte wesentlich: • Aus unterschiedlichen Gründen empfiehlt sich der Einsatz von Multiagentensystemen, wegen der Struktur und Komplexität der Probleme, wegen des heterogenen und dynamischen Einsatzgebietes und wegen der Tendenz zur komponentenorientierten Entwicklung von Systemen und dem Denken in Netzstrukturen. Technische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Seite 77 • Agenten sind zwar individuell existierende Einheiten, sind aber immer auch eingebettet in eine Gesellschaft von Agenten und handeln in einer Umgebung. In einer Agentengesellschaft gibt es unterschiedliche Organisationsebenen und -strukturen. • Die beiden Haupttypen von Agenten sind die kognitiven und die reaktiven Agenten. Beim ersten Typ betrachtet man die Agenten und ihre Gesellschaft eher als soziale Wesen mit komplexem Wissen und Problemlösungsfähigkeiten, beim zweiten Typ eher als einfache biologische Wesen, etwa wie Insekten, mit einfachem reaktivem Verhalten. Die Entscheidung über den Typ einer Agentengesellschaft für die Lösung eines Problems bestimmt auch die Architektur des Multiagentensystems. • Es gibt zahlreiche Anwendungsgebiete für Multiagentensysteme. Die Hauptgruppen sind das Problemlösen, die Multiagenten-Simulation, die Konstruktion synthetischer Welten, die kollektive Robotik und das agentenorientierte Programmieren. • Bei der Konstruktion von Multiagentensystemen sind die Aktionen der Agenten, die Beziehungen der einzelnen Agenten zur Welt, die Interaktion zwischen den Agenten, die Adaptionsfähigkeit der Agenten und technische Voraussetzungen für die Realisierung die wesentlichen Aspekte. Technische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Technische Universität Chemnitz Seite 78 Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Seite 79 8. Lernen aus Beobachtungen 8.1. Induktives Lernen Beim überwachten Lernen bekommt der Lerner eine Menge von Beispielen vorgelegt und soll daraus eine Funktion erlernen. Die Beispiele haben die Form von Paaren (x, f(x)). x ist die Eingabe und f(x) die Ausgabe der zu lernenden Funktion. Die reine induktive Inferenz (kurz Induktion) besteht aus der folgenden Aufgabe: Bestimme auf Grund einer Menge von Beispielen von f eine Funktion h, genannt Hypothese, die f approximiert. Im Allgemeinen können viele Hypothesen aus Beispielen generiert werden. Wird einer Hypothese gegenüber einer anderen der Vorzug gegeben, dann heißt dies ein Bias. Weil es fast immer eine große Zahl möglicher konsistenter Hypothesen gibt, haben alle Lernalgorithmen einen irgendwie gearteten Bias. Die einfachste Form eines Lernverfahrens ist das reflexive Lernen. Damit können (Wahrnehmung, Aktion)-Paare gelernt werden. Die Grundstruktur eines solchen Lernverfahrens besteht aus einem REFLEX-PERFORMANCE-ELEMENT und einem REFLEX-LEARNING-ELEMENT. global Beispiele ← {} function REFLEX-PERFORMANCE-ELEMENT(Wahrnehmung) returns eine Aktion if (Wahrnehmung, Aktion) in Beispiele then return Aktion else h ← INDUCE(Beispiele) return h(Wahrnehmung) procedure REFLEX-LEARNING-ELEMENT(Wahrnehmung, Aktion) inputs: Wahrnehmung Feedback Wahrnehmug Aktion Feedback Aktion Beispiele ← Beispiele ∪ {(Wahrnehmung, Aktion)} 8.2. Lernen von Entscheidungsbäumen 8.2.1. Entscheidungsbäume Ein Entscheidungsbaum nimmt als Eingabe ein Objekt oder eine Situation, beschrieben durch eine Menge von Eigenschaften, und erzeugt als Ausgabe eine Ja/Nein-Entscheidung. Entscheidungsbäume repräsentieren also Boolesche Funktionen, es können aber auch höherwertige Funktionen repräsentiert werden. Ein innerer Knoten eines Entscheidungsbaums entspricht einem Test auf den Wert einer der Eigenschaften und die nach unten von dem Knoten wegführenden Kanten sind mit den möglichen Werten der Eigenschaft markiert. Ein Blattknoten entspricht einem Booleschen Wert, der als Ergebnis ausgegeben wird, wenn das Blatt erreicht wird. Als ein Beispiel wird das Entscheidungsproblem betrachtet, ob man in einem Restaurant auf einen freien Tisch warten soll, wenn alle Tische besetzt sind. Man möchte also eine Definition für das Zielprädikat Warten in Form eines Entscheidungsbaums lernen. Zunächst müssen die Eigenschaften oder Attribute festgelegt werden, mit denen die Beispiele beschrieben werden. Die folgenden Attribute werden gewählt: Technische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Seite 80 Alternative: Gibt es in der Nähe ein geeignetes anderes Restaurant? Bar: Gibt es in dem Restaurant eine komfortable Bar zum Warten? Fr/Sa: Ist Freitag oder Samstag? Hungrig: Bin ich hungrig? Gäste: Wie viele Leute sind im Restaurant (keine, einige oder voll)? Preis: In welchem Preissegment liegt das Restaurant (€, €€, €€€)? Regen: Regnet es draußen? Reservierung: Habe ich reserviert? Typ: Um welche Art von Restaurant handelt es sich (Französisch, Italienisch, Chinesisch oder Burger)? 10. Wartezeit: Welche voraussichtliche Wartezeit wird vom Restaurant geschätzt? 1. 2. 3. 4. 5. 6. 7. 8. 9. Ein Entscheidungsbaum für das Problem könnte z.B. der in Abbildung 8.1 dargestellte sein. Die Attribute Preis und Typ sind darin nicht benutzt, weil sie angesichts der Datenlage irrelevant sind. Der Baum kann in eine Menge von Implikationen (8 insgesamt) umgesetzt werden, die den Pfaden von der Wurzel zu den mit Ja markierten Blättern entsprechen. Zum Beispiel ergibt der Pfad über die Knoten Wartezeit und Hungrig die Implikation ∀r Gäste(r, Voll) ∧ Wartezeit(r, 10-30) ∧ Hungrig(r, Nein) ⇒ Warten(r) Gäste? Keine Einige Nein Voll Wartezeit? Ja >60 0-10 30-60 10-30 Alternative? Nein Nein Ja Reservierung? Nein Ja Bar? Ja Nein Ja Nein Ja Hungrig? Nein Ja Ja Alternative? Fr/Sa? Nein Nein Ja Ja Nein Ja Ja Ja Regen? Nein Nein Ja Ja Abbildung 8.1 8.2.2. Ausdruckskraft von Entscheidungsbäumen Entscheidungsbäume repräsentieren Mengen von Implikationen, sie können aber nicht beliebige Mengen von Sätzen der Logik erster Stufe repräsentieren, da sie prinzipiell nur Aussagen über einzelne Objekte machen können, niemals gleichzeitig über mehrere Objekte. Die Entscheidungsbaum-Sprache ist im Wesentlichen aussagenlogisch. Die Ausdruckskraft der Entscheidungsbäume entspricht genau der Aussagenlogik, d.h. jede Boolesche Funktion oder jeder aussagenlogische Satz kann als Entscheidungsbaum dargestellt werden. Man braucht nur von der Wahrheitstabelle der Booleschen Funktion auszugehen und jede Zeile als Pfad in einem Entscheidungsbaum darzustellen. Bei manchen Booleschen Funktionen ist aber die Wiedergabe als Entscheidungsbaum sehr aufwändig. Zur Darstellung der Paritätsfunktion zum Beispiel, die eine 1 ausgibt, wenn geradzahlig viele Technische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Seite 81 Eingaben 1 sind, wäre ein exponentiell großer Entscheidungsbaum notwendig. Auch die Repräsentation der Majoritätsfunktion, die eine 1 ausgibt, wenn mehr als die Hälfte ihrer Eingaben 1 ist, ist schwierig. 8.2.3. Induktion von Entscheidungsbäumen aus Beispielen Ein Beispiel wird durch die Werte der Attribute und den Wert des Zielprädikats beschrieben. Der Wert des Zielprädikats heißt Klassifikation des Beispiels. Ist der Wert wahr für ein Beispiel, so heißt dieses ein positives Beispiel, andernfalls ein negatives Beispiel. Die gesamte Menge der Beispiele heißt Trainingsmenge. Tabelle 8.1 enthält die Beispiele für das Restaurant-Beispiel. Beispiele Alternative X1 Ja X2 Ja X3 Nein X4 Ja X5 Ja X6 Nein X7 Nein X8 Nein X9 Nein X10 Ja X11 Nein X12 Ja Bar Fr/Sa Nein Nein Ja Nein Nein Ja Ja Nein Ja Ja Nein Ja Nein Nein Nein Ja Ja Nein Nein Nein Ja Ja Nein Ja Attribute Ziel Hung- Gäste Preis Regen Reser- Typ Warte- Warten rig vierung zeit Ja Einige €€€ Nein Ja Franz 0-10 Ja Ja Voll € Nein Nein Chin 30-60 Nein Nein Einige € Nein Nein Burger 0-10 Ja Ja Voll € Nein Nein Chin 10-30 Ja Nein Voll €€€ Nein Ja Franz >60 Nein Ja Einige €€ Ja Ja Ital 0-10 Ja Nein Keine € Ja Nein Burger 0-10 Nein Ja Einige €€ Ja Ja Chin 0-10 Ja Nein Voll € Ja Nein Burger >60 Nein Ja Voll €€€ Nein Ja Ital 10-30 Nein Nein Keine € Nein Nein Chin 0-10 Nein Ja Voll € Nein Nein Burger 30-60 Ja Tabelle 8.1 Bei der Erstellung eines Entscheidungsbaums aus Beispielen kommt es darauf an, ein Muster zu extrahieren, das eine große Zahl von Fällen in knapper Form beschreibt. Der Entscheidungsbaum muss vor allem eine knappe, aber informationsreiche Repräsentation von Fällen sein und er sollte alle Trainingsbeispiele erfassen. Dies ist ein Beispiel für ein allgemeines Prinzip des induktiven Lernens, genannt Ockhams Rasiermesser: Die wahrscheinlichste Hypothese ist die einfachste, die mit allen Beobachtungen konsistent ist. Ein Entscheidungsbaum repräsentiert eine einfache Hypothese, wenn er möglichst klein ist. Das Problem, den kleinsten Entscheidungsbaum zu finden, ist nicht lösbar. Aber man kann versuchen einen möglichst kleinen zu finden. Zu diesem Zweck geht der DECISION-TREE-LEARNING-Algorithmus so vor, dass er immer das wichtigste Attribut zuerst testet. Damit ist dasjenige Attribut gemeint, nach dem sich die Beispiele am stärksten unterscheiden. Auf diese Weise wird versucht eine korrekte Klassifikation mit einer kleinen Menge von Tests zu bekommen, wodurch die Pfade im Entscheidungsbaum kurz werden und der Baum insgesamt klein wird. function DECISION-TREE-LEARNING(Beispiele, Attribute, Default) returns einen Baum inputs: Beispiele eine Menge von Beispielen Attribute eine Menge von Attributen Default ein Default-Wert für das Zielprädikat if Beispiele ist leer then return Default else if alle Beispiele haben die selbe Klassifikation then return die Klassifikation else if Attribute ist leer then return MAJORITY-VALUE(Beispiele) Technische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Seite 82 else best ← CHOOSE-ATTRIBUTE(Attribute, Beispiele) Baum ← ein neuer Entscheidungsbaum mit Wurzeltest best for each Wert vi von best do Beispielei ← {Elemente von Beispiele mit best = vi} subtree ← DECISION-TREE-LEARNING(Beispielei, Attribute - best, MAJORITY-VALUE(Beispiele)) füge einen Zweig zu Baum hinzu mit Marke vi und Teilbaum subtree end return Baum Nachdem die erste Aufteilung der Testmenge durch das erste Attribut erfolgt ist, entstehen mehrere neue Entscheidungsbaum-Lernprobleme mit weniger Beispielen und einem Attribut weniger. Die Konstruktion des Entscheidungsbaums erfolgt also rekursiv. Vier Fälle sind dabei zu unterscheiden: 1. Wenn die Teilmenge einige positive und einige negative Beispiele enthält, dann wähle das beste Attribut um sie weiter zu unterteilen. 2. Wenn alle Beispiele in der Teilmenge positiv sind (bzw. alle negativ), dann ist der Zweig des Baums fertig. Man kann mit Ja (bzw. Nein) antworten. 3. Wenn die Teilmenge leer ist bedeutet dies, dass kein Beispiel mit der durch die bisher benutzten Attribute beschriebenen Eigenschaften vorliegt. Es wird ein Defaultwert zurückgegeben, der auf Grund der mehrheitlichen Klassifikation am Vorgängerknoten berechnet wird. 4. Wenn keine Attribute übrig sind aber die Teilmenge nicht leer ist und sowohl positive als auch negative Beispiel enthält, bedeutet dies, dass diese Beispiele zwar verschiedene Klassifikation haben, aber die gleichen Eigenschaften, zumindest so weit sie auf Grund der definierten Attribute beschreibbar sind. Dieser Fall tritt ein, wenn einige Daten falsch sind, d.h. wenn sie verrauscht sind, oder wenn die Attribute nicht genügend Information enthalten um die vorliegende Situation zu beschreiben oder wenn die Domäne nicht deterministisch ist. In diesem Fall trift man eine Mehrheitsentscheidung. Konstruiert man den Entscheidungsbaum für die Beispiele von Tabelle 8.1 nach dieser Vorschrift, dann erhält man den Entscheidungsbaum von Abbildung 8.2. Gäste? Keine Einige Nein Ja Voll Hungrig? Nein Ja Typ? Nein Französisch Italienisch Ja Nein Burger Chinesisch Fr/Sa? Nein Nein Ja Ja Ja Abbildung 8.2 Die Diskrepanz zwischen dem Ausgangsbaum und dem Ergebnisbaum ist sicher auch der kleinen Anzahl von Beispielen zuzuschreiben. Mit mehr Beispielen dürfte der Unterschied geringer ausfalTechnische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Seite 83 len. Der Baum von Abbildung 8.2 ist auch keine sehr gute Hypothese, denn z.B. kommt der Fall, dass ein Restaurant voll und die Wartezeit 0 – 10 Minuten beträgt, gar nicht vor. Im Fall von Hunger sagt der Baum, dass nicht gewartet werden soll, aber wenn die Wartezeit höchstens 10 Minuten beträgt, wird man in der Regel warten. Diese Beobachtung führt zu der Frage nach der Korrektheit der Hypothese. 8.2.4. Abschätzung der Performanz des Lernalgorithmus Die Qualität eines Lernalgorithmus kann danach eingeschätzt werden, wie gut er neue, vorher nicht betrachtete Beispiele klassifiziert. Dazu muss die Klassifikation dieser Beispiele aber vorab bekannt sein. Die Menge der Beispiele, die für diesen Zweck verwendet werden, heißt Testmenge. Diese Menge reserviert man üblicherweise von vornherein für den Test, ansonsten müsste man nach neuen Beispielen suchen und deren Klassifikation bestimmen. Im Einzelnen geht man in folgenden Schritten vor: 1. Sammle eine große Menge von Beispielen. 2. Unterteile die Menge in zwei disjunkte Teilmengen, die Trainingsmenge und die Testmenge. 3. Erzeuge mit dem Lernalgorithmus auf der Basis der Trainingsmenge eine Hypothese H. 4. Bestimme den Prozentsatz der Beispiele in der Testmenge, die durch H korrekt klassifiziert werden. 5. Wiederhole die Schritte 1. bis 4. für verschieden große und zufällig ausgewählte Trainingsmengen. Durch Anwendung dieser Schritte erhält man eine Menge von Daten, auf Grund derer die durchschnittliche Vorhersagequalität als eine Funktion der Größe der Trainingsmenge angegeben werden kann. Diese Funktion ergibt in grafischer Form dargestellt die so genannte Lernkurve des Algorithmus auf der betrachteten Domäne. Abbildung 8.3 zeigt den ungefähren Verlauf der Lernkurve für den Algorithmus DECISION-TREE-LEARNING auf der Restaurant-Domäne. 100 90 Korrekt- 80 heit auf der 70 Testmenge 60 in % 50 40 0 20 40 60 80 100 Größe der Trainingsmenge Abbildung 8.3 8.2.5. Praktischer Gebrauch des Entscheidungsbaum-Lernens Gas-Öl-Trenner BP brachte 1986 ein Expertensystem mit Namen GASOIL zum Einsatz. Sein Zweck war der Entwurf von Gas-Öl-Trennanlagen für Offshore-Ölplattformen. Die Trennung von Gas und Öl erfordert ein sehr großes, komplexes und teures Trennsystem, dessen Entwurf eine Anzahl von Attributen betrifft, u.a. die relativen Anteile von Gas, Öl und Wasser, die Flussrate, den Druck, die Dichte, die Technische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Seite 84 Viskosität und die Temperatur. GASOIL enthielt ungefähr 2500 Regeln. Der Bau eines solchen Expertensystems von Hand erfordert ungefähr 10 Personen-Jahre. Statt dessen wurde ein Entscheidungsbaum-Lernverfahren auf eine Datenbasis von existierenden Entwürfen angewandt. Damit wurde das Expertensystem in 100 Personen-Tagen entwickelt. Es soll besser sein als menschliche Experten und viele Millionen Dollar eingespart haben. Fliegen lernen im Flugsimulator Sammut et al. entwickelten 1992 einen automatischen Piloten für eine Cessna. Die Beispieldaten wurden durch Beobachtung von drei erfahrenen Piloten im Flugsimulator gewonnen. Jeder der Piloten führte 30 Minuten lang einen vordefinierten Flugplan aus. Jedes Mal wenn ein Pilot eine Steueraktion durchführte indem er eine Steuervariable setzte, z.B. Schub oder Flügelklappen, wurde ein Beispiel erzeugt. Insgesamt wurden 90000 Beispiele erzeugt, jedes durch 20 Zustandsvariable beschrieben und mit der durchgeführten Aktion markiert. Aus den Beispielen wurde mit Hilfe des C4.5-Algorithmus ein Entscheidungsbaum erzeugt. Der Baum wurde in ein C-Programm umgesetzt und dieses in die Steuerschleife des Flugsimulators integriert, so dass das Programm das Flugzeug selbst fliegen konnte. Die Ergebnisse waren überraschend. Das Programm konnte nicht nur fliegen, sondern sogar besser fliegen als die menschlichen Lehrer. Der Grund dafür ist, dass beim Lernen gelegentliche Fehler der einzelnen Menschen durch Verallgemeinerung ausgeglichen wurden. Das deutet an, dass für schwierige Aufgaben wie das Fliegen von Hubschraubern, die schwere Lasten bei starkem Wind tragen, mit den Methoden des Maschinellen Lernens Autopiloten entwickelt werden könnten. Bis jetzt gibt es solche nicht und es gibt auch nur wenige menschliche Piloten dafür. 8.3. Die Verwendung der Informationstheorie 8.3.1. Das Prinzip des Informationsgewinns Zur Implementierung der CHOOSE-ATTRIBUTE-Funktion benötigt man ein Maß für gute und unnütze Attribute. Dieses Maß muss seinen größten Wert für perfekte Attribute und seinen kleinsten Wert für völlig wertlose Attribute haben. Ein solches Maß ist der erwartete Gehalt an Information, der von einem Attribut geliefert wird. Der Begriff Information ist dabei im Sinne der Shannonschen Informationstheorie zu verstehen. Eine Information in diesem Sinn ist eine Antwort auf eine Frage. Wenn man eine auf die Frage schon relativ gut zutreffende Vermutung hat, dann ist die Antwort weniger informativ als wenn man überhaupt nichts weiß. In der Informationstheorie wird der Gehalt einer Information in Bits gemessen. Ein Bit Information genügt um eine Ja/Nein-Frage zu beantworten, über deren Antwort man keinerlei Vorstellung hat, wie dem Fall einer Münze. Wenn die möglichen Antworten vi auf die Frage die Wahrscheinlichkeiten P(vi) haben, dann ist der Informationsgehalt I der tatsächlichen Antwort definiert durch n I ( P(vi ),..., P(v n )) = ∑ − P(vi ) log 2 P(vi ) i =1 Dies ist der durchschnittliche Informationsgehalt der verschiedenen Antworten (die − log 2 P -Ausdrücke), gewichtet mit den Wahrscheinlichkeiten der Antworten. Beim Entscheidungsbaum-Lernen ist die zu beantwortende Frage: Was ist die korrekte Klassifikation für ein gegebenes Beispiel? Ein korrekter Entscheidungsbaum liefert die Antwort. Eine Schätzung der Wahrscheinlichkeiten der möglichen Antworten vor dem Test der Attribute ist durch das Technische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Seite 85 Verhältnis der positiven und negativen Beispiele in der Trainingsmenge gegeben. Angenommen, die Trainingsmenge enthalte p positive und n negative Beispiele. Dann wird der Informationsgehalt einer korrekten Antwort wie folgt abgeschätzt: ⎛ p n ⎞ p p n n ⎟⎟ = − I ⎜⎜ − , log 2 log 2 p+n p+n p+n p+n ⎝ p+n p+n⎠ Der Test eines einzelnen Attributs gibt im Allgemeinen nicht so viel Information, aber immerhin einen Teil davon. Das Maß an Information, das ein Attribut liefert, wird daran gemessen, wie viel Information nach dem Attributtest für eine korrekte Antwort noch benötigt wird. Jedes Attribut A unterteilt die Trainingsmenge E in die Teilmengen E1, ..., Ev, entsprechend ihren Werten für A, wobei angenommen ist, dass A v verschiedene Werte haben kann. Jede Teilmenge Ei enthält pi positive und ni negative Beispiele. Wenn man also auf dem i-ten Zweig des Baums fortfährt, benötigt man zusätzlich I ( pi ( pi + ni ) , ni ( pi + ni )) Bits an Information um die Frage zu beantworten. Ein zufällig ausgewähltes Beispiel hat mit der Wahrscheinlichkeit ( pi + ni ) ( p + n) den iten Wert des Attributs, deshalb benötigt man im Durchschnitt nach dem Test des Attributs A v Rest ( A) = ∑ i =1 p i + ni ⎛ p i ni , ⋅ I ⎜⎜ p + n ⎝ p i + n i p i + ni ⎞ ⎟⎟ ⎠ Bits an Information um das Beispiel zu klassifizieren. Der Informationsgewinn aus dem Attributtest ist definiert durch die Differenz zwischen dem ursprünglichen Informationsbedarf und dem neuen Informationsbedarf: ⎛ p n ⎞ ⎟⎟ − Rest ( A) Gain( A) = I ⎜⎜ , ⎝ p+n p+n⎠ Die Heuristik, die in der CHOOSE-ATTRIBUTE-Funktion benutzt wird, ist, das Attribut mit dem größten Informationsgewinn zu wählen. 8.3.2. Rauschen und Overfitting Wenn es bei einem Lernproblem eine große Menge möglicher Hypothesen gibt, besteht die Gefahr, dass man beim Lernen bedeutungslose Regelmäßigkeiten in den Daten entdeckt. Dieses Problem heißt Overfitting. Es ist ein sehr allgemeines Phänomen und kann in allen möglichen Lernverfahren vorkommen, nicht nur bei Entscheidungsbäumen. Eine einfache Technik zur Vermeidung des Overfitting ist das Pruning. Durch das Pruning wird verhindert, dass Attribute für die Aufteilung einer Menge verwendet werden, die nicht wirklich relevant sind, selbst wenn die Beispiele an diesem Knoten nicht uniform klassifiziert sind. Die Frage ist, wie irrelevante Attribute entdeckt werden. Der Informationsgewinn bietet dafür eine Möglichkeit. Angenommen man teilt eine Menge von Beispielen mit einem irrelevanten Attribut auf. Die entstehenden Teilmengen haben dann in der Regel etwa dieselbe Verteilung von positiven und negativen Beispielen wie die ursprüngliche Menge. Dann ist der Informationsgewinn annähernd Null. Damit stellt sich umgekehrt die Frage, ab welchem Informationsgewinn es sich lohnt, ein Attribut zur Aufteilung der Beispielmenge zu verwenden. Mit dieser Frage beschäftigen sich statistische Signifikanztests. Ein Signifikanztest beginnt mit der Annahme, es gebe in den vorliegenden Beispielen kein zugrunde liegendes Muster (so genannte Nullhypothese). Dann werden die Daten analysiert um festzustellen, wie weit sie vom vollständiTechnische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Seite 86 gen Fehlen eines Musters abweichen. Wenn der Grad der Abweichung statistisch unwahrscheinlich ist, dann besteht beträchtliche Evidenz für das Vorliegen eines signifikanten Musters in den Daten. Im Fall der Entscheidungsbäume ist die Nullhypothese, dass das gerade betrachtete Attribut irrelevant ist und damit der Informationsgewinn für eine unendlich große Menge von Beispielen Null. Nun muss die Wahrscheinlichkeit dafür berechnet werden, dass unter Annahme der Nullhypothese eine Beispielmenge der Größe v die beobachtete Abweichung von der erwarteten Verteilung der positiven und negativen Beispiele zeigt. Die Abweichung kann man messen, indem man die tatsächlichen Anzahlen positiver und negativer Beispiele in jeder Teilmenge, also pi und ni, mit den erwarteten Zahlen p̂i und n̂i vergleicht, wobei man vollständige Irrelevanz voraussetzt: pˆ i = p ⋅ pi + ni p+n nˆ i = n ⋅ pi + ni p+n Ein Maß für die Gesamtabweichung ist definiert durch v D=∑ i =1 ( pi − pˆ i ) 2 (ni − nˆ i ) 2 + pˆ i nˆ i Unter der Nullhypothese ist der Wert von D entsprechend der χ2-Verteilung mit v – 1 Freiheitsgraden verteilt. Mit Hilfe von χ2-Tabellen oder statistischer Software kann dann berechnet werden mit welcher Wahrscheinlichkeit ein Attribut wirklich irrelevant ist. Pruning hat auch Vorteile, wenn Daten verrauscht sind. Bei stark verrauschten Daten liefern Bäume mit Pruning bessere Ergebnisse als solche ohne Pruning. Bäume mit Pruning sind meist wesentlich kompakter und deshalb auch besser zu verstehen. 8.3.3. Erweiterung der Anwendbarkeit von Entscheidungsbäumen Um den Einsatzbereich des Entscheidungsbaum-Lernens zu erweitern muss man Maßnahmen ergreifen um fehlende Daten zu ergänzen und um Attribute mit besonderen Eigenschaften verwendbar zu machen. • Fehlende Daten In vielen Anwendungsbereichen sind nicht alle Attributwerte für jedes Beispiel bekannt. Das kann daran liegen, dass sie nicht erfasst wurden oder dass es zu aufwändig ist sie zu ermitteln. Hier sind zwei Probleme zu lösen: 1. Wie modifiziert man die Konstruktion des Entscheidungsbaums, insbesondere die Definition des Informationsgewinns, wenn bei einigen Beispielen Attributwerte fehlen? 2. Wie klassifiziert man ein neues Beispiel mit einem bestehenden Entscheidungsbaum, wenn eines der Testattribute nicht anwendbar ist? • Attribute mit vielen Werten Ist die Zahl der Werte eines Attributs sehr hoch, dann kann der Extremfall eintreten, dass das Attribut für jedes Beispiel einen eigenen Wert hat und damit lauter einelementige Mengen entstehen. Der Informationsgewinn hätte dann für dieses Attribut den höchsten Wert. Trotzdem wäre das Attribut irrelevant oder nutzlos. Um solche Attribute zu behandeln kann man den Gain Ratio verwenden. • Attribute mit kontinuierlichen Werten Manche Attribute haben kontinuierliche Wertebereiche, z.B. Attribute wie Größe oder Gewicht. Um sie für das Entscheidungsbaum-Lernen verwendbar zu machen diskretisiert man üblicherweise die Wertebereiche. Das wird meistens von Hand gemacht. Eine bessere Methode ist, die Attribute im Rahmen des Lernprozesses vorab zu behandeln um herauszufinden, welche Unterteilung des Wertebereichs die nützlichste Information für die Zwecke der Klassifikation liefert. Technische Universität Chemnitz Wintersemester 2004/5 Wissensrepräsentation und Problemlösung Seite 87 8.4. Zusammenfassung Lernen wurde in diesem Abschnitt als das Erlernen einer Funktion, die Eingaben zu Ausgaben in Beziehung setzt, aufgefasst. Speziell wurde das Lernen aus Beispiel-Ein/Ausgabe-Paaren betrachtet. Die wichtigsten Punkte sind: • Für intelligente Systeme ist das Lernen von großer Bedeutung, damit sie in unbekannten Umgebungen handlungsfähig sind, d.h. Umgebungen, die auch der Entwickler nicht vorhersehen kann. • Das Lernen ist auch für das Entwickeln von Systemen mit vertretbarem Aufwand von großer Bedeutung. • Beim Lernen geht es immer um das Erlernen einer möglichst genauen Repräsentation einer Funktion. • Das Erlernen einer Funktion aus Ein/Ausgabe-Beispielen heißt induktives Lernen. • Der Schwierigkeitsgrad des Lernens hängt von der gewählten Repräsentation ab. Zu lernende Funktionen können als logische Sätze, Polynome, Bayessche Netze, Neuronale Netze oder noch anders repräsentiert werden. • Entscheidungsbäume sind eine effiziente Methode zum Erlernen deterministischer Boolescher Funktionen. • Nach Ockhams Rasiermesser ist die einfachste Hypothese, die die gegebenen Beispiele matcht, die günstigste. Die Heuristik des Informationsgewinns ermöglicht es, einen einfachen Entscheidungsbaum zu finden. • Die Performanz induktiver Lernalgorithmen wird durch ihre Lernkurve gemessen, die die Vorhersagegenauigkeit als Funktion der Anzahl der betrachteten Beispiele angibt. Technische Universität Chemnitz Wintersemester 2004/5