Klassisches Konditionieren: Verhaltensmodellierung

Figure 4.1: Idealisierter Ablauf für Klassisches Konditionieren
\includegraphics[width=3.5in]{cc_verlaufsplan_e_a.eps}

In diesem Abschnitt geht es nun darum, das beobachtbare Verhalten eines Agenten zu modellieren, der sich entsprechend dem informellen Muster des klassischen Konditionierens verhält. Dieses soll mit Hilfe des Konzeptes eines Automaten bzw. -falls es sich um mehr als einen Agenten handelt- des Konzeptes eines Netzwerkes verknüpfter Automaten realisiert werden (Für die formalen Definitionen zu Automaten und zugehörigen Begriffen wie Abarbeitung eines automaten, Zustandsgraph bzw. Übergangsgraph eines Automaten, Ausführungsgraph usw. siehe die entsprechenden Abschnitte im Skript 'Formal Specification and Verification' (URL: http://www.uffmm.org/science-technology/single/
themes/computer-science/personal-sites/doeben-henisch/FM/SESSIONS/
THEORY/fsv/index.html ).

Ausgangspunkt ist das beobachtbare Verhalten, wie es im Bild 4.1 schematisch dargestellt wird. Angenommen wird ein Agent $A$. Der Agent $A$ kann durch ein biologisches oder ein technisches System realisiert sein. Hier wird zunächst ein biologisches System (Pawlows Hund) angenommen. Der Agent $A$ kommt nicht isoliert vor, sondern in einer Umgebung $E$ ('E' für environment). Von der Umgebung $E$ wissen wir, dass sie Reize (stimuli) {S1, S2} liefern und Reaktionen (responses) {R1} des Agenten empfangen kann. Eine Reihenfolge liegt nicht fest.

Betrachtet man den idealisierten Ablaufplan, so sieht man, dass der Reiz S2 alleine zunächst keine Reaktion hervorruft, wohl aber der Reiz S1 (unconditioned stimulus, CS), der fest mit der Reaktion R1 verknüpft ist (unconditioned Response, UR). Nachdem der Reiz S2 aber einmal zusammen mit Reiz S1 auftrat, bewirkt auch der Reiz S2 eine Rekation R1. Jetzt spricht man von S2 als konditioniertem Reiz (conditioned stimulus, CS) und von der Reaktion R1 als einer konditionierten Reaktion (conditioned response, CR).

Eine Modellierung der beiden Grössen Umgebung E sowie Agent A könnte wie folgt aussehen (vgl. Bild 4.2):

Figure 4.2: Übergangsgraphen als Modelle der Umgebung und des Agenten
\includegraphics[width=4.5in]{cc_agent_environment.eps}

Anmerkung: Sehr viele -eigentlich alle-, die zum ersten Mal Verhaltensdaten mittels Automaten (bzw. Zustandsgraphen) zu modellieren versuchen, haben Schwierigkeiten, zu entscheiden, wieviele verschiedene Zustände man annehmen muss. Viele meinen, dass praktische jede Aktion den Zustand ändert, weil ja 'etwas passiert'. Betrachtet man die Gesamtheit der Input- und Outputereignisse (Stimulus-Response, S-R) als eine Menge von S-R-Paaren, dann bildet diese Menge eine Funktion $f$. Am Beispiel des Agenten zu Beginn kann man schreiben: $f1 = \{(S1, R1), (S2, \epsilon) \}$ . Erst dann, wenn diese Funktion sich im Laufe der Zeit ändert, liegt eine neue Funktion vor. Wiederum am Beispiel des Agenten kann man schreiben: $f2 = \{(S1, R1), (S2, R1), \langle S1,S2\rangle, R1), ( \langle S2,S1\rangle, R1) \}$ . Der Übergang von der Funktion $f1$ zur Funktion $f2$ geschieht durch das identifizierbare Ereignis $S1$ kombiniert mit $S2$ bzw. $S2$ kombiniert mit $S1$. Dabei spielt die Anordnung in der Zeit eine wichtige Rolle. Man kann also anhand des beobachtbaren Verhaltens eine Veränderung des Verhaltens beobachten: $Verhaltensaenderung: Von f1 zu f2$. Korreliert man nun einen Zustand jeweils mit einer Funktion, dann benötigt man soviele verschiedene Zustände, wie man unterschiedliche Verhaltensfunktionen aufgrund von Input-Output-Daten unterscheiden kann.

Für eine formale Darstellung mittels der Schreibweise eines Automaten muss man eine Automatendarstellung wählen, die sowohl 'gelabelte Kanten' für Eingangsereignisse wie auch Ausgangsereignisse ermöglicht. Ferner können wir im Falle des Agenten noch Eigenschaften einsetzen. Der Einfachheit halber wählen wir für beide Systeme den gleichen Automatentyp. Sowohl für den Automaten zu E wie auch für den Automaten zu A wählen wir den sogenannten endlichen Übersetzer (Finite Transducer) erweitert um Eigenschaften:

\begin{displaymath}\langle Q, I, F, \Sigma, \Xi, \Delta, l,\Pi \rangle\end{displaymath}

Diese Struktur wird zunächst für beide Systeme getrennt mit konkreten Werten instantiiert.

Die allgemeine Erklärung zur Struktur des endlichen Übersetzers ist wie folgt:

  1. $Q$ := Endliche Menge von Zuständen
  2. $I \subseteq Q$ := Endliche Menge von Anfangszuständen
  3. $F \subseteq Q$ := Endliche Menge von Endzuständen
  4. $\Sigma$ := Endliche Menge von Zeichen eines Input Alphabetes
  5. $\Xi$ := Endliche Menge von Zeichen eines Output Alphabetes
  6. $\Delta \subseteq Q \times \Sigma^{*} \times Q \times \Xi^{*}$ := Relation, die aktuelle Zustände und Input mit Nachfolgezuständen und Output verknüpft.
  7. $\Pi$ := Endliche Menge von atomaren Eigenschaften
  8. $l: Q \longrightarrow 2^{\Pi}$ := Markierungsfunktion, die Zuständen Eigenschaften zuordnet

Die Werte für den Automaten $E$, der das System Umwelt $E$ repräsentieren soll (das Zeichen '$\epsilon$' repräsentiert eine leere Zeichenkette):

  1. Zustände Q = $\{E_{0} \}$
  2. Anfangszustände I = $\{E_{0} \}$
  3. Endzustände F = $\{ \}$
  4. Input Alphabet $\Sigma$ = $\{R,1\}$
  5. Output Alphabet $\Xi$ =$\{S,1,2\}$
  6. Übergangsrelation $\Delta$ = $\{\langle E_{0},\epsilon,E_{0},\epsilon \rangle,\langle E_{0},'R1',E_{0}, \epsi...
...epsilon, E_{0}, 'S1S2' \rangle, \langle E_{0},\epsilon, E_{0}, 'S2S1' \rangle\}$
  7. Atomaren Eigenschaften $\Pi$ = $\{ \}$
  8. Markierungsfunktion l = $\{ \}$

Die Werte für den Automaten $A$, der das System Agent $A$ repräsentieren soll:

  1. Zustände Q = $\{A_{0},A_{1} \}$
  2. Anfangszustände I = $\{A_{0} \}$
  3. Endzustände F = $\{ \}$
  4. Input Alphabet $\Sigma$ = $\{S,1,2\}$
  5. Output Alphabet $\Xi$ =$\{R,1\}$
  6. Übergangsrelation $\Delta$ = $\{\langle A_{0},\epsilon, A_{0},\epsilon, \rangle,\langle A_{0},'S1',A_{0}, 'R1...
...},'S2S1',A_{1}, 'R1' \rangle, \langle A_{1},\epsilon, A_{1},\epsilon, \rangle\}$
  7. Atomaren Eigenschaften $\Pi$ = $\{Unlearned, Learned \}$
  8. Markierungsfunktion l = $\{ (A_{0}, \{Unlearned \}), (A_{1}, \{Learned \}) \}$

Auf diese Weise hat man jetzt die einzelnen Systeme als Automaten modelliert. Hält man diese isolierte Betrachtungsweise noch für einen Moment bei, dann könnte das Verhalten eines einzelnen Automaten wie folgt dargestellt werden (Format: $\langle q,in, out\rangle$:

Beispiel Umwelt E:

  1. $\langle E_{0}, \epsilon, \epsilon\rangle$ /* Umwelt hat im Zustand $E_{0}$ keinen Input und erzeugt keinen Output
  2. $\langle E_{0}, 'R1', \epsilon\rangle$ /* Umwelt hat im Zustand $E_{0}$ den Input $R1$ und erzeugt keinen Output
  3. $\langle E_{0}, \epsilon, 'S1'\rangle $ /* Umwelt hat im Zustand $E_{0}$ keinen Input und erzeugt Output $S1$
  4. $\langle E_{0}, \epsilon, 'S1'\rangle $ /* Umwelt hat im Zustand $E_{0}$ keinen Input und erzeugt Output $S1$
  5. $\langle E_{0}, \epsilon, 'S2'\rangle $ /* Umwelt hat im Zustand $E_{0}$ keinen Input und erzeugt Output $S2$
  6. $\langle E_{0}, 'R1', \epsilon\rangle$ /* Umwelt hat im Zustand $E_{0}$ den Input $R1$ und erzeugt keinen Output
  7. usw.

Beispiel Lerner A:

  1. $\langle A_{0}, \epsilon, \epsilon\rangle$ /* Lerner hat im Zustand $A_{0}$ keinen Input und erzeugt keinen Output
  2. $\langle A_{0}, 'S1', 'R1'\rangle$ /* Lerner hat im Zustand $A_{0}$ den Input $S1$ und erzeugt den Output $R1$
  3. $\langle A_{0}, 'S2',\epsilon\rangle $ /* Lerner hat im Zustand $A_{0}$den Input $S2$ und erzeugt keinen Output
  4. $\langle A_{0}, \epsilon, \epsilon\rangle$ /* Lerner hat im Zustand $A_{0}$ keinen Input und erzeugt keinen Output
  5. $\langle A_{0}, 'S2',\epsilon\rangle $ /* Lerner hat im Zustand $A_{0}$den Input $S2$ und erzeugt keinen Output
  6. $\langle A_{0}, 'S1S2', 'R1'\rangle $ /* Lerner hat im Zustand $A_{0}$ den Input $S1S2$ und erzeugt Output $R1$
  7. $\langle A_{1}, \epsilon, \epsilon\rangle $ /* Lerner hat im Zustand $A_{1}$ keinen Input und erzeugt keinen Output
  8. usw.

Man weiss aber auch, dass diese Systeme sich untereinander beeinflussen. Im konkreten Beispiel sind es die Eignisse $S1S2$ oder $S2S1$ als Output des Systems Umwelt, die auf das System Lerner als Reize (Stimuli, S) einwirken. Die Wechselwirkung findet also über den jeweiligen Input bzw. Output statt. Der Output des einen Systems kann der Input des anderen Systems sein, und umgekehrt. Hält man an der Idee fest, dass das gesamte Verhaltenssystem ein einziger Automat sein soll, dann muss man einen technischen Weg finden, die beiden einzelnen Automaten so miteinander zu verknüpfen, dass alle wichtigen Infomationen erhalten bleiben. In der Literatur findet sich dazu z.B. der Vorschlag, individuelle Automaten von Systemen in Form eines synchronisierten Produktes (synchronized product) miteinander zu verbinden (vgl. Berard et al. 2001 [10], Pp.14ff). Diese Strategie besitzt allerdings sehr viele Nachteile. Hier soll eine alternative Strategie gewählt werden, nämlich die Strategie der Input-Output Verknüpfung. Dazu bildet man eine neue Superstruktur

\begin{displaymath}\langle E, A, {\cal C}, {\cal T} \rangle \end{displaymath}

bestehend aus dem System Umwelt $E$, dem System Lerner $A$, der Verknüpfungsrelation $\cal C$ sowie einer Menge von Zeitpunkten T. Die Verknüpfungsrelation $\cal C$ legt fest, welcher Output in welchen Input übernommen werden soll. Die allgemeine Form lautet:

\begin{displaymath}{\cal C} \subseteq OUT_{i \in N} \times 2^{IN} \end{displaymath}

(wobei $N$ die Anzahl aller beteiligten Systeme ist). M.a.W. es wird der Output $OUT_{i}$ eines jeden beteiligten Systems auf den Input einer Teilmenge der verfügbaren Systeme abgebildet. Im vorliegenden Beispiel heisst dies:

\begin{displaymath}(OUT_{E}, \{IN_{A} \}) \end{displaymath}


\begin{displaymath}(OUT_{A}, \{IN_{E} \}) \end{displaymath}

.

Eine Abarbeitung verläuft dann in zwei Phasen:

  1. Phase I - Kontrolle: Jedes beteiligte System bearbeitet den aktuellen Input $\in$ mit dem aktuellen Zustand $q$ und berechnet mittels $\Delta$ den Nachfolgezustand $q'$ sowie den neuen Output $out$. Es gilt die allgemeine Annahme, dass der Input $\in$ zum Zeitpunkt $t$ übernommen wird, und der Output $out$ zum Zeitpunkt $t+1$ vorliegt.
  2. Phase II - Verknüpfung: Mittels der Verknüpfungsrelation wird jeder Output $out_{i}$ bei jedem System $S_{j}$ als Input $in_{i}$ eingefügt, das in der Verknüpfungsrelation ausgezeichnet worden ist. Jedes System $S_{i}$ kann grundsätzlich auch seinen eigenen Output $out_{i}$ von $t+1$ zum Zeitpunkt $t+1$ als Input $in_{i}$ übernehmen.

Eine Abarbeitung der beiden verknüpften Systeme könnte dann wie folgt aussehen:

  1. KONTROLLE: $\langle \langle E_{0}, \epsilon, \epsilon \rangle, \langle A_{0}, \epsilon, \epsilon\rangle\rangle$
  2. VERKNÜPFUNG: ...
  3. KONTROLLE: $\langle \langle E_{0}, \epsilon, 'S1' \rangle, \langle A_{0}, \epsilon, \epsilon\rangle\rangle$
  4. VERKNÜPFUNG: ...
  5. KONTROLLE: $\langle \langle E_{0}, \epsilon, 'S2' \rangle, \langle A_{0}, 'S1' , 'R1' \rangle\rangle$
  6. VERKNÜPFUNG: ...
  7. KONTROLLE: $\langle \langle E_{0},'R1' , \epsilon \rangle, \langle A_{0}, 'S2' , \epsilon \rangle\rangle$
  8. VERKNÜPFUNG: ...
  9. KONTROLLE: $\langle \langle E_{0}, \epsilon , 'S2S1' \rangle, \langle A_{0}, \epsilon , \epsilon \rangle\rangle$
  10. VERKNÜPFUNG: ...
  11. KONTROLLE: $\langle \langle E_{0}, \epsilon , \epsilon \rangle, \langle A_{0}, 'S2S1' , 'R1' \rangle\rangle$
  12. VERKNÜPFUNG: ...
  13. usw.

Anhand der Markierungsfunktion $l$ kann man jedem Zustand auch noch eine Eigenschaft zuordnen. Wollte man automatische Testverfahren einsetzen, um das Verhalten verknüpfter Systeme zu untersuchen, dann könnte es sinnvoll sein, die jeweiligen Eigenschaften eines aktuellen Zustandes in der Ableitung mit zu notieren.

Ansonsten kann man sagen, dass mit dieser Modellierung jetzt das gesamte Verhalten aller beteiligter Systeme vollständig erfasst ist. Natüerlich liesse sich diese Modellierung weiter erweitern, z.B. um relle Zeitpunkte. Dies ist für die aktuelle Analyse allerdings nicht notwendig.

Gerd Doeben-Henisch 2010-12-16