7. Multiagentensysteme - Technische Universität Chemnitz

Werbung
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 2006/07
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 2006/07
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 2006/07
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 2006/07
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 2006/07
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 2006/07
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 2006/07
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 2006/07
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 2006/07
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 2006/07
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 2006/07
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 2006/07
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 2006/07
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 2006/07
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 2006/07
Wissensrepräsentation und Problemlösung
Technische Universität Chemnitz
Seite 78
Wintersemester 2006/07
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 2006/07
Wissensrepräsentation und Problemlösung
Seite 80
1.
2.
3.
4.
5.
6.
7.
8.
9.
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?
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
Ja
Voll
Wartezeit?
>60
0-10
30-60
Nein
10-30
Alternative?
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 2006/07
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 2006/07
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 2006/07
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 2006/07
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(vn ))    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 2006/07
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
pi  ni  pi
ni
 I 
,
p  n  pi  ni pi  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 
  Re st ( 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 2006/07
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 
p i  ni
pn
nˆ i  n 
p i  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 2006/07
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 2006/07
Herunterladen