Markov decision process

Markov decision processes (MDPs) provide a mathematical framework for modeling decision-making in situations where outcomes are partly random and partly under the control of the decision maker. MDPs are useful for studying a wide range of optimization problems solved via dynamic programming and reinforcement learning. MDPs were known at least as early as in the fifties (cf. Bellman 1957). Much research in the area was spawned due to the book by Ronald A. Howard in 1960. Today they are used in a variety of areas, including robotics, automated control, economics and in manufacturing.

More precisely a Markov Decision Process is a discrete time stochastic control process characterized by a set of states; in each state there are several actions from which the decision maker must choose. For a state s and an action a, a state transition function $$P_a(s)$$ determines the transition probabilities to the next state. The decision maker earns a reward for each state visited. The states of an MDP possess the Markov property. This means that if the current state of the MDP at time $$t$$ is known, transitions to a new state at time $$t+1$$ are independent of all previous states.

Definition
A Markov Decision Process is a tuple $$(S,A,P_\cdot(\cdot,\cdot),R(\cdot))$$, where


 * $$S$$ is the State space,
 * $$A$$ is the action space,
 * $$P_a(s,s') = \Pr(s_{t+1}=s' | s_t = s,\, a_t=a)$$ is the probability that action $$a$$ in state $$s$$ at time $$t$$ will lead to state $$s'$$ at time $$t+1$$,
 * $$R(s)$$ is the immediate reward received in state $$s$$.

The goal is to maximize some cumulative function of the rewards, typically the discounted sum under a discounting factor $$\gamma$$ (usually just under 1). This would look like:


 * $$\sum^{\infty}_{t=0}\gamma^t R(s_t)$$

where $$\gamma$$ is the discount rate and satisfies $$0 < \gamma \le 1$$. The sum is to be maximised.

Markov decision processes are an extension of Markov chains; the difference is the addition of actions (allowing choice) and rewards (giving motivation). If there were only one action, or if the action to take were somehow fixed for each state, a Markov decision process would reduce to a Markov chain.

Solution
The solution to a Markov Decision Process can be expressed as a policy $$\pi$$, which gives the action to take for a given state, regardless of prior history. Note that once a Markov decision process is combined with a policy in this way, this fixes the action for each state and the resulting combination behaves like a Markov chain.

The standard family of algorithms to calculate the policy requires storage for two arrays indexed by state: value $$V$$, which contains real values, and policy $$\pi$$ which contains actions. At the end of the algorithm, $$\pi$$ will contain the solution and $$V(s_0)$$ will contain the discounted sum of the rewards to be earned (on average) by following that solution.

The algorithm then has the following two kinds of steps, which are repeated in some order for all the states until no further changes take place.


 * $$\ \pi(s) := \arg \max_a \sum_{s'} P_a(s,s') V(s')\ $$


 * $$\ V(s) := R(s) + \gamma \sum_{s'} P_{\pi(s)}(s,s') V(s')\ $$

Their order depends on the variant of the algorithm; one can also do them for all states at once or state by state, and more often to some states than others. As long as no state is permanently excluded from either of the steps, the algorithm will eventually arrive at the correct solution.

Value iteration
In value iteration (Bellman 1957), the $$\pi$$ array is not used; instead, the value of $$\pi(s)$$ is calculated whenever it is needed.

Substituting the calculation of $$\pi(s)$$ into the calculation of $$V(s)$$ gives the combined step:
 * $$\ V(s) := R(s) + \gamma \max_a \sum_{s'} P_a(s,s') V(s')\ $$

Policy iteration
In policy iteration (Howard 1960), step one is performed once, and then step two is repeated until it converges. Then step one is again performed once and so on.

Instead of repeating step two to convergence, it may be formulated and solved as a set of linear equations.

This variant has the advantage that there is a definite stopping condition: when the array $$\pi$$ does not change in the course of applying step 1 to all states, the algorithm is completed.

Modified policy iteration
In modified policy iteration (Puterman and Shin 1978), step one is performed once, and then step two is repeated several times. Then step one is again performed once and so on.

Prioritized sweeping
In this variant, the steps are preferentially applied to states which are in some way important - whether based on the algorithm (there were large changes in $$V$$ or $$\pi$$ around those states recently) or based on use (those states are near the starting state, or otherwise of interest to the person or program using the algorithm).

Partial observability
The solution above assumes that the state $$s$$ is known when action is to be taken; otherwise $$\pi(s)$$ cannot be calculated. When this assumption is not true, the problem is called a partially observable Markov decision process or POMDP.

Learning
If the probabilities are unknown, the problem is one of reinforcement learning.

For this purpose it is useful to define a further function, which corresponds to taking the action $$a$$ and then continuing optimally (or according to whatever policy one currently has):
 * $$Q(s,a) = R(s) + \gamma \sum_{s'} P_a(s,s') V(s')$$

While this function is also unknown, experience during learning is based on $$(s, a)$$ pairs (together with the outcome $$s'$$); that is, "I was in state $$s$$ and I tried doing $$a$$ (and $$s'$$ happened)". Thus, one has an array $$Q$$ and uses experience to update it directly. This is known as Q-learning.

Minor extensions
These extensions are minor in that they complicate the notation, but make no real difference to the problem or its solution.


 * The reward may be a function of the action as well as the state, $$R(s,a)$$.
 * The reward may be a function of the resulting state as well as the action and state, $$R(s,a,s')$$.
 * The action space may be different at each state, so that it is $$A_s$$ rather than $$A$$

Alternative notations
The terminology and notation for MDPs are not entirely settled; there are two main streams — one using action, reward, value and $$\gamma$$, while the other uses control, cost, cost-to-go and $$\alpha$$. In addition, the notation for the transition probability varies.

In addition, transition probability is sometimes written $$Pr(s,a,s')$$, $$Pr(s'|s,a)$$ or, rarely, $$p_{s's}(a)$$