Agenten-Systeme - Frieder Stolzenburg - Hochschule Harz
Agenten-Systeme - Frieder Stolzenburg - Hochschule Harz
Agenten-Systeme - Frieder Stolzenburg - Hochschule Harz
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Agenten</strong>-<strong>Systeme</strong><br />
1 Einführung<br />
Prof. Dr. <strong>Frieder</strong> <strong>Stolzenburg</strong><br />
fstolzenburg@hs-harz.de<br />
<strong>Hochschule</strong> <strong>Harz</strong><br />
Fachbereich Automatisierung und Informatik<br />
38855 Wernigerode<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1 Einführung S. 1/26
Gesamtüberblick<br />
Intelligente mobile <strong>Agenten</strong><br />
Architekturen für intelligente <strong>Agenten</strong><br />
<strong>Agenten</strong>-Kommunikation und -Interaktion<br />
Suchverfahren für <strong>Agenten</strong><br />
Verteilte rationale Entscheidungsfindung<br />
Formale Methoden in der verteilten KI<br />
Spezifikation und Analyse von Multiagenten-<strong>Systeme</strong>n<br />
Anwendungen (RoboCup, CSCW, Internet)<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1 Einführung S. 2/26
1.1 Was sind Intelligente <strong>Agenten</strong>?<br />
Ein Agent ist ein Computer-System, das seine Umgebung<br />
mittels Sensoren wahrnimmt und darauf autonom und<br />
rational mittels Effektoren (re)agiert. [Russell & Norvig 1995]<br />
Umgebung<br />
Wahrnehmung<br />
Aktion<br />
Effektoren<br />
Sensoren<br />
?<br />
Agent<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.1 Was sind Intelligente <strong>Agenten</strong>? S. 3/26
Auto Mower – autonomer Rasenmäher<br />
Der Mäher arbeitet vollautonom, fährt vorprogrammierte<br />
Rasenfläche ab, sucht Batterie-Ladestation von Zeit zu Zeit<br />
auf und vermeidet Hindernisse.<br />
Maße: 60<br />
26<br />
71 cm ¡ Gewicht: 7.1 kg ¡ Hersteller: Husqvarna<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.1 Was sind Intelligente <strong>Agenten</strong>? S. 4/26
MIA – Mobile Informationsagenten<br />
Mobile Informationsagenten finden nach Vorlieben des<br />
Benutzers Informationen mit Relevanz zum Aufenthaltsort<br />
aus dem World Wide Web (mit GPS, Handy) heraus.<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.1 Was sind Intelligente <strong>Agenten</strong>? S. 5/26
RoboCup – Roboterfußball<br />
Fußballroboter spielen unabhängig voneinander (d.h. ohne<br />
zentrale Steuerung), aber mit Kooperation im Team und<br />
gegen andere Mannschaft (real oder simuliert) in jährlichen<br />
Wettbewerben.<br />
Ligen: MidSize, Small, Simulation, Aibo Dog<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.1 Was sind Intelligente <strong>Agenten</strong>? S. 6/26
1.2 Definition von Agent<br />
Software-<strong>Agenten</strong>: Ein- und Ausgabe sind Bitströme<br />
(eventuell im Internet)<br />
Mobilität: Fähigkeit, die physikalische Position zu<br />
ändern. — Was bedeutet das? ?<br />
Rationale <strong>Agenten</strong> sind solche, die das Richtige tun.<br />
(Ein Maß für die Performanz wird benötigt.)<br />
Allwissende <strong>Agenten</strong> sind solche, die die Resultate<br />
ihrer Aktionen im voraus wissen.<br />
(Rationale <strong>Agenten</strong> sind i.A. nicht allwissend!)<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.2 Definition von Agent S. 7/26
Rationale <strong>Agenten</strong> I<br />
Wie ist das Richtige definiert?<br />
Wovon hängt es ab?<br />
Performanz-Maß (möglichst objektiv),<br />
Percept-Sequenz: was bisher wahrgenommen wurde,<br />
Wissen des <strong>Agenten</strong> über die Umgebung,<br />
Aktionsmöglichkeiten des <strong>Agenten</strong>.<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.2 Definition von Agent S. 8/26
Rationale <strong>Agenten</strong> II<br />
Ein idealer rationaler Agent wählt für jede<br />
Percept-Sequenz genau die Aktion aus, die sein<br />
Performanz-Maß maximiert (bei gegebenem Wissen<br />
über die Umgebung).<br />
<strong>Agenten</strong> können durch Abbildungen<br />
Menge der Percept-Sequenzen<br />
mathematisch beschrieben werden.<br />
Die interne Struktur eines <strong>Agenten</strong> ist:<br />
Agent = Architektur + Programm.<br />
Menge der Aktionen<br />
Die KI beschäftigt sich damit, <strong>Agenten</strong>-Programme zu<br />
entwerfen.<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.2 Definition von Agent S. 9/26
Verteilte Künstliche Intelligenz<br />
Distributed Artificial Intelligence: Das Gebiet, das <strong>Systeme</strong><br />
untersucht, in denen mehrere autonom agierende Entitäten<br />
zusammenarbeiten, um ein gegebenes Ziel zu erreichen.<br />
Die Entitäten heißen <strong>Agenten</strong>; Gebiet<br />
Multiagenten-<strong>Systeme</strong> (MAS).<br />
Warum? Grosse Informationssysteme sind verteilt, offen,<br />
heterogen. Dies verlangt nach intelligenten, interagierenden<br />
<strong>Agenten</strong>, die autonom agieren.<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.2 Definition von Agent S. 10/26
MAS versus Verteilte KI<br />
Multiagenten-<strong>Systeme</strong>: Mehrere <strong>Agenten</strong> koordinieren ihr<br />
Wissen und ihre Aktionen (Semantik beschreibt dies).<br />
Verteilte KI: Spezielles Problem wird in kleinere Probleme<br />
zerlegt (Knoten). Diese Knoten haben gemeinsames<br />
Wissen. Die Lösungsmethode wird zentral vorgegeben.<br />
Heutzutage sind beide Begriffe mehr oder weniger<br />
synonym.<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.2 Definition von Agent S. 11/26
KI versus Verteilte KI<br />
Künstliche Intelligenz Verteilte KI<br />
Agent System von <strong>Agenten</strong><br />
Intelligenz: Intelligenz:<br />
Eigenschaft eines <strong>Agenten</strong> Eigenschaft mehrerer <strong>Agenten</strong><br />
Kognitive Prozesse Soziale Prozesse<br />
eines <strong>Agenten</strong> mehrerer <strong>Agenten</strong><br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.2 Definition von Agent S. 12/26
1.3 Schemata für <strong>Agenten</strong><br />
Einfachste Form von <strong>Agenten</strong>-Programmen:<br />
function SKELETON-AGENT( percept) returns action<br />
static: memory, the agent’s memory of the world<br />
memory UPDATE-MEMORY(memory, percept)<br />
action CHOOSE-BEST-ACTION(memory)<br />
memory UPDATE-MEMORY(memory, action)<br />
return action<br />
Theoretisch ist alles trivial:<br />
function TABLE-DRIVEN-AGENT( percept) returns action<br />
static: percepts, a sequence, initially empty<br />
table, a table, indexed by percept sequences, initially fully specified<br />
append percept to the end of percepts<br />
action<br />
return action<br />
¡ LOOKUP( percepts, table)<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.3 Schemata für <strong>Agenten</strong> S. 13/26
Die PAGE-Beschreibung von <strong>Agenten</strong><br />
Agent Type Percepts Actions Goals Environment<br />
Medical diagnosis<br />
system<br />
Satellite image<br />
analysis system<br />
Symptoms,<br />
findings, patient’s<br />
answers<br />
Pixels of varying<br />
intensity, color<br />
Part-picking robot Pixels of varying<br />
intensity<br />
Refinery controller Temperature,<br />
pressure readings<br />
Interactive English<br />
tutor<br />
Questions, tests,<br />
treatments<br />
Print a<br />
categorization of<br />
scene<br />
Pick up parts and<br />
sort into bins<br />
Open, close<br />
valves; adjust<br />
temperature<br />
Typed words Print exercises,<br />
suggestions,<br />
corrections<br />
Healthy patient,<br />
minimize costs<br />
Correct<br />
categorization<br />
Place parts in<br />
correct bins<br />
Maximize purity,<br />
yield, safety<br />
Maximize<br />
student’s score on<br />
test<br />
Patient, hospital<br />
Images from<br />
orbiting satellite<br />
Conveyor belt<br />
with parts<br />
Refinery<br />
Set of students<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.3 Schemata für <strong>Agenten</strong> S. 14/26
Umwelteigenschaften<br />
zugänglich/unzugänglich: Falls nicht vollst. zugängl.<br />
braucht man interne Zustände.<br />
deterministisch/indeterministisch: Falls die Umgebung<br />
unzugänglich ist, kann sie indeterministisch scheinen.<br />
episodisch/nichtepisodisch: Percept-Aktion-Sequenzen<br />
sind voneinander unabhängig (abgeschlossene<br />
Episoden).<br />
statisch/dynamisch/semidynamisch: Dynamisch:<br />
während der Agent noch überlegt, ändert sich schon<br />
die Welt. Semi-dynamisch heißt: Zwar ändert sich nicht<br />
die Welt, aber das Performanz-Maß des <strong>Agenten</strong>.<br />
diskret/stetig: bezieht sich auf die Menge der<br />
Wahrnehmungen und Aktionen.<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.3 Schemata für <strong>Agenten</strong> S. 15/26
Beispiele von Umgebungen<br />
Environment Accessible Deterministic Episodic Static Discrete<br />
Chess with a clock Yes Yes No Semi Yes<br />
Chess without a clock Yes Yes No Yes Yes<br />
Poker No No No Yes Yes<br />
Backgammon Yes No No Yes Yes<br />
Taxi driving No No No No No<br />
Medical diagnosis system No No No No No<br />
Image-analysis system Yes Yes Yes Semi No<br />
Part-picking robot No No Yes No No<br />
Refinery controller No No No No No<br />
Interactive English tutor No No No No Yes<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.3 Schemata für <strong>Agenten</strong> S. 16/26
Intelligente <strong>Agenten</strong><br />
Ein intelligenter Agent ist ein Agent mit folgenden<br />
Eigenschaften:<br />
1. reaktiv: Reaktion auf Änderungen der Umgebung in<br />
gewissen Zeitabständen, um ihre Ziele zu erreichen.<br />
2. pro-aktiv: Initiative übernehmen, zielgerichtetes<br />
Verhalten<br />
3. sozial: Interaktion mit anderen, um ihre Ziele zu<br />
erreichen.<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.3 Schemata für <strong>Agenten</strong> S. 17/26
<strong>Agenten</strong> versus Objekte<br />
Objekte besitzen einen Zustand und können Nachrichten<br />
austauschen. Objekte (z.B. in Java) können andere nicht<br />
davon abhalten, ihre öffentlichen (public) Methoden<br />
anzuwenden.<br />
<strong>Agenten</strong> kommunizieren mit anderen <strong>Agenten</strong>.<br />
Objects do it for free, agents do it for money.<br />
Keine Analoga zu reaktiv, pro-aktiv, sozial.<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.3 Schemata für <strong>Agenten</strong> S. 18/26
Mathematische Beschreibung<br />
1. Aktionen:<br />
2. Zustände:<br />
3. Wahrnehmungen:<br />
¡<br />
Was nimmt ein Agent wahr, in einem Zustand<br />
¤ £<br />
¢<br />
¤<br />
¥<br />
Wie entwickelt sich die Umgebung bei Ausführung einer<br />
Aktion<br />
§ ?<br />
¤<br />
© ¨<br />
¥<br />
¡<br />
�<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.3 Schemata für <strong>Agenten</strong> S. 19/26<br />
¡<br />
¦<br />
¦<br />
¢<br />
�<br />
�<br />
£ ?
1.4 Typen von <strong>Agenten</strong><br />
Agent Type Percepts Actions Goals Environment<br />
Taxi driver Cameras,<br />
speedometer, GPS,<br />
sonar, microphone<br />
Steer, accelerate,<br />
brake, talk to<br />
passenger<br />
Safe, fast, legal,<br />
comfortable trip,<br />
maximize profits<br />
Wie können wir ein Programm entwerfen?<br />
<strong>Agenten</strong>, die auf einfache Reflexe reagieren<br />
Roads, other<br />
traffic, pedestrians,<br />
customers<br />
<strong>Agenten</strong>, die berücksichtigen wie sich die Welt durch<br />
ihre Aktionen ändert<br />
<strong>Agenten</strong>, die zielgerichtet agieren<br />
<strong>Agenten</strong>, die nützliche Zustände bevorzugen (bezüglich<br />
Performanz-Maß)<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.4 Typen von <strong>Agenten</strong> S. 20/26
Agent<br />
Reaktive <strong>Agenten</strong> I<br />
Condition−action rules<br />
Sensors<br />
What the world<br />
is like now<br />
What action I<br />
should do now<br />
Effectors<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.4 Typen von <strong>Agenten</strong> S. 21/26<br />
Environment
Reaktive <strong>Agenten</strong> II<br />
Produktions-Regel:<br />
Falls der Vorgänger bremst, dann bremse auch.<br />
function SIMPLE-REFLEX-AGENT( percept) returns action<br />
static: rules, a set of condition-action rules<br />
state<br />
rule RULE-MATCH(state, rules)<br />
action RULE-ACTION[rule]<br />
return action<br />
INTERPRET-INPUT( percept)<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.4 Typen von <strong>Agenten</strong> S. 22/26
<strong>Agenten</strong> mit internem Zustand I<br />
Agent<br />
State<br />
How the world evolves<br />
What my actions do<br />
Condition−action rules<br />
Sensors<br />
What the world<br />
is like now<br />
What action I<br />
should do now<br />
Effectors<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.4 Typen von <strong>Agenten</strong> S. 23/26<br />
Environment
<strong>Agenten</strong> mit internem Zustand II<br />
Interne Zustände können beliebig komplex sein.<br />
Was der Taxifahrer im Spiegel gesehen hat, sollte er sich<br />
merken.<br />
function REFLEX-AGENT-WITH-STATE( percept) returns action<br />
static: state, a description of the current world state<br />
rules, a set of condition-action rules<br />
state UPDATE-STATE(state, percept)<br />
rule RULE-MATCH(state, rules)<br />
action RULE-ACTION[rule]<br />
state UPDATE-STATE(state, action)<br />
return action<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.4 Typen von <strong>Agenten</strong> S. 24/26
Agent<br />
Zielorientierte <strong>Agenten</strong><br />
State<br />
How the world evolves<br />
What my actions do<br />
Goals<br />
Sensors<br />
What the world<br />
is like now<br />
What it will be like<br />
if I do action A<br />
What action I<br />
should do now<br />
Effectors<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.4 Typen von <strong>Agenten</strong> S. 25/26<br />
Environment
Nützlichkeit-orientierte <strong>Agenten</strong><br />
Agent<br />
State<br />
How the world evolves<br />
What my actions do<br />
Utility<br />
Sensors<br />
What the world<br />
is like now<br />
What it will be like<br />
if I do action A<br />
How happy I will be<br />
in such a state<br />
What action I<br />
should do now<br />
Effectors<br />
F. <strong>Stolzenburg</strong> <strong>Agenten</strong>-<strong>Systeme</strong> / 1.4 Typen von <strong>Agenten</strong> S. 26/26<br />
Environment