価値反復(Value Iteration)

強化学習における**動的計画法(Dynamic Programming, DP)の一手法である価値反復(Value Iteration)**は、最適な方策(policy)を見つけるために、状態価値関数(Value Function)を逐次的に更新していくアルゴリズムです。これは、**ベルマン最適方程式(Bellman Optimality Equation)**を用いて状態価値を反復的に改善することで、最適方策を導出するという方法です。


価値反復の概要

価値反復は以下のような手順で実行されます:

  1. 任意の状態価値関数 V(s) を初期化する(例えば、すべてゼロ)。

  2. 各状態 s に対して、次の更新を繰り返す:

    Vk+1(s)=maxasP(ss,a)[R(s,a,s)+γVk(s)]V_{k+1}(s) = \max_a \sum_{s’} P(s’|s,a) \left[ R(s,a,s’) + \gamma V_k(s’) \right]

    • P(s'|s,a):状態 s で行動 a をとったときに次状態 s' に遷移する確率

    • R(s,a,s'):その遷移で得られる報酬

    • γ:割引率(0 ≤ γ < 1)

    • V_k(s):k 回目の反復での状態価値

  3. 状態価値関数 V の変化量がしきい値(ε)未満になったら停止(収束)。

  4. 最終的な V(s) に基づいて、最適方策 π*(s) を以下で導出:

    π(s)=argmaxasP(ss,a)[R(s,a,s)+γV(s)]\pi^*(s) = \arg\max_a \sum_{s’} P(s’|s,a) \left[ R(s,a,s’) + \gamma V(s’) \right]


特徴と利点

  • ベルマン最適方程式を直接利用して、最適価値関数 V* を求める。

  • 方策を明示的に保持・改善する「方策反復」とは異なり、価値関数だけを更新する。

  • 計算が比較的シンプルで、収束が早い場合もある。


方策反復との違い

手法 主な処理 更新対象 特徴
方策反復 方策評価と方策改善を交互に実施 方策と価値関数 各ステップで方策を更新
価値反復 ベルマン最適方程式による更新 価値関数のみ 方策は最後に一度だけ導出

適用条件と前提

価値反復は以下のような前提のもとで適用されます:

  • 環境は**マルコフ決定過程(MDP)**である

  • 遷移確率 P(s'|s,a) および報酬関数 R(s,a,s') が**既知(モデルベース)**である

  • 状態空間および行動空間が有限かつ比較的小さい


まとめ

価値反復は、強化学習におけるモデルベースの動的計画法の代表的手法であり、最適価値関数を反復的に近似することで最適方策を得る方法です。計算効率と理論的保証のバランスがよく、方策反復と並んで、強化学習アルゴリズムの基盤をなす重要な概念です。

生成日:2025/06/01