# Markow-Entscheidungsproblem

Bei dem Markow-Entscheidungsproblem (MEP, auch Markow-Entscheidungsprozess oder MDP für englisch Markov decision process) handelt es sich um ein Modell für Entscheidungsprobleme mit unsicheren Ergebnissen. Erstmalig beschrieben wurde das Modell 1957 von Richard Bellman. Seitdem findet es auf vielen Gebieten Beachtung, darunter Ökologie, Ökonomie, Gesundheitsversorgung, Telekommunikation und bestärkendes Lernen.
Der Name geht zurück auf die Markow-Kette, die der russische Mathematiker Andrei Andrejewitsch Markow im frühen 20. Jahrhundert untersucht hat. Eine Markow-Kette beschreibt einen stochastischen Prozess ohne Gedächtnis. Dieser Prozess hat eine vorgegebene Anzahl von Zuständen. Der Prozess wechselt zufällig von dem aktuellen Zustand in einen Folgezustand. Dabei gilt die Markow-Annahme: Die Wahrscheinlichkeit für einen Zustandsübergang hängt nur von dem aktuellen Zustand und dem Folgezustand ab und nicht von früheren Zustandsübergängen.
Der Markow-Entscheidungsprozess erweitert die Markow-Ketten um einen Agenten, der sich zwischen mehreren möglichen Aktionen entscheiden kann und positive oder negative Belohnungen als Rückmeldung erhält.

## Übersicht

Das Modell eines Markow-Entscheidungsprozesses hat mehrere Zustände und mehrere Aktionen. Der Prozess befindet sich zum Zeitpunkt $t$ in einem bestimmten Zustand $s=s_{t}$. Dann führt eine Aktion $a=a_{t}$ dazu, dass der Prozess mit der Wahrscheinlichkeit $p$ zum Zeitpunkt $t+1$ einen bestimmten Folgezustand $s'=s_{t+1}$ erreicht. Dabei gilt die Markow-Annahme: Die Zustände haben kein Gedächtnis, d. h., die Wahrscheinlichkeit $p$ ist nur von den Zuständen $s$ und $s'$ abhängig und nicht von Vorgängern von $s$. Der Zustandsübergang kann zu einer positiven oder negativen Belohnung $r(s,s')$ führen.
Wenn alle Zustände, alle Aktionen und alle Übergangswahrscheinlichkeiten bekannt sind, kann die optimale Strategie für den Agenten mit dem Optimalitätsprinzip von Bellman berechnet werden. Eine Methode dazu ist die dynamische Programmierung, die auf Rückwärtsinduktion beruht.
Auf diesen Grundlagen bauen Methoden auf, die beim bestärkenden Lernen verwendet werden, um eine Strategie zu erlernen, mit der ein Software-Agent seine Aktionen so wählt, dass er von seiner Umwelt möglichst viele Belohnungen erhält.$^{:743–747}$

## Formale Definition

Ein MEP ist ein Tupel $(S,A,T,r,p_{0})$, wobei
* $S$ eine Menge von Zuständen,
* $A$ eine Menge von Aktionen,
* $T$ das Aktionsmodell (auch Transitionswahrscheinlichkeit) $T\colon S\times A\times S\rightarrow [0,1]$ ist, so dass $T(s_{t},a_{t},s_{t+1})=p(s_{t+1}|s_{t},a_{t})$ die Wahrscheinlichkeit ist, von Zustand $s_{t}$ durch Ausführen von Aktion $a_{t}$ in den Zustand $s_{t+1}$ zu gelangen.
* $r\colon S\times A\times S\rightarrow \mathbb {R}$ die Belohnungsfunktion ist, die allen Zustandsübergängen eine Belohnung zuordnet und
* $p_{0}\colon S\rightarrow \mathbb {R}$ die Startverteilung ist, die zu jedem Zustand angibt, wie wahrscheinlich es ist, in diesem Zustand zu starten.
Ein Agent wählt seine Aktionen mit Hilfe einer Strategie $\pi$ aus. Die Strategie ordnet jedem Zustand genau eine Aktion zu.
* $\pi \colon S\rightarrow A;\pi (s_{t})=a_{t}$

### Optimale Strategie

Das Ziel ist, dass der Agent bei seinen Entscheidungen einer guten Strategie folgt: einer Funktion $\pi$, die für jeden Zustand $s$ bestimmt, welche Aktion $\pi (s)$ der Agent wählt. Wenn der Agent einer Strategie folgt, ist seine Aktion für jeden Zustand fest vorgegeben. Der Prozess verhält sich dann wie eine Markow-Kette.
Gesucht wird eine optimale Strategie $\pi ^{*}$, die den Gewinn maximiert, den der Agent durch seine Aktionen erreicht. Das Optimalitätsprinzip von Bellman besagt, dass eine optimale Strategie in jedem Zustand $s$ die Aktion $a$ wählt, bei der zukünftig der größte Gewinn zu erwarten ist.
Der zukünftig zu erwartende Gewinn wird auch kumulierter Reward genannt. Er wird in der Regel als Summe aller Belohnungen $r$ über unendlich viele Zustandsübergänge berechnet:
    $\mathbb {E} [G_{t}]=\mathbb {E} \left[\sum _{i=0}^{\infty }\gamma ^{i}\cdot r_{t+i}\right]$ mit $0\leq \gamma <1$
Dabei ist $r_{t+i}$ die Belohnung, die der Agent wahrscheinlich im Zeitschritt $t+1$ erhält. Der Diskontierungsfaktor $\gamma$ gewichtet Belohnungen, die kurzfristig erfolgen, höher als solche, die später erfolgen. Er sorgt auch dafür, dass die Summe für kontinuierliche Probleme (unendlich viele Zustandsübergänge) gegen einen Grenzwert konvergiert. Für $\gamma =0$ zählt nur die direkte Belohnung einer Aktion, alle zukünftigen Belohnungen werden ignoriert. Für $\gamma \rightarrow 1$ erhalten zukünftige Belohnungen immer mehr Gewicht.$^{:487–491}$ Typische Werte für $\gamma$ liegen zwischen 0,95 und 0,99.$^{:738}$

## Beispiel

Bei einem deterministischen Markow-Entscheidungsproblem führt jede Aktion zu genau einem Folgezustand. Ein solches Problem liegt vor, wenn ein Roboter durch ein Labyrinth zu einem Ziel navigieren soll. Dabei entspricht die Menge der Zustände der Menge der möglichen Positionen des Roboters und die Aktionen sind Schritte des Roboters in verschiedene Richtungen. Der Roboter erhält für den letzten Schritt, mit dem er das Ziel erreicht, eine positive Belohnung. Durch den Diskontierungsfaktor $\gamma$ erreicht der Roboter den maximalen kumulierten Reward, wenn er mit möglichst wenigen Schritten das Ziel erreicht.

## Algorithmen

Die folgenden Algorithmen sind Beispiele dafür, wie mit der dynamischen Programmierung ein komplexes Problem iterativ gelöst werden kann. Sie können auf MEPs angewendet werden, bei denen die Anzahl von Zuständen und Aktionen endlich ist und alle Transaktionswahrscheinlichkeiten und Belohnungen bekannt sind. Für solche MEPs können sie eine optimale Strategie finden oder überprüfen. Sie bilden deshalb die mathematische Grundlage für eine Reihe von Algorithmen, die beim bestärkenden Lernen zum Lösen von ähnlichen Problemen eingesetzt werden.

### Value-Iteration-Algorithmus

Das Optimalitätsprinzip von Bellman beschreibt den optimalen Wert des aktuellen Zustands als maximal zu erwartenden kumulierten Reward. Dieser Zustandswert entspricht der Summe aus der durchschnittlichen Belohnung, die im aktuellen Zustand mit der bestmöglichen Aktion erreicht wird und allen zukünftigen Belohnungen, die zu erwarten sind, wenn der Agent auch in allen Folgezuständen die jeweils bestmögliche Aktion ausführt.
Daraus hat Bellman eine rekursive Formel für den Value-Iteration-Algorithmus abgeleitet, mit dem man den optimalen Zustandswert für jeden möglichen Zustand abschätzen kann:
    $V_{i+1}(s):=\max _{a}\left\{\sum _{s'}P_{a}(s,s')\left(R_{a}(s,s')+\gamma V_{i}(s')\right)\right\}$ für alle $s$
Darin sind $i$ die Nummer des aktuellen Durchlaufs und $V_{i+1}(s)$ der geschätzte Zustandswert für $s$ im Durchlauf $i+1$. Der erste Durchlauf beginnt im Zustand $s$, mit $i=0$ und allen Schätzwerten auf $0$. In jedem Durchlauf werden die Schätzungen $V_{i+1}$ für alle Zustände $s$ basierend auf den Schätzungen des vorigen Durchlaufs neu berechnet. Mit genügend Wiederholungen konvergieren die Schätzungen zu den Zustandswerten, die mit einer optimalen Strategie erreicht werden können.$^{:745,746}$

### Q-Wert-Iterationsalgorithmus

Bellman fand auch eine Formel für einen ähnlichen Algorithmus, mit dem man die optimalen Zustands-Aktions-Werte, auch Q-Werte (Qualitätswerte) genannt, abschätzen kann:
    $Q_{i+1}(s,a):=\sum _{s'}P_{a}(s,s')\left\{R_{a}(s,s')+\gamma \max _{a}\left(Q_{i}(s',a')\right)\right\}$ für alle $(s,a)$
Das Vorgehen entspricht dem für den Value-Iteration-Algorithmus. Wenn der Q-Wert-Iterationsalgorithmus die optimalen Q.Werte gefunden hat, steht die optimale Strategie $\pi ^{*}(s)$ des Agenten fest. Dabei wählt er in jedem Zustand die Aktion, die für diesen Zustand den höchsten Q-Wert hat.$^{:746,747}$