Ein Unterprogramm sei eine Sequenz von Aktionen,
die von einem Startzustand
zu einem Zielzustand
führen. Sowohl
als auch
seien hier reelle Vektoren,
die einen möglichen Zustand der Umgebung repräsentieren.
Eines der drei an unserer Gesamtarchitektur beteiligten Module
ist der Programmausführer .
kann ein
neuronales Netzwerk sein, muß aber nicht.
(Tatsächlich stellt
im
Kontext der Subzielgenerierung die unbedeutendste Komponente dar.)
Zum Zeitpunkt
der Ausführung des
-ten Programms produziert
einen Ausgabevektor
und
nimmt einen Eingabevektor
aus der Umgebung wahr.
Es sei
kann als Aktivationsmuster angesehen werden, welches den
finalen gewünschten Zustand beschreibt.
läßt sich als `Programmname' betrachten.
Wir nehmen an, daß
bereits eine Anzahl von Programmen
korrekt ausführen kann.
Diese Programme mögen durch einen
konventionellen Lernalgorithmus oder durch eine rekursive
Anwendung des unten zu beschreibenden Verfahrens erworben worden sein.
Abbildung 4.2 zeigt ein zweites Modul, das Evaluatormodul ,
dessen Eingabe erneut
die Konkatenation
eines einen Startzustand
repräsentierenden Vektors
und
eines einen Zielzustand
repräsentierenden Vektors
ist.
's eindimensionale Ausgabe
wird als
Vorhersage der Kosten (
negatives
`Reinforcement')
interpretiert,
die mit dem entsprechenden von
nach
führenden Programm assoziiert sind.
Eine Evaluation von 0 bedeutet minimale zu erwartende Kosten.
![]() |
stellt ein Modell der gegewärtigen Fähigkeiten
des Programmausführers dar. Wir wollen auch
hier nicht detailliert
spezifizieren -
mag sowohl ein
neuronales Netzwerk mit bezüglich der Eingabe differenzierbaren
Ausgaben [106]
als auch irgendeine andere differenzierbare Abbildung
sein.
Das für uns interessanteste der drei Module ist der
adaptive Subzielgenerator .
soll lernen,
neue Start-Ziel Kombinationen durch eine Liste geeigneter
aufeinanderfolgender
Subziele zu beantworten.
Das -te vektorwertige
Subziel der Subzielliste (
)
heiße
, die
-te
Komponente des Vektors
sei wie stets mit
bezeichnet.
Alle
haben gleiche Dimension
Es sei
.
Im Idealfall sollte die Subzielliste
nach der Lernphase
folgende Bedingung erfüllen:
![]() |
(4.6) |