Verteilte Künstliche Intelligenz - Uni Ulm WS95/96
3 Agents, Softbots, Knowbots and other animals
Was ist ein "Agent" die VKI zu fragen, ist das Gleiche wie die KI zu fragen, was nun Intelligenz sei.
C. Hewitt
* Agenten und Agentensystemen = Softbots?
* Typische Architekturen von reaktiv bis deliberativ
* Konstruktion eines Agenten
Literatur: Sundermeyer K., Modellierung von Agentensystemen. Müller J. (Hrsg.): Verteilte Künstliche Intelligenz. BI, Mannheim, 1993, 22-44. Russel S., Norvig P., Artificial Intelligence a Modern Approach, Prentice Hall, New Jersey, 1995, 31-50. Wooldrige M., Jennings N.R., Intelligent Agents: Theory and Practice. Submitted to Knowledge Engineering Review.
3.1 Definition von Agenten und Agentensystemen
Der Begriff des Agenten stammt von "agens" (lat.) handeln, dies führt jedoch nicht zu einer Klärung des Begriffes Agenten, da das Wesen von Handlungen durchaus nicht geklärt ist, z.B. sind Handlungen intendiert, sind Handlungen a priorie an einen Handelnden geknüpft. "Handeln" bildet jedoch auf jeden Fall eine der Aufgaben von Agenten neben Wahrnehmen, Kommunizieren, Planen und Entscheiden.
Der Begriff "Agenten" werden nicht nur im Kontext der KI genutzt, sondern auch in anderen Bereichen der Informatik, daher kann zwischen 2 Definitionen unterschieden werden, einer allgemeineren (und daher schwächeren) und einer "KI" spezifischen (und daher stärkeren) Definition.
Allgemeinere Definition von Agent bezeichnet ein Hardware oder Softwaresystem (i.A. Softwaresystem), welches über folgende Eigenschaften verfügt:
* Autonomie: Die Agenten operieren ohne die direkte Anleitung oder Intervention von Menschen oder anderen Systemen, sie verfügen über eine bestimmte Kontrolle ihrer Aktionen und ihres internen Zustandes.
* Soziale Fähigkeiten: Agenten interagieren mit anderen Agenten oder Menschen mittels einer bestimmten ausdrucksstarken Sprache
* Agenten nehmen ihre Umgebung wahr und reagieren auf Veränderungen in der Umwelt.
* Sie sind nicht nur reaktiv, sondern verfolgen bestimmte Ziele, d.h. sie übernehmen die Initiative.
+
diese Definition eines Agenten als eines sich selbst erhaltenden, parallel ausführbaren Softwareprozesses, mit eingekapseltem Zustand und der Fähigkeit der Kommunikation, trifft sich weitgehend mit dem "object-oriented concurrent programming paradigm"."A softbot is an agent that interacts with a software environment by issuing commands and interpreting the environment's feedback. A softbot's effectors are commands (...) meant to change the external environment's state. A softbot's sensors are commands meant to provide .. information. "
Etzioni et al. 1994
Die engere Auffassung von Agenten fordert zusätzlich, mentale Eigenschaften, wie :
* Wissen
* Glauben
* Intention
* Verpflichtung
Zudem legt man häufig den Agenten folgenden Charakter zugrunde:
* Mobilität
* Aufrichtigkeit
* Gutwilligkeit und Kooperationsbereitschaft
* Rationalität
3.2 Typisches Grobgerüst für Agenten
Agentenarchitekturen präsentieren, die Umsetzung von Agentenspezifikationen in Implementierungen. Wie können Softwaresysteme konstruiert werden, die die Eigenschaften von Agenten wiederspiegeln. Welche Softwarestrukturen sind angemessen?
Ein Agent:
* Nimmt seine Umgebung über Sensoren wahr.
* Überlegt und entscheidet sich für bestimmte Handlungen.
* Beeinflußt seine Umgebung durch seine Handlungen.

Agenten sind gekennzeichnet durch:
Rationalität:
* i.a. Optimierung seines eigenen Nutzens, erfolgreiches Handeln,
* d.h. Definition eines Maßes zur Bestimmung des zu erwartenden Erfolgs, Performanzmaß
Rationalität bedeutet nicht Allwissenheit, rationales Handeln orientiert sich an:
* dem Performanzmaß
* aktuelle und frühere Wahrnehmungen
* Wissen über die Umgebung
* generelle Handlungsmöglichkeiten
Neben Rationalität wird von Agenten Autonomie in ihren Handlungen gefordert:
* not relying on human interaction frequently ....
Shoham
* its behavior is determined by its own experience not only by its built-in behavior
Russell, Norvig
* necessitates the distinction between itself and its environment (also eng verbunden mit der Fähigkeit der Selbstreferenzierung und Umgebungsmodellierung)
Varela
3.3 Konstruktion eines Agenten
Ein Agent transformiert Wahrnehmungen in Aktionen. Er läßt sich somit durch eine Menge von Beobachtungs- Aktionspaaren charakterisieren (vgl. "Blackbox"),
Jedoch würde die Menge der Aktionspaare um Schach zu spielen etwa 35100 Einträge benötigen.
Je nach Komplexität des Agenten müssen andere Repräsentations- und Verarbeitungsmechanismen gefunden werden, um die Aktivität eines Agenten zu beschreiben.
Beobachtung: Unser Nachbar Agent001
|
Wahrnehmung x |
Aktion z |
|
Es regnet. |
Agent001 mit Schirm |
|
Die Sonne scheint. |
Agent001 ohne Schirm |
Im einfachsten Fall hängt die Aktion des Agenten nur von der aktuellen Beobachtung ab.

Dieser Art der Agenten wird als reaktiv, reflexiv oder auch situativ, in eine Situation geworfen, bezeichnet.
Beobachtung: Unser Nachbar Agent003
|
Wahrnehmung x |
Aktion z |
|
Es regnet. |
Agent003 mit Schirm |
|
Die Sonne scheint. |
Agent003 ohne Schirm und manchmal auch mit Schirm |
Das aktuelle Wetter alleine scheint das Verhalten des Agenten nicht zu erklären.

Wir erfahren, daß Agent003 ab und zu unter Erkältungen zu leiden hat.
Aktionen eines Agenten hängen von aktuellen Beobachtung, wie auch dem Zustand des Agenten ab, vgl. Konzepte der Systemtheorie. Auch dieser Agent ist immer noch als reaktiv oder situativ einzustufen, d.h. seine kognitiven Fähigkeiten sind stark eingeschränkt.
Der Zustand, wie auch die Funktionen, die die Beobachtung und den Zustand in einen neuen Zustand und eine Aktion überführen können sehr unterschiedlich komplex sein.
So kann je nach Ziel und Bedürfnissen, die bisherige Definition des Agenten entsprechend erweitert werden, um bestimmte Ziele und Wünsche.

3.4 Agenten, die "rational" wahrnehmen, denken und handeln?
Die Theorie von der Entscheidung
Wie ist es zu erklären, daß 005 auch bei schönem Wetter manchmal einen Schirm mitnimmt? Eine Erklärungsmöglichkeit diese Verhalten ist die Wahrscheinlichkeit, daß es später regnen wird, und die Präferenz des Agenten 005 näher zu betrachten.
Schließen unter Unsicherheit.
Präferenz: ohne Regenschirm
es regnet nicht ‡ mit Regenschirm es regnet ‡ mit Regenschirm es regnet nicht ‡ ohne Regenschirm es regnet.(vgl. Kap. 2 der Vorlesung)
Decision theory = probability theory + utility theoy.
Stuart Russel
Wie wahrscheinlich ist es, daß es heute regnen wird?
P(Es regnet heute in Tucson) = 0.05
0<= P(A) <= 1
p(True) = 1 und p(False) = 0
p(A oder B) = p(A) + p(B) - p(A und B)
Wahrscheinlichkeit eines Ereignisses ohne nähere Information. Falls bestimmte Evidenzen für das Auftreten eines Ereignisses existieren, können diese mitgenutzt werden:
p(Es regnet heute in Tucson|
August und Stark Bewölkter Himmel) = 0.9
oder ![]()
Bayesische Regel:
p(A|B) p(B)
p(B|A) = --------------
p(A)
Zurück zum Beispiel: Eine weitere Variante
Tante Erna ist zu Besuch und rät Dir auf jeden Fall einen Regenschirm mitzunehmen, da sie Gliederschmerzen hat und dies auf Regen hinweist.
p(Gliederschmerzen|Es regnet heute) = 0.5
p(Regnet) = 0.05
p(Gliederschmerzen) = 0.045
p(Es regnet heute | Gliederschmerzen) =
= 0.55
Theorie des Nutzen - Utility Theorie
Bedingungen an die Präferenzen eines rationalen Agenten:
Eine Lotterie:
![]()
Bedingungen an die Präferenzen oder die Axiome der Theorie des Nutzens:
* Ordnung: ![]()
* Transitivität: ![]()
* Kontinuität: ![]()
* Substitutivität: ![]()
* Monotonie: ![]()
* Dekomposition: ![]()
Eine Utitility Funktion ist eine Funktion die einem Zustand (einer Weltbeschreibung) einen metrischen Wert zuordnet - seine Nützlichkeit (vgl. Versuch der Monetarisierung von Umweltgütern)
Utility-Prinzip
Wenn die Präferenzen eines Agenten die Axiome der Theorie des Nutzens erfüllen, dann existiert eine reellwertige Funktion U, die auf den Zuständen der Welt folgenderweise definiert ist.
![]()
![]()
Maximal erwartete Utility-Prinzip
![]()
oder bezüglich unseres Agenten:
![]()
MEU Maximize Expected Utility. Ein Agent wählt die Aktion mit dem höchsten erwarteten Nutzen.
Auf unser Beispiel angewandt:
U( ohne Regenschirm
es regnet nicht ) = 1U(mit Regenschirm es regnet) = 0.75
U(mit Regenschirm es regnet nicht) = 0.5
U(ohne Regenschirm es regnet) = 0.01
= 0.55 * 0.75 = 0.41
= 0.55 * 0.01 = 0.0055
= 0.45 * 1 = 0.45
= 0.45 * 0.5 = 0.225
Ein Entscheidungstheoretisch Motivierter Agent:
function ET-Agent (Beobachtung) returns Aktion
lokal: eine Menge probabilistischer Annahmen über die Welt
* Berechne Wahrscheinlichkeit des aktuellen Zustandes anhand der aktuellen Wahrnehmung und früheren Aktion
* Berechne die Wahrscheinlichkeit für die Ergebnisse von geplanten AKtionen
* Wähle die Aktion aus, die gegeben die Wahrscheinlichkeit für das Eintreten bestimmter Ereignisse und der Nützlichkeit dieser Ereignisse den höchsten Nutzen erwarten lasse.
return Aktion.
Ein Entscheidungstheoretisch motivierter Agent in MICE:
(create-agent
:NAME "EXAMPLE"
...
:CHANNELS '(channel-1 channel-2)
:SENSORS (list (make-sensor-data :RANGE
(make-region :X-MIN -2 :Y-MIN -2
:X-MAX 2 :Y-MAX 2)))
:DOMAIN-VARIABLES (acons zustand wartend nil)
:INVOCATION-FUNCTION #'do-agent)
(defun do-agent (agent)
(let* ((scan-data (read-and-reset-scan-data))
(messages (read-and-reset-received-messages))
(history (agent$DOMAIN-VARIABLES agent))
(possible-states (compute-states scan-data
messages history))
(actions nil))
(dolist (possible-state possible-states)
(dolist (possible-action (compute-actions possible-state))
(let* ((expected-utility 0))
(dolist (possible-outcome (compute-outcomes
possible-action possible-state))
(incf expected-utility
(* (cdr possible-outcome)
(utility (car possible-outcome))))))
(setf actions (acons possible-action
expected-utility actions))))
(sort actions #'> :key #'(lambda (action)
(cdr action)))
;; (car actions) ist die zu bevorzugende Aktion
;; Entsprechend der gewählten Aktion wird nun eine Liste von
;; agent-Kommandos zurückgegeben
;;
;; Bsp:
(case (car (car actions)) ; Aktion ist immer ein ; (Cons-)Paar aus eigentlicher ; Aktion und erwarteter Utility
(flucht '((:move :forward))) ...)))
3.5 Agenten, die logisch wahrnehmen, denken, handeln?
Deliberative Agenten in VKI
Ein deliberativer Agent:
* beinhaltet eine explizit repräsentierte Datenbasis mit Formeln, die den Glauben eines Agenten resp. sein Wissen beinhalten
* Operiert in einem kontinuierlichen Zyklus von - beobachten, nachdenken/entscheiden und handeln
* Schlußfolgern und Entscheidung basieren auf einer Form logischer Inferenz.
(nach Wooldridge 1992)
"supporters of classical AI have in general accepted the physical symbol system hypothesis ... complacent acceptance of this hypothesis or some variant of it, led researchers to believe that the appropriate way to design an agent capable of finding its way around and acting in the physical world would be to equip it with some formal, logic-based representation of that world and get it to do a bit of theorem proving."
N. Shardlow
"Action and Agency in Cognitive Science"
Masterthesis University of Manchester
Zwei zentrale Probleme: Deliberativer Agenten
* Übersetzung der realen Welt in eine korrekte, adequate, symbolische Beschreibung in einer sinnvollen Zeit
* Konzeption des Agenten, d.h. bezgl. Wissensrepräsentation und -verarbeitung, die ihn in die Lage versetzt, in einer sinnvollen Zeit zu sinnvollen Entscheidungen zu gelangen.
Mehr dazu in Kapitel 4
