Ein `diskreter deterministischer mehrstufiger
Entscheidungsprozeß' (wir werden uns hier
auf diese Sorte beschränken, obwohl die Verallgemeinerung keine
Schwierigkeiten bereitet) ist ein Prozeß, bei
dem endlich oder höchstens abzählbar viele Transformationen
(auch Entscheidungen genannt) den Prozeßverlauf
bestimmen. Der Prozeß startet
im Zustand , für
wird
der Zustand
durch eine deterministische Entscheidung
(aus einer gegebenen Menge möglicher Entscheidungen) und
bestimmt:
Zu maximieren sei für einen -stufigen Prozeß eine Kostenfunktion
.
Unter der Voraussetzung, daß der Prozeß die Markov-Eigenschaft besitzt (letztere wird unten nochmals in Erinnerung gerufen), braucht man nicht alle möglichen Kombinationen von Aktionen durchzuprobieren, sondern man kann sich auf relativ wenige Kombinationen beschränken.
Ein -stufiger
Prozeß hat die Markov-Eigenschaft, wenn nach
Entscheidungen der
Effekt der ausstehenden
Entscheidungen auf die Kostenfunktion
nur noch von dem Zustand des Systems nach der
-ten Entscheidung und
den folgenden Entscheidungen abhängt.
Hat z.B. die Form
Viele deterministische Prozesse sind Markov-Prozesse. Ein Beispiel sind nahezu alle Brettspiele: Es kommt nicht darauf an, wie man zu einem Spielzustand gekommen ist. Alle Information, die man zum Weiterspielen braucht, ist in dem gegenwärtigen Zustand enthalten.
Viele Prozesse sind jedoch keine Markov-Prozesse. Insbesondere für biologische Systeme typische Handlungsweisen hängen oft nicht nur vom gegenwärtig wahrnehmbaren Zustand der Umgebung ab, sondern auch von vergangenen Perzeptionen.
Für Markov-Prozesse spielt nun Bellmans Optimalitätsprinzip eine entscheidende Rolle:
Eine optimale Folge von sukzessiven Entscheidungen (eine optimale Strategie) hat die Eigenschaft, daß unabhängig vom Initialzustand des Prozesses und der ersten Entscheidung die noch ausstehenden Entscheidungen eine optimale Strategie bezüglich des Zustands darstellen, der aus der ersten Entscheidung resultiert.
Das Optimalitätsprinzip führt für Markov-Prozesse zum Ansatz der dynamischen Programmierung [6]. Rekursiv definiert man sich eine Menge von Funktionen wie folgt:
Durch das Optimalitätsprinzip ist der Beitrag der letzten
Schritte gleich
.
Die wesentliche Auswirkung
der dynamischen Programmierung ist: Die Auswahloperation eines Punktes im
-dimensionalen Raum wird reduziert auf
Auswahloperationen
im
-dimensionalen Raum (hierbei ist
die Zahl der Dimensionen,
die zur Beschreibung der Prozeßzustände notwendig sind,
im allgemeinen kann man sich
also, wenn auch nicht notwendigerweise auf einen
-dimensionalen, so doch
zumindest auf einen niederdimensionalen Raum beschränken). Damit
erspart man sich bei der Suche
oft sehr viele von vornherein auszuschließende
Sackgassen.
In nichtstationären Umgebungen
kann die Kunst bei der dynamischen Programmierung
darin
gesehen werden,
eine Funktion anzugeben, deren Minimierung zum
Zeitpunkt
schon bedeutet, diejenige Aktion für die Transformation
von
nach
zu wählen, die auch für die Minimierung von
notwendig ist.
Ein Problem bei der dynamischen Programmierung ist, daß trotz der gewaltigen Einsparungen im Vergleich zur erschöpfenden Suche die Anzahl der Berechnungen immer noch exponentiell mit der Anzahl der Komponenten der Prozeßzustandsbeschreibungen steigt.