飛び石ゲーム in 強化学習!!ravi/exp/files/projects.pdf飛び石ゲームの説明 1....
TRANSCRIPT
飛び石ゲームの説明
1. n個の台座に対してn-1匹のカエル
2. 1つの台座に対してカエルは1匹3. カエルは隣の台座、またはカエルを挟んだ
2つ隣の台座に移動することができる
4. 両端の台座はつながっていない
5. カエルの並びが初期状態とは逆の並びになればゲームを終了
学習アルゴリズム
状態
>> 各台座に乗っているカエルの番号を利用
カエルがいない場合は0
「スタート状態」1230「ゴール状態」 3210
行動
>> 各状態に応じて遷移可能な状態
GUIインタフェース
考察
カエルの入れ替え問題は有限の状態遷移で
表すことができ、有限の状態遷移で表すことができれば強化学習で最適解を求めることができる。
実際の問題に強化学習を適用するには状態数ができるだけ少なくなるように表現方法を十分検討する必要がある。
TrianglePuzzleについて• ルール
• 担当
– 東 イメージ、状態の書き出し
– 清水 R行列の実装、動作確認
– 山崎 プログラム(レイアウト)
– 三浦 プログラム(座標の表示の管理)
1
状態の書き出し、報酬行列の作成
2
実行結果
3
荷物移動問題
• 荷物をゴールの場所に移動させることが目的
• ヒトは壁または荷物が無い場所を上下左右に移動できる
• ヒトは荷物を押して移動させることができる
• ヒトと荷物は壁を通り抜けできない
• 荷物・ヒト・ゴールは1つだけ
1
荷物移動問題
2
R行列の自動生成(牧野)
• マップ情報を格納した2次元配列からR行列を自動で生成する
• 本プログラムのR行列の仕様
1. 状態iから状態jへ移行可能なときR[i][j]=02. 状態iから状態jへ移行不可能なときR[i][j]=-13. 状態iから状態jへ移行可能でかつ状態jがゴール
なときR[i][j]=100
3
強化学習(大橋)
• 基本的には個人課題の強化学習手法を用いる.
• 行き止まりがあるのでゴール到達時と同様の処理を行う.
• 荷物の位置に対してヒトがどの位置にいるかによって移動できる場所が異なるので,あらかじめ計算しておく.
それをもとに次の遷移先を決定する.
4
強化学習(大橋)
①
② ③ ③
③
③
③
③ ③
5
ヒトの移動(村田)
• 箱を動かすために、ヒトが箱の後ろに行く
6
ヒトの移動
方法:
左右両方の壁沿いに目的の位置を探していき、目的位置への経路を見つける。(箱も壁と見なす)
7
ヒトの移動の例
右の方が近いので右の経路で描画を行う。
8
行列の表示(松木)
• QMatrixFrame:Q行列を表示するクラス
• テキストフィールド及びスクロールバーで表示
• メソッド
SetQMatrix(double[][]q_matrix, String[] labels)-表示するQ行列の更新を行う
9
学習結果
10
御清聴に感謝します
11