Agenten - Universität Wien

Werbung
Multi-Agenten Systeme
Moderner Ansatz zur verteilten künstlichen
Intelligenz
Peter Brezany
Institut für Softwarewissenschaften
Universität Wien
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
Allgemeines und Grundbegriffe
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
Page 1
2
Einführung
• Intelligente Agenten für den kommerziellen Einsatz in
Computersystemen sind zwar relativ neue Erscheinung,
aber in der Forschung beschäftigt man sich schon seit
vielen Jahren mit ihnen.
• Das Studium von Multiagentensystemen begann im Gebiet
von distributed artificial intellifence (DAI) vor 20 Jahren.
Es baut auf Resultaten, Konzepten und Ideen von vielen
Disziplinen (Künstliche Intelligenz, Informatik, Soziologie,
Ökonomie, Organisations- und Managementwissenschaft,
und Philosofie).
• Heute sind diese Systeme nicht nur ein Forschungsthema –
sie fangen auch an, ein wichtiges Subjekt akademischer
Lehre und industrieller und kommerzieller Anwendungen zu
sein.
• Java hat sich eindeutig als die beste Sprache von
bestehenden kommerziellen Sprachen für die Konstruktion
von Agenten und Multiagentensystemen herausgestellt.
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
3
Künstliche Intelligenz (KI)
Der Begriff der künstlichen Intelligenz ist während
der vergangenen vierzig Jahren in und aus der Mode
gekommen. Zuerst stand er für das Versprechen,
dass die Menschheit in der Lage wäre, intelligente
Maschinen mit Fähigkeiten zu konstruieren, die mit
denen von Menschen vergleichbar wären oder sie
sogar überstiegen. Nach Jahren in denen solche
Erwartungen unerfüllt blieben, verband man ihn
jedoch mit fehlgeschlagenen Ansätzen. Obwohl der
Begriff nicht mehr so beliebt sein mag, bleibt doch
der grundlegende Wunsch bestehen, Computer kluger
oder intelligenter zu machen. Da wir aus Schichten
von konventioneller Software immer komplexere
Systeme aufgebaut haben, hat sich die
Notwendigkeit von Intelligenz, ob natürlich oder
künstlich, tatsächlich verstärkt.
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
Page 2
4
Künstliche Intelligenz (KI) (2)
Künstliche Intelligenz erlaubt uns, Software zu
entwickeln, die raffinierter ist, als sie ohne KI
wäre, und dadurch qualitativ besser als Software,
die keine KI-Techniken einsetzt.
Ob man es als Fehler oder als Erfolg ansehen will, die
Tatsache bleibt bestehen, dass die KI-Forschung
wichtige Beiträge für das Design und die Entwicklung
von kommerzieller Standardsoftware geleistet hat.
Den vielleicht größten Einfluss hat sie in dem
Bereich gehabt, der heute als objektorientierte
Programmierung bekannt ist. Die Vorstellung von
Softwareobjekten mit zugehörigen Daten und
Prozeduren ist eine Verfeinerung des KI-Konzept
der Frames, die Slots oder Attribute aufweisen, um
einem Begriff zugehörige Daten festzuhalten, und
angehängt Prozeduren (Methoden), um diese Daten
zu verarbeiten.
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
5
Die Rolle von Java
Obwohl der objektorientierte Ansatz einst ein heftig
umstrittener Punkt in den Kreisen der
Softwareentwickler war, ist dies heute die für
kommerzielle Zwecke bevorzugte Methode. Die
Einführung der Programmiersprache Java im Jahre
1996 hat diese Vorrangstellung nicht nur bestätig,
sondern auch gezeigt, wie ernst man diese
Überzeugung nimmt.
Java ist die ideale Sprache für das Schreiben von
intelligenten Agenten.
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
Page 3
6
KI - Grundbegriffe
Intelligente Softwareagenten, mit deren Hilfe
Benutzer Aufgaben über Computernetzwerke
ausführen, stünden heute nicht einmal zur
diskussion, hätte man nicht Jahre der Forschung in
die Bereiche verteilte künstliche Intelligenz,
Problemlösung, Schlussfolgerung, Lernen und Planen
investiert.
Jetzt diskutieren wir die Grudentwicklungsphasen
der KI.
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
7
KI – Grundbegriffe (2)
1. Phase. Der Schwerpunkt lag auf der Entwicklung
allgemeiner „Denkmaschinen“ (Spielen wie Dame und
Schach, Theorembeweisen, Geometrie und
Differenzrechnung), die eine große von Problemen lösen
können sollten. Diese Systeme verwendeten häufig sehr
anspruchsvolle Schlussfoldgerungs- und Suchtechniken.
2. Phase. Diese Phase der KI-Forschung begann, als man
erkannte, dass die meisten erfolgreichen KI-Projekte auf
sehr eng begrenzte Problembereiche ausgerichtet waren
und dass oft sehr viel Spezialwissen über das zu lösende
Problem darin steckte. Regelbasierte Expertensysteme
wurden entwickelt, um die unterschiedlichsten Aufgaben zu
erledigen, darunter chemische Analysen, Konfigurationen
von Computersystemen und medizinische Diagnosen. Dabei
setzte man Forschungsergebnisse über Wissensdarstellung,
Knowledge Engineering und fortgeschrittene
Schlussfolgerungstechniken ein und konnte zum ersten Mal
beweisen, dass künstliche Intelligenz in Programmen einen
echten Nutzen hatte und Geld brachte.
8
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
Page 4
KI – Grundbegriffe (3)
3. Phase – Wir haben nun die dritte Phase der Anwendungen
künstlicher Intelligenz erreicht. Mit der explosionsartigen
Entwicklung des Internets und der verteilten
Rechnersysteme in jüngster Zeit entstand die Idee,
Agenten zu schaffen, die sich durch Netzwerke bewegen,
mit anderen Agenten zusammenarbeiten und Aufgaben für
Benutzer ausführen können. Intelligente Agenten werden
durch den Einsatz modernster KI-Techniken zu autonomen,
intelligenten und mobilen Softwareagenten, die den
Wirkungskreis von Benutzern in Netzwerken enorm
erweitern.
Ein Agent handelt rational. Er tut Dinge, die auch wir tun
aber nicht unbedingt auf die gleiche Weise. Agenten
machen uns produktiver. Sie gestatten uns mehr Arbeit in
kürzerer Zeit zu bewältigen, und helfen uns, zu mehr
interessanten Informationen und weniger unbrauchbaren
Daten zu kommen. Unsere Programme werden durch den
Einsatz von KI-Technologien qualitativ besser.
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
9
Verarbeiten von Symbolen
Es gibt viele Verhaltensweisen, die wir mit
Intelligenz in Verbindung bringen. Die Fähigkeit,
bestimmte Situationen und Sachverhalte
wiederzuerkennen, ist eine Art von Intelligenz. Ein
Arzt zum Beispiel, der im Gespräch mit einem
Patienten Daten über dessen Krankheitssymptome
sammelt und anschließend in der Lage ist, die
Krankheit eindeutig zu diagnostizieren und die
richtige Behandlungsmethode zu bestimmen, zeigt
diese Art von Intelligenz. Die Fähigkeit, aus einigen
wenigem Beispielen zu lernen, diese Wissen zu
verallgemeinern und später auf neue Situationen
anzuwenden, ist eine weiter Form von Intelligenz.
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
Page 5
10
Verarbeiten von Symbolen (2)
Intelligentes Verhalten kann durch die Bearbeitung
von Symbolen erzeugt werden. Dies ist einer der
grundlegenden KI-Lehrsätze. Symbole sind Zeichen,
die Objekte oder Ideen der realen Welt darstellen
und auf einem Computer in Form von Zeichenketten
oder Zahlen repräsentiert werden können. Bei
diesem Ansatz wird ein Problem durch eine Gruppe
von Symbolen dargestellt und dann der geeignete
Algorithmus entwickelt, um diese Symbole zu
verarbeiten.
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
11
Drei Fragen
• (Q1) Was ist ein Agent?
• (Q2) Wenn ein Software-Programm kein Agent ist, wie
kann man es in einen Agenten transformieren?
• (Q3) Wenn (Q1) klar ist, welche Software
Infrastruktur braucht man zur Interaktion zwischen
Agenten? Welche Dienste sind notwendig?
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
Page 6
12
Distributed Artificial Intelligence
Definition: Distributed Artificial Intelligence (DAI)
Das Gebiet, das Systeme untersucht in denen mehrere autonom
agierende (intelligente) Entitäten zusammenarbeiten um ein
gegebenes Ziel zu erreichen oder eine gemeinsame Aufgabe
auszuführen. Diese Entitäten heissen Agenten, das Gebiet
Multiagenten Systeme (MAS).
DAI beschäftigt sich auch mit dem Entwurf und Anwendung von MAS.
Beispiel: Robocup League
Warum?
Grosse Informationssysteme sind verteilt, offen, heterogen.
Dies verlangt nach intelligenten, interagierenden Agenten, die autonom
agieren.
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
13
Definition von Agent
Agent: Ein Agent ist etwas, das seine Umgebung mittels
Sensoren wahrnimmt und in dieser Umgebung mittels
Werkzeugen autonom agiert.
Autonomität – zentraler Begriff
Intelligenz: auf Ziel orientiert
Interaktiv: mit anderen Agenten (oder Menschen)
Coordination: Cooperation vs. Competition
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
Page 7
14
Definition von Agent (2)
• Software-Agenten: Ein- und Ausgabe sind
Bitströme (eventuell im Internet)
• Mobilität: Fähigkeit, die physikalische Position zu
ändern
• Rationale Agenten sind solche, die das Richtige tun.
(Ein Maß für die Performanz wird benötigt.)
• Allwissende Agenten sind solche, die die Resultate
ihrer Aktionen im voraus wissen. (Rationale Agenten
sind i.A. nicht allwissend!)
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
15
MAS versus Klassische DAI
MAS:
Mehrere Agenten koordinieren ihr Wissen und ihre Aktionen
(Semantik beschreibt dies).
DAI:
Spezielles Problem wird in kleinere Probleme zerlegt (Knoten).
Diese Knoten haben gemeinsames Wissen. Die Lösungsmethode
wird zentral vorgegeben.
Heute ist DAI oft synonym mit MAS.
Das Studium von MAS begann vor etwa 20 Jahren.
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
Page 8
16
Intelligente Agenten
Ein Agent ist ein Computer/Programm System, das in seiner
Umgebung agiert und autonome Aktionen ausführt um
gewisse Ziele zu erreichen.
Umgebung ist nicht deterministisch.
Intelligente Agenten müßen verlässig in Umgebungen, die
sich schnell ändern, unvorsehbar und offen sind, wo
gewisse Wahrscheinlichkeit besteht, dass
Agententaktionen nicht erfolgreich sein können.
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
17
Intelligente Agenten (IA) (2)
2 Beispiele von modernen Anwendungsgebiete für IA.
1. Raumsonde (Flug: Erde – anderer Planet)
Momentan alles vom Bodenzentrum kontrolliert –
teuer und für schnelle Entscheidungen oft sehr
lagsam – NASA untersucht Möglichkeiten, wie
Sonden autonomer zu machen
2. Suchen im Internet – In der Zukunft ein Agent
wird unsere Anfrage erhalten und Antwort auf
intelligente Weise finden.
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
Page 9
18
AI gegen DAI
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
19
Der Agent in seiner Umgebung
Die nächste Abbildung – eine abstrakte, top-level
Sicht eines Agenten.
In vielen (komplexen) Anwendungen hat der Agent
keine komplette Kontrolle über seine Umgebung, nur
partielle Kontrolle – dieselbe Aktion kann
verschiedene Einflüsse haben, wenn 2-mal (in
anscheinend gleichem Kontext) ausgeführt. Sie kann
sogar versagen.
Die Umgebung kann nicht-deterministisch sein.
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
Page 10
20
Der Agent in seiner Umgebung (2)
• Einem Agenten steht ein Repertoire von Aktionen zur
Verfügung. Nicht alle Aktionen dürfen in jeder Situation
ausgeführt werden. (Z.B. Aktionen: „hebe Tisch“, „kaufe
Ferrari“).Deshalb sind Vorbedingungen (Pre-Konditionen)
mit Aktionen verknüpft.
• Schlüsselproblem: welche Aktionen ausführen, um am
besten die Entwurfsziele zu erreichen.
• Agentenarchitekturen (wie wir später sehen werden) sind
in Wirklichkeit Softwarearchitekturen für
entscheidungstreffende Systeme (decision making
systems), die in eine Umgebung eingebettet (embedded)
sind.
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
21
Der Agent in seiner Umgebung (3)
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
Page 11
22
Ereignisse
Ein Ereignis ist alles, was die Umgebung verändert oder
was der Agent berücksichtigen muss (z.B. das Eintreffen
einer E-mail; Änderung an einer Internetseite; ein Signal
um Mitternacht–Zeit um die Faxe herauszuschicken, die
sich in der Warteschleife befinden).
Wenn ein neues Ereignis eintrifft, muss der Agent dieses
erkennen, seine Bedeutung einschätzen und darauf
reagieren. Im nächsten Schritt wird festgestellt, wie der
Zustand der Welt ist, und über die entsprechende Aktion
entscheiden.
Ein intelligenter Agent muss auch proaktiv sein – er soll
nicht einfach nur auf Ereignisse reagieren, sondern muss
auch fähig sein, selbst zu planen und Aktionen zu starten.
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
23
Eigenschaften der Umgebung
Zugänglich/Unzugänglich.
Zugänglich – der Agent kann komplette, genaue, aktuelle
Information über den Zusatnd der Umgebung erhalten. Der
Größtenteil von mäßig komplexen Umgebungen (z.B. unsere
physikalische Welt und Internet) ist unzugänglich; je
zugänglichere Umgebung desto einfacher ist, die
entsprechenden Agenten zu bauen.
Deterministisch/Indeterministisch:
Deterministisch – es gibt keine Unsicherheit über den
Zustand. Die physikalische Welt ist indeterministisch –
größere Probleme für Agenten. Falls die Umgebung
unzugänglich ist, kann sie indeterministisch scheinen, obwohl
sie es nicht ist.
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
Page 12
24
Eigenschaften der Umgebung (2)
Episodisch/Nichtepisodisch: Episodisch – die auf den AgentPerceptionen (Wahrnehmung) basierten Entscheidungen sind
unabhängig von vorherigen Perceptionen. Jedes PerceptionAktion Paar ist von jeder anderen Zeit unabhängig. Spiele sind
ein Beispiel nichtepisodischer Umgebungen – jeder Zug ist ein
Teil einer Strategie = das Spiel zu gewinnen. Ein Beispiel für
episodische Umgebung – Mailsortierungssystem.
Statisch/Dynamisch: Dynamisch heißt: während der Agent noch
überlegt, ändert sich schon die Welt. Semi -dynamisch heißt:
Zwar ändert sich nicht die Welt, aber das Performanz-Maß des
Agenten.
Diskret/Stetig: Diskret – in der Umgebung ist eine feste,
begrenzte Zahl von Aktionen und Wahrnehmungen, z.B.
Schachspiel. Das Beispiel für stetige Umgebung – Taxifahren.
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
25
Beispiele von Umgebungen
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
Page 13
26
Beispiele für (nicht intelligente) Agenten
1. Jedes Steuerungssystem kann als ein Agent betrachtet
werden.
Thermostat (Effekt nicht immer garantiert, z.B. die Tür
ist offen)
sehr kalt → Heizung EIN
Temperatur OK → Heizung AUS
2. Ein Großteil von daemons, (wie Hintergrundprozesse in
UNIX), die eine Softwareumgebung monitorieren kann als
Agenten betrachtet werden. Z.B. xbiff monitoriert
ankommende E-mails.
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
27
Rationaler, allwissender Agent
Definition
Rationale Agenten sind solche, die das Richtige tun.
(Ein Maß für die Performanz wird benötigt.)
Allwissende Agenten sind solche, die die Resultate ihrer
Aktionen im voraus wissen.
Rationale Agenten sind i.a. nicht allwissend!
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
Page 14
28
Rationaler, allwissender Agent (2)
Wie ist das Richtige definiert und wovon hängt es ab?
1. Performanz-Maß (möglichst objektiv),
2. Percept-Sequenz: was bisher wahrgenommen wurde,
3. Wissen des Agenten über die Umgebung,
4. Aktionsmöglichkeit des Agenten.
Definition : Idealer rationaler Agent
Ein idealer rationaler Agent wählt für jede PerceptSequenz genau die Aktion aus, die sein Performanz-Maß
maximiert (bei gegebenem Wissen über die Umgebung).
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
29
Mathematische Beschreibung
Agenten können durch Abbildungen
Menge der Percept-Sequenzen → Menge der Aktionen
mathematisch beschrieben werden.
Die interne Struktur eines Agenten ist
Agent = Architektur + Programm
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
Page 15
30
Beispiel für einen Agenten: Taxi
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
31
Die PAGE-Beschreibung von Agenten
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
Page 16
32
Intelligente Agenten
Definition:
Ein intelligenter Agent ist ein Agent mit folgenden Eigenschaften:
1. Reaktiv: Reaktion auf Änderungen im Environment in gewissen
Zeitabständen um ihre Ziele zu erreichen.
2. Pro-aktiv: Initiative übernehmen, zielgerichtetes Verhalten
3. Sozial: Interaktion mit anderen um ihre Ziele zu erreichen.
Pro aktiv alleine reicht nicht (C-Programme). Denn die Umgebung
kann sich ändern während der Ausführung des Programms.
Schwierigkeit: Richtige Balance zwischen Pro-aktiv and Reaktiv!
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
33
Agenten und Objekte
• Ein skeptischer Hörer/Leser mag nun fragen: „Was soll
die ganze Aufregung um Agenten?“ Es sind doch nur
verteilte Objekte mit einem anderen Namen.
• Ein Objekt ist eine Programmeinheit, die Zustand
(Daten) und Verhalten (Funktion) verkapselt und eine
Reihe von Methoden oder Prozeduren aufweist, mit
denen dieser Zustand verändert werden kann. Objekte
werden von anderen Objekten benutzt, um Aktionen
durchzuführen. Objekte lösen keine Aktionen aus
eigenem Antrieb aus.
• Es existieren sowohl deutliche Ähnlichkeiten als auch
Verschiedenheiten zwischen Agenten und Objekten –
siehe die nächsten Folien.
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
Page 17
34
Agenten und Objekte (2)
1. Autonomität von Agenten und Objekten. Ein Objekt
kann Kontrolle über seinen eigenen internen Zustand
haben aber keine Kontrolle über sein Verhalten –
wenn eine Methode den anderen zum Aufruf zur
Verfügung steht, sie können das machen, wann
auch immer sie das wollen – das Objekt hat keine
Kontrolle mehr über die Ausführung oder nichtAusführunf dieser Mehode.
In multiagenten Systemen ist noch gesichert, dass
ein Agent i eine Aktion (Method) a nur deshalb
ausführen wird, dass ein anderer Agent j das will.
Agenten rufen keine Aktion – sie verlangen, dass
diese Aktion ausgeführt wird.
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
35
Agenten und Objekte (3)
2. Flexibles (reactives, pro-actives, soziales) autonomes
Verhalten. Das standartes Objektmodel sagt kein Wort
darüber, wie man Systeme baut, die diese Verhaltentypen
integrieren.
3. Eigene Thread-Struktur. Es wird angenommen, dass jeder
Agent eine eigene Thread-Steuerung hat – Nach dem
standarten Objektmodel existiert nur eine ThreadSteuerung im ganzen System.
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
Page 18
36
Agenten und Expertensysteme
• Expertensysteme (ES) war die wichstigste KITechnologie der achtziger Jahren.
• Ein ES is fähig in einem Wissensreichen Bereich
Probleme zu lösen oder Ratschläge zu geben.
• ES interagieren direkt mit keiner Umgebung: sie
bekommen ihre Information nicht über Sensoren,
aber von einem Anwender, der als middle man wirkt.
Auf gleiche Weise, sie üben keine Aktion auf der
Umgebung, aber geben Feedback oder Rat an „third
party“.
ES kommunizieren mit keinen Agenten.
Einige ES (z.B. Echtzeit-ES) sehen ähnlich wie
Agenten aus.
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
37
Es folgt:
Abstrakte Architekturen für
Intelligente Agenten
P.Brezany
Institut für Softwarewissenschaft - Universität Wien
Page 19
38
Zugehörige Unterlagen
Herunterladen