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 ) = 1

U(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

 


UP