# Partially observable Markov decision process

A partially observable Markov decision process (POMDP) is a generalization of a Markov decision process (MDP). A POMDP models an agent decision process in which it is assumed that the system dynamics are determined by an MDP, but the agent cannot directly observe the underlying state. Instead, it must maintain a sensor model (the probability distribution of different observations given the underlying state) and the underlying MDP. Unlike the policy function in MDP which maps the underlying states to the actions, POMDP's policy is a mapping from the history of observations (or belief states) to the actions.
The POMDP framework is general enough to model a variety of real-world sequential decision processes. Applications include robot navigation problems, machine maintenance, and planning under uncertainty in general. The general framework of Markov decision processes with imperfect information was described by Karl Johan Åström in 1965 in the case of a discrete state space, and it was further studied in the operations research community where the acronym POMDP was coined. It was later adapted for problems in artificial intelligence and automated planning by Leslie P. Kaelbling and Michael L. Littman.
An exact solution to a POMDP yields the optimal action for each possible belief over the world states. The optimal action maximizes the expected reward (or minimizes the cost) of the agent over a possibly infinite horizon. The sequence of optimal actions is known as the optimal policy of the agent for interacting with its environment.

## Definition
### Formal definition

A discrete-time POMDP models the relationship between an agent and its environment. Formally, a POMDP is a 7-tuple $(S,A,T,R,\Omega ,O,\gamma )$, where
* $S$ is a set of states,
* $A$ is a set of actions,
* $T$ is a set of conditional transition probabilities between states,
* $R:S\times A\to \mathbb {R}$ is the reward function.
* $\Omega$ is a set of observations,
* $O$ is a set of conditional observation probabilities, and
* $\gamma \in [0,1)$ is the discount factor.
At each time period, the environment is in some state $s\in S$. The agent takes an action $a\in A$, which causes the environment to transition to state $s'$ with probability $T(s'\mid s,a)$. At the same time, the agent receives an observation $o\in \Omega$ which depends on the new state of the environment, $s'$, and on the just taken action, $a$, with probability $O(o\mid s',a)$ (or sometimes $O(o\mid s')$ depending on the sensor model). Finally, the agent receives a reward $r$ equal to $R(s,a)$. Then the process repeats. The goal is for the agent to choose actions at each time step that maximize its expected future discounted reward: $E\left[\sum _{t=0}^{\infty }\gamma ^{t}r_{t}\right]$, where $r_{t}$ is the reward earned at time $t$. The discount factor $\gamma$ determines how much immediate rewards are favored over more distant rewards. When $\gamma =0$ the agent only cares about which action will yield the largest expected immediate reward; when $\gamma \rightarrow 1$ the agent cares about maximizing the expected sum of future rewards.

### Discussion

Because the agent does not directly observe the environment's state, the agent must make decisions under uncertainty of the true environment state. However, by interacting with the environment and receiving observations, the agent may update its belief in the true state by updating the probability distribution of the current state. A consequence of this property is that the optimal behavior may often include (information gathering) actions that are taken purely because they improve the agent's estimate of the current state, thereby allowing it to make better decisions in the future.
It is instructive to compare the above definition with the definition of a Markov decision process. An MDP does not include the observation set, because the agent always knows with certainty the environment's current state. Alternatively, an MDP can be reformulated as a POMDP by setting the observation set to be equal to the set of states and defining the observation conditional probabilities to deterministically select the observation that corresponds to the true state.

## Belief update

After having taken the action $a$ and observing $o$, an agent needs to update its belief in the state the environment may (or not) be in. Since the state is Markovian (by assumption), maintaining a belief over the states solely requires knowledge of the previous belief state, the action taken, and the current observation. The operation is denoted $b'=\tau (b,a,o)$. Below we describe how this belief update is computed.
After reaching $s'$, the agent observes $o\in \Omega$ with probability $O(o\mid s',a)$. Let $b$ be a probability distribution over the state space $S$. $b(s)$ denotes the probability that the environment is in state $s$. Given $b(s)$, then after taking action $a$ and observing $o$,
    $b'(s')=\eta O(o\mid s',a)\sum _{s\in S}T(s'\mid s,a)b(s)$
where $\eta =1/\Pr(o\mid b,a)$ is a normalizing constant with $\Pr(o\mid b,a)=\sum _{s'\in S}O(o\mid s',a)\sum _{s\in S}T(s'\mid s,a)b(s)$.

## Belief MDP

A Markovian belief state allows a POMDP to be formulated as a Markov decision process where every belief is a state. The resulting belief MDP will thus be defined on a continuous state space (even if the "originating" POMDP has a finite number of states: there are infinite belief states (in $B$) because there are an infinite number of probability distributions over the states (of $S$)).
Formally, the belief MDP is defined as a tuple $(B,A,\tau ,r,\gamma )$ where
* $B$ is the set of belief states over the POMDP states,
* $A$ is the same finite set of action as for the original POMDP,
* $\tau$ is the belief state transition function,
* $r:B\times A\to \mathbb {R}$ is the reward function on belief states,
* $\gamma$ is the discount factor equal to the $\gamma$ in the original POMDP.
Of these, $\tau$ and $r$ need to be derived from the original POMDP. $\tau$ is
$\tau (b,a,b')=\sum _{o\in \Omega }\Pr(b'|b,a,o)\Pr(o|a,b),$
where $\Pr(o|a,b)$ is the value derived in the previous section and
$Pr(b'|b,a,o)={\begin{cases}1&{\text{if the belief update with arguments }}b,a,o{\text{ returns }}b'\\0&{\text{otherwise }}\end{cases}}.$
The belief MDP reward function ($r$) is the expected reward from the POMDP reward function over the belief state distribution:
$r(b,a)=\sum _{s\in S}b(s)R(s,a)$.
The belief MDP is not partially observable anymore, since at any given time the agent knows its belief, and by extension the state of the belief MDP.

### Policy and value function

Unlike the "originating" POMDP (where each action is available from only one state), in the corresponding Belief MDP all belief states allow all actions, since you (almost) always have some probability of believing you are in any (originating) state. As such, $\pi$ specifies an action $a=\pi (b)$ for any belief $b$.
Here it is assumed the objective is to maximize the expected total discounted reward over an infinite horizon. When $R$ defines a cost, the objective becomes the minimization of the expected cost.
The expected reward for policy $\pi$ starting from belief $b_{0}$ is defined as
    $V^{\pi }(b_{0})=\sum _{t=0}^{\infty }\gamma ^{t}r(b_{t},a_{t})=\sum _{t=0}^{\infty }\gamma ^{t}E{\BiglR(s_{t},a_{t})\mid b_{0},\pi {\Bigr ]}$
where $\gamma <1$ is the discount factor. The optimal policy $\pi ^{*}$ is obtained by optimizing the long-term reward.
    $\pi ^{*}={\underset {\pi }{\mbox{argmax}}}\ V^{\pi }(b_{0})$
where $b_{0}$ is the initial belief.
The optimal policy, denoted by $\pi ^{*}$, yields the highest expected reward value for each belief state, compactly represented by the optimal value function $V^{*}$. This value function is solution to the Bellman optimality equation:
    $V^{*}(b)=\max _{a\in A}{\Biglr(b,a)+\gamma \sum _{o\in \Omega }\Pr(o\mid b,a)V^{*}(\tau (b,a,o)){\Bigr ]}$
For finite-horizon POMDPs, the optimal value function is piecewise-linear and convex. It can be represented as a finite set of vectors. In the infinite-horizon formulation, a finite vector set can approximate $V^{*}$ arbitrarily closely, whose shape remains convex. Value iteration applies dynamic programming update to gradually improve on the value until convergence to an $\epsilon$-optimal value function, and preserves its piecewise linearity and convexity. By improving the value, the policy is implicitly improved. Another dynamic programming technique called policy iteration explicitly represents and improves the policy instead.

## Approximate POMDP solutions

In practice, POMDPs are often computationally intractable to solve exactly. This intractability is often due to the curse of dimensionality or the curse of history (the fact that optimal policies may depend on the entire history of actions and observations). To address these issues, computer scientists have developed various approximate POMDP solutions. These solutions typically attempt to approximate the problem or solution with a limited number of parameters, plan only over a small part of the belief space online, or summarize the action-observation history compactly.
Grid-based algorithms comprise one approximate solution technique. In this approach, the value function is computed for a set of points in the belief space, and interpolation is used to determine the optimal action to take for other belief states that are encountered which are not in the set of grid points. More recent work makes use of sampling techniques, generalization techniques and exploitation of problem structure, and has extended POMDP solving into large domains with millions of states. For example, adaptive grids and point-based methods sample random reachable belief points to constrain the planning to relevant areas in the belief space. Dimensionality reduction using PCA has also been explored.
Online planning algorithms approach large POMDPs by constructing a new policy for the current belief each time a new observation is received. Such a policy only needs to consider future beliefs reachable from the current belief, which is often only a very small part of the full belief space. This family includes variants of Monte Carlo tree search and heuristic search. Similar to MDPs, it is possible to construct online algorithms that find arbitrarily near-optimal policies and have no direct computational complexity dependence on the size of the state and observation spaces.
Another line of approximate solution techniques for solving POMDPs relies on using (a subset of) the history of previous observations, actions and rewards up to the current time step as a pseudo-state. Usual techniques for solving MDPs based on these pseudo-states can then be used (e.g. Q-learning). Ideally the pseudo-states should contain the most important information from the whole history (to reduce bias) while being as compressed as possible (to reduce overfitting).

## POMDP theory

Planning in POMDP is undecidable in general. However, some settings have been identified to be decidable (see Table 2 in, reproduced below). Different objectives have been considered. Büchi objectives are defined by Büchi automata. Reachability is an example of a Büchi condition (for instance, reaching a good state in which all robots are home). coBüchi objectives correspond to traces that do not satisfy a given Büchi condition (for instance, not reaching a bad state in which some robot died). Parity objectives are defined via parity games; they enable to define complex objectives such that reaching a good state every 10 timesteps. The objective can be satisfied:
* almost-surely, that is the probability to satisfy the objective is 1;
* positive, that is the probability to satisfy the objective is strictly greater than 0;
* quantitative, that is the probability to satisfy the objective is greater than a given threshold.
We also consider the finite memory case in which the agent is a finite-state machine, and the general case in which the agent has an infinite memory.
| Objectives | Almost-sure (infinite memory) | Almost-sure (finite memory) | Positive (inf. mem.) | Positive (finite mem.) | Quantitative (inf. mem) | Quantitative (finite mem.) |
| Büchi | EXPTIME-complete | EXPTIME-complete | undecidable | EXPTIME-complete | undecidable | undecidable |
| coBüchi | undecidable | EXPTIME-complete | EXPTIME-complete | EXPTIME-complete | undecidable | undecidable |
| parity | undecidable | EXPTIME-complete | undecidable | EXPTIME-complete | undecidable | undecidable |

## Applications

POMDPs can be used to model many kinds of real-world problems. Notable applications include the use of a POMDP in management of patients with ischemic heart disease, assistive technology for persons with dementia, the conservation of the critically endangered and difficult to detect Sumatran tigers and aircraft collision avoidance.
One application is a teaching case, a crying baby problem, where a parent needs to sequentially decide whether to feed the baby based on the observation of whether the baby is crying or not, which is an imperfect representation of the actual baby's state of hunger.