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 probability distribution over the set of possible states, based on a set of observations and observation probabilities, and the underlying MDP.
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 framework originated in the operations research community, and was later taken over by the artificial intelligence and automated planning communities.
An exact solution to a POMDP yields the optimal action for each possible belief over the world states. The optimal action maximizes (or minimizes) the expected reward (or 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.
A discrete-time POMDP models the relationship between an agent and its environment. Formally, a POMDP is a tuple , where
- is a set of states,
- is a set of actions,
- is a set of observations,
- is a set of conditional transition probabilities,
- is a set of conditional observation probabilities,
- is the reward function.
At each time period, the environment is in some state . The agent takes an action , which causes the environment to transition to state with probability . Finally, the agent receives a reward with expected value, say , and the process repeats.
The difficulty is that the agent does not know the exact state it is in. Instead, it must maintain a probability distribution, known as the belief state, over the possible states .
It is instructive to compare the above definition with the definition of a Markov decision process. An MDP does not include the observation set, and its reward function is a function of two states.
An agent needs to update its belief upon taking the action and observing . Since the state is Markovian, 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 . Below we describe how this belief update is computed.
In , the agent observes with probability . Let be a probability distribution over the state space . denotes the probability that the environment is in state . Given , then after taking action and observing ,
where is a normalizing constant with .
The policy maps a belief state space into the action space. The optimal policy can be understood as the solution of a continuous space Markov decision process  (so-called belief MDP). It is defined as a tuple where
- is the set of belief states over the POMDP states,
- is the same finite set of action as for the original POMDP,
- is the belief state transition function,
- is the reward function on belief states. It writes :
Note that this MDP is defined over a continuous state space.
Policy and Value Function
The agent's policy specifies an action for any belief . Here it is assumed the objective is to maximize the expected total discounted reward over an infinite horizon. When defines a cost, the objective becomes the minimization of the expected cost.
The expected reward for policy starting from belief is defined as
where is the discount factor. The optimal policy is obtained by optimizing the long-term reward.
where is the initial belief.
The optimal policy, denoted by , yields the highest expected reward value for each belief state, compactly represented by the optimal value function . This value function is solution to the Bellman optimality equation:
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 arbitrarily closely, whose shape remains convex. Value iteration applies dynamic programming update to gradually improve on the value until convergence to an -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, so computer scientists have developed methods that approximate solutions for POMDPs.
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, 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.
POMDPs model many kinds of real-world problems. Notable works include the use of a POMDP in assistive technology for persons with dementia  and the conservation of the critically endangered and difficult to detect Sumatran tigers.
- Kaelbling, L.P., Littman, M.L., Cassandra, A.R. (1998). "Planning and acting in partially observable stochastic domains". Artificial Intelligence Journal 101: 99–134. doi:10.1016/S0004-3702(98)00023-X.
- Sondik, E.J. (1971). The optimal control of partially observable Markov processes (PhD thesis). Stanford University.
- Smallwood, R.D., Sondik, E.J. (1973). "The optimal control of partially observable Markov decision processes over a finite horizon". Operations Research 21 (5): 1071–88. doi:10.1287/opre.21.5.1071.
- Sondik, E.J. (1978). "The optimal control of partially observable Markov processes over the infinite horizon: discounted cost". Operations Research 26 (2): 282–304. doi:10.1287/opre.26.2.282.
- Hansen, E. (1998). "Solving POMDPs by searching in policy space". Proceedings of the Fourteenth International Conference on Uncertainty In Artificial Intelligence (UAI-98).
- Lovejoy, W. (1991). "Computationally feasible bounds for partially observed Markov decision processes". Operations Research 39: 162–175. doi:10.1287/opre.39.1.162.
- Jesse Hoey, Axel von Bertoldi, Pascal Poupart, Alex Mihailidis (2007). "Assisting Persons with Dementia during Handwashing Using a Partially Observable Markov Decision Process". Proc. International Conference on Computer Vision Systems (ICVS). doi:10.2390/biecoll-icvs2007-89.
- Jesse Hoey, Pascal Poupart, Axel von Bertoldi, Tammy Craig, Craig Boutilier, Alex Mihailidis. (2010). "Automated Handwashing Assistance For Persons With Dementia Using Video and a Partially Observable Markov Decision Process". Computer Vision and Image Understanding (CVIU) 114 (5). doi:10.1016/j.cviu.2009.06.008.
- Pineau, J., Gordon, G., Thrun, S. (August 2003). "Point-based value iteration: An anytime algorithm for POMDPs". International Joint Conference on Artificial Intelligence (IJCAI). Acapulco, Mexico. pp. 1025–32.
- Roy, Nicholas; Gordon, Geoffrey (2003). "Exponential Family PCA for Belief Compression in POMDPs". Advances in Neural Information Processing Systems.
- Chadès, I., McDonald-Madden, E., McCarthy, M.A., Wintle, B., Linkie, M., Possingham, H.P. (16 September 2008). "When to stop managing or surveying cryptic threatened species". Proc. Natl. Acad. Sci. U.S.A. 105 (37): 13936–40. Bibcode:2008PNAS..10513936C. doi:10.1073/pnas.0805265105. PMC 2544557. PMID 18779594.
- Tony Cassandra's POMDP pages with a tutorial, examples of problems modeled as POMDPs, and software for solving them.
- zmdp, a POMDP solver by Trey Smith
- APPL, a fast point-based POMDP solver
- SPUDD, a factored structured (PO)MDP solver that uses algebraic decision diagrams (ADDs).
- pyPOMDP, a (PO)MDP toolbox (simulator, solver, learner, file reader) for Python by Oliver Stollmann and Bastian Migge
- Finite-state Controllers using Branch-and-Bound An Exact POMDP Solver for Policies of a Bounded Size