More Related Content
Similar to 確率ロボティクス第六回 (7)
More from Ryuichi Ueda (20)
確率ロボティクス第六回
- 5. 有限マルコフ決定過程
(finite Markov decision process, finite MDP)
• 何度も選択と実行を繰り返してゴールに
到達する過程をモデル化したもの
• モデル
– 離散時間
– 有限個の状態: 途中の状況を有限個で識別したもの
• 状態は「マルコフ性」を満たす必要
– 行動: 状態遷移を起こす
– 報酬: 状態遷移をスカラで評価(負の報酬 = 罰・コスト)
– ゴールの状態(終端状態)に点数が付いている
– 報酬と点数の合計で行動決定の点数とする
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 5
- 8. グラフでの表現
• ノード: 状態
• アーク: 行動(状態遷移)
• 問題: 下のグラフの各ノードの価値は?
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 8
-4
-2
ゴール1(価値-2)
ゴール2(価値0)
-1
-2-3
-6
-3
-4
-1
-2
- 11. 計算機での価値の計算
• どこが終端状態に近いのかは
データからはすぐにわからない
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 11
A
E
B
-4
-2
G1(価値-2)
G2(価値0)
-1
-2
D
-3
-6
-3C
-4
-1
-2
状態遷移の表
A-B: -2
A-C: -2
B-A: -2
B-C: -1
B-E: -4
C-A: --2
C-B: -1
C-D: -4
D-C: -4
D-E: -3
D-G1: -3
D-G2: -6
E-B: -4
E-D: -3
E-G1: -1
E-G2: -2
価値の表
G1: -2
G2: 0
A: ?
B: ?
C: ?
D: ?
E: ?
- 12. 価値反復
1. 最初に仮の値を入れておく
2. 各状態の各状態遷移について
A. 遷移後の状態の価値に状態遷移の報酬を足したものを計算
B. Aで計算した値で最良の値をその状態の価値として採用
3. 2を繰り返す
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 12
価値
(初期値)
G1: -2
G2: 0
A: -100
B: -100
C: -100
D: -100
E: -100
価値
(1回目)
G1: -2
G2: 0
A: -102
B: -101
C: -102
D: -5
E: -2
状態遷移と報酬
A-B: -2 A-C: -2
B-A: -2 B-C: -1 B-E: -4
C-A: -2 C-B: -1 C-D: -4
D-C: -4 D-E: -3
D-G1: -3 D-G2: -6
E-B: -4 E-D: -3
E-G1: -1 E-G2: -2
価値
(2回目)
G1: -2
G2: 0
A: -103
B: -6
C: -7
D: -5
E: -2
価値
(3回目)
G1: -2
G2: 0
A: -8
B: -6
C: -7
D: -5
E: -2
(注意: A-Eの順番を変えると1回で終わる)
- 13. 最適方策
• 各状態の最大な価値を実現する行動決定
• 状態に対して決まる
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 13
状態遷移と報酬
A-B: -2 A-C: -2
B-A: -2 B-C: -1 B-E: -4
C-A: -2 C-B: -1 C-D: -4
D-C: -4 D-E: -3
D-G1: -3 D-G2: -6
E-B: -4 E-D: -3
E-G1: -1 E-G2: -2
価値
(収束)
G1: -2
G2: 0
A: -8
B: -6
C: -7
D: -5
E: -2
方策
(最適方策)
G1: ---
G2: ---
A: A→B
B: B→C or B→E
C: C→B
D: D→G1
E: E→G2
- 14. 有限マルコフ決定過程とロボット
• 例1: マニピュレータの動作計画
– 大抵、計算時間がかかるので普通は別の方法を使うが、
原理的には解ける
– ただし計算機の性能が向上すると応用範囲は広がる
– 状態の作り方を工夫すると適用範囲内に
– 手順
• 例えば関節角を1[deg]ずつ刻んで状態を作る
– ダイナミクスを考慮するなら角速度も
• (360[deg]動くとして)360^n 状態を作る
• 何かとぶつかる状態を列挙(負の価値の大きい終端状態とする)
• 持って行きたい終端状態を決める
• 時間を負の報酬にする
• 価値反復
• 価値から最適な経路を選択
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 14
- 15. • 例2: 移動ロボット
– 環境をグリッドに切って状態を作る方法
• 3次元しかないのでマニピュレータよりは実用的
• 実時間処理は大変
• 状態遷移を確率的に扱う必要がある(後述)
– 環境に名前をつけて状態を抽出する方法
• 「キッチン」、「寝室」等
• グリッドを切るより状態数は数なくなる
• ただし状態遷移をどう実行するかは難しくなる
• 基本、ロボットは何でも(finite)MDPで動く
– 計算量、雑音、他者の存在を気にしなければ。
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 15
- 21. 確率的な状態遷移
• 例: 下図のようにどこに遷移するか不確定な場合
– ここでは行動は選べないとしましょう
– 1タイムステップごとに強制的にどこかに遷移
– 価値は、遷移後の価値と報酬の期待値計算となる
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 21
A
E
B -4
-2
G1(価値-2)
G2(価値0)
-1
-2
D
-3
-6
-3C
-4
-1
-2 → P=0.5
- 24. 続きは
• 数式で
• 教科書
– https://webdocs.cs.ualberta.ca/~sutton/book/ebo
ok/node33.html
Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 24