部分観測マルコフ決定過程

**部分観測マルコフ決定過程**(ぶぶんかんそくマルコフけっていかてい、)はマルコフ決定過程 (MDP) の一般化であり、状態を直接観測できないような意思決定過程におけるモデル化の枠組みを与える。

POMDP は実世界におけるあらゆる逐次的な意思決定過程をモデル化するのに十分であり、ロボットのナビゲーションや機械整備 (machine maintenance)、および不確実な状況下でのプランニングなどに応用されている。
POMDP はオペレーションズリサーチを起源とし、のちに人工知能や自動計画のコミュニティに引き継がれた。

## 定義

POMDP は、マルコフ決定過程に観測を表現するための要素を追加することで定義される。
まず、マルコフ決定過程は次に挙げる 4 つの要素の組 (\mathcal{S}, \mathcal{A}, T, R) として定義される。
* \mathcal{S} は環境のもつ状態 (state) の有限集合であり、状態空間 (state space) とも呼ばれる。
* \mathcal{A} は意思決定者の取ることが出来る行動 (action) の有限集合である。
* T \colon \mathcal{S} \times \mathcal{A} \times \mathcal{S} \to [0,1] は状態遷移関数 (state transition function) と呼ばれ、ある行動のもとでの状態遷移確率 T(s_t, a_t, s_{t+1}) = \Pr(s_{t+1} \mid s_t, a_t) を定める。
* R \colon \mathcal{S} \times \mathcal{A} \to \mathbb{R} は報酬関数 (reward function) と呼ばれ、即時報酬の期待値 (expected immediate reward) R(s_t, a_t) = \mathbb{E}[ r_{t+1} \mid s_t, a_t ] を定める。

POMDP は、上に加えて次の 2 つを加えた 6 要素の組 (\mathcal{S}, \mathcal{A}, T, R, \Omega, O) によって定義される。
* \Omega は意思決定者が環境から受け取る可能性のある観測 (observation) の有限集合である。
* O \colon \mathcal{S} \times \mathcal{A} \times \Omega \to [0,1] は観測の条件付き確率分布 O(s_{t+1}, a_t, o_{t+1}) = \Pr(o_{t+1} \mid s_{t+1}, a_t) を定める。

形式的には、POMDP は隠れマルコフモデルに行動、および（行動を変更する動機を与える）報酬を付与したものと解釈することができる。

## Belief MDP
### 信念状態
MDP とは異なり、POMDP による問題設定では環境の状態を直接取得することが出来ない。
したがって、方策を定めるために意思決定者は自身が過去に取った行動および環境から受け取った観測の履歴をもとに状態を推定する必要がある。
この状態の推定値は一般に状態空間 \mathcal{S} 上の（主観）確率分布で記述され、**信念状態 (belief state)** と呼ばれる。
具体的には、ある時刻 t における信念状態 b_t は、初期時点における信念の値 b_0 と過去の行動と観測の履歴 \mathcal{H} が与えられたもとでの条件付き確率分布 b_t(s) = \Pr(S_t = s \mid b_0, \mathcal{H}) である。

### 信念の更新
モデルのマルコフ性により、信念状態は直前における値と、直近に取った行動と観測の値のみから修正することが出来る。
いま、ある時刻 t における信念状態 b_t に対し意思決定者が行動 a_t を選択し、その結果として観測値 o_{t+1} が得られたとする。
このとき、次ステップでの信念状態 b_{t+1}(s_{t+1}) の更新式は次のように記述される:
 T(s_t, a_t, s_{t+1}) b_t(s_t)
\end{align}
|}}
ここで \eta = 1 / \Pr(o_{t+1} \mid a_t, b_t) は正規化定数である。確率 \Pr(o_{t+1} \mid a_t, b_t) は次式で与えられる。

  \Pr(o_{t+1} \mid b_t a_t) = \sum_{s' \in \mathcal S} O(s_{t+1}, a_t, o_{t+1}) \sum_{s \in \mathcal S} T(s, a, s) b_t(s)


### Belief MDP の定式化
式 () は現在取る行動 a_t と得られる観測 o_{t+1} が既知の場合における信念状態 b_t から b_{t+1} への（決定論的な）遷移関係と解釈することが出来る。
すなわち、信念状態を介することで POMDP を（部分観測でない）マルコフ決定過程として扱うことが出来る。
このようにして構成される MDP のことを **belief MDP** と呼ぶ。
形式的には、belief MDP は次の要素からなる組 (\mathcal{B}, \mathcal{A}, \tau, r) として定義される:
* \mathcal{B} = \{ b \colon S \to [0,1] \mid \sum_{s \in \mathcal{S}} b(s) = 1 \} : 信念状態が取り得る値の集合
* \mathcal{A} : belief MDP における行動集合（元々の POMDP と共通）
* \tau \colon \mathcal{B} \times \mathcal{A} \times \mathcal{B} \to [0,1] : 信念状態空間における状態遷移確率
* r \colon \mathcal{B} \times \mathcal{A} \to \mathbb{R} : 信念状態空間における報酬関数
ここで \tau および r はそれぞれ次のように求められる。

\begin{align}
  \tau(b_t, a_t, b_{t+1})
    &= \sum_{o_{t+1} \in \Omega} \Pr(b_{t+1} \mid b_t, a_t, o_{t+1}) \Pr(o_{t+1} \mid b_t, a_t) \\
  r(b_t, a_t)
    &= \sum_{s_t \in \mathcal{S}} b_t(s_t) R(s_t, a_t) \\
\end{align}

ただし、\Pr(b_{t+1} \mid b_t, a_t, o_{t+1}) は b_{t+1} が b_t,a_t,o_{t+1} をもとに式 () によって得られる値の場合 1 を、それ以外のとき 0 を取るように定められる。

### 方策関数・価値関数
任意の信念 b に対する特定の行動 a = \pi(b) を\pi と表す。
ここで目的関数は無限ホライズンの期待割引報酬和 (expected total discounted reward) と仮定する。R がコストとして定義される場合、目的関数は期待コストの最小化となる。

信念の初期値を b_0 としたときの方策 \pi に対する期待報酬 (expected reward) は次のように定義される:

  V^\pi(b_0) = \sum_{t=0}^\infty  \gamma^t r(b_t, a_t) = \sum_{t=0}^\infty \gamma^t E\Bigl[ R(s_t,a_t) \mid b_0, \pi \Bigr]

ここで \gamma は割引因子である。
最適な方策 \pi^*は長期的な報酬の最適化により次のように得られる:


  \pi^* = \underset{\pi}{\mbox{argmax}}\ V^\pi(b_0)


ここで b_0 は初期信念である。

最適方策 (optimal policy) は \pi^* で表され、任意の信念状態において期待報酬の最大値（最適価値関数 (optimal value function) V^* で表す）を与える。
価値関数はベルマンの最適性方程式の解である:


  V^*(b) = \max_{a\in A}\Bigl[ r(b,a) + \gamma\sum_{o\in \Omega} O(o\mid b,a) V^*(\tau(b,a,o)) \Bigr]


有限ホライズンの POMDP では、最適な価値関数は凸な区分線形関数となる 。
これは有限個のベクトルの集合で表現することが出来る。
無限ホライズンでは、有限次元ベクトルを用いることで凸性を維持するよう任意に綿密に V^* を近似することができる。

価値反復法は動的計画法を用いて、区分線形性と収束性は区分線形性と凸性を維持しながら、収束するまで価値関数の値を更新する。
価値関数の値を更新することで、方策は改善される。
もう一つの動的計画法に基づくテクニックは方策反復法と呼ばれ、これは方策を明示的に更新する。

## POMDP の近似解法
組み合わせ爆発の問題をはらむため、POMDP の厳密解を求めることは実用上困難であることが多い。
そのため、POMDP の解を近似する手法が複数提案されている。
グリッドベースのアルゴリズムでは価値関数を信念空間内の点集合として計算し、最適行動を決定するための計算など、グリッドの点集合に含まれない信念状態の値が必要な場合は補完する。
より最近の研究では、サンプリングや一般化 (genelization technique)、および問題の構造を利用する手法などが用いられ、膨大な状態を伴うより大きい領域を扱うよう POMDP を拡張する。
例えば、点ベースの手法では、信念空間において関連する領域への計画を拘束するため、到達可能な信念をランダムにサンプルする。
主成分分析を用いた次元削減も調べられている。

## POMDP の応用
POMDP は実世界の多くの種類の問題に用いることが出来る。
注目すべき応用には、虚血性心疾患の患者の特別療法に対する POMDP の活用、痴呆患者の支援技術、
絶滅の危機に瀕し発見の難しいスマトラトラの保護、および航空機の衝突回避が含まれる。

## 参考文献

* 

* 

* 

* 

* 

* 

* 

* 

* 

* 

* 

* 

* 

* 

## 外部リンク
* 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