強化学習(Q学習)による最短ルート探索

迷路の設定 と 学習パラメータ

通常のマス 穴(落ちるとスタートに戻る) ゴール このエピソードで通ったマス 太い枠=現在地
マスをクリックして「穴」「ゴール」を配置してください(もう一度クリックすると通常マスに戻ります).ゴールは1か所だけ設定できます.スタート地点(上から1行目・左から2列目)は固定です.

学習の様子

迷路(現在地とエピソードの軌跡)

Q値(各マスの状態価値)

総ステップ数: 0 / ゴール・転落の合計回数: 0

使い方

  1. 上の迷路のマスをクリックして「穴」「ゴール」を配置する(もう一度クリックで通常マスに戻る).ゴールは1か所のみ.
  2. 報酬・学習率・割引率を設定し,「この設定で学習を開始」を押す.以降,迷路の形は固定され,Q値(状態価値)がすべて0から学習を始める.
  3. 「1ステップ実行」を押すと,現在地から最もQ値の高い方向(左・右・下のいずれか.同点なら左優先,次に右,最後に下)へ1マス進み,報酬を受け取ってそのマスのQ値が更新される.
  4. 穴に落ちる,またはゴールに着くとスタート地点に戻り,次のエピソードが始まる(Q値は消えずに残る).
  5. 「10ステップ実行」「100ステップ実行」でまとめて進めたり,「自動実行」で連続的に学習させ,Q値が収束していく様子(穴の周りが負に,ゴールへの経路が正になっていく)を観察できる.
  6. 学習率・割引率・報酬の値は学習の途中でも変更できる.迷路の形を変えたい場合は「リセットして迷路を編集し直す」を押す(Q値も0に戻る).
Q値は各マスに1つの「状態価値」として持ち,移動後の報酬 r と,移動先から到達できる隣接マスの最大Q値を使って Q(s) ← (1−α)Q(s) + α(r + γ・max Q(s')) の式で更新する.JSXGraph Copyright (C) see http://jsxgraph.org