状態価値関数のベルマン方程式の導出 - Shinichi0713/RL-study GitHub Wiki

概要

参考:https://www.anarchive-beta.com/entry/2022/05/21/180000
ベルマン方程式は、動的計画法の中心的な概念であり、強化学習において価値関数を定義するための基礎となる方程式です。
ベルマン方程式は、状態の価値をその状態で受け取る即時報酬と、次の状態で得られる価値の期待値を組み合わせて表現します。

ベルマン方程式は、状態価値関数 $V(s)$や行動価値関数 $Q(s,a)$ を定義するために使用されます。
これらの関数は、特定の状態や状態-行動ペアにおける期待される累積報酬を表します。

状態価値関数 $V(s)$
状態価値関数は、特定の状態 $s$ における期待される累積報酬を表します。
この方程式は、現在の状態で得られる報酬と、割引された将来の報酬の期待値の和として状態の価値を定義します。

\begin{align}
V(s) = \mathbb{E}[R(s) + \gamma V(s')] \\

- R(s): 状態 s における即時報酬 \\
- \gamma : 報酬の割引率 (0 \leq \gamma < 1) \\
- s'  : 次の状態 \\
\end{align}

行動価値関数 $Q(s,a)$
行動価値関数は、特定の状態 $s$ で行動 $a$ を選択したときの期待される累積報酬を表します。
この方程式は、特定の行動を選択した場合の報酬と、その後の状態に基づく価値の期待値の和として行動の価値を定義します。

\begin{align}
Q(s, a) = \mathbb{E}\left[R(s, a) + \gamma \sum_{s'} P(s' \mid s, a) V(s')\right] \\
- R(s, a) : 状態sで行動aを選択したときの即時報酬 \\
- P(s' \mid s, a) : 状態sで行動aを選択したときに次の状態s'になる確率 \\
\end{align}

ベルマン方程式の役割

ベルマン方程式は、価値反復法や方策反復法などの強化学習アルゴリズムの基礎を形成します。
これにより、エージェントは最適な方策を見つけるために価値関数を更新し、累積報酬を最大化するための戦略を学習します。
ベルマン方程式は、状態や行動の価値を評価し、将来の報酬を考慮した合理的な意思決定を促します。