02.01.2013 Aufrufe

Agenten-Systeme - Frieder Stolzenburg - Hochschule Harz

Agenten-Systeme - Frieder Stolzenburg - Hochschule Harz

Agenten-Systeme - Frieder Stolzenburg - Hochschule Harz

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!