飛び石ゲーム in 強化学習!!ravi/exp/files/projects.pdf飛び石ゲームの説明 1....

18
飛び石ゲームの説明 1. n個の台座に対してn-1匹のカエル 2. 1つの台座に対してカエルは13. カエルは隣の台座、またはカエルを挟んだ 2つ隣の台座に移動することができる 4. 両端の台座はつながっていない 5. カエルの並びが初期状態とは逆の並びになれば ゲームを終了

Upload: others

Post on 06-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 飛び石ゲーム in 強化学習!!ravi/exp/Files/Projects.pdf飛び石ゲームの説明 1. n個の台座に対してn-1匹のカエル 2. 1つの台座に対してカエルは1匹

飛び石ゲームの説明

1. n個の台座に対してn-1匹のカエル

2. 1つの台座に対してカエルは1匹3. カエルは隣の台座、またはカエルを挟んだ

2つ隣の台座に移動することができる

4. 両端の台座はつながっていない

5. カエルの並びが初期状態とは逆の並びになればゲームを終了

Page 2: 飛び石ゲーム in 強化学習!!ravi/exp/Files/Projects.pdf飛び石ゲームの説明 1. n個の台座に対してn-1匹のカエル 2. 1つの台座に対してカエルは1匹

学習アルゴリズム

状態

>> 各台座に乗っているカエルの番号を利用

カエルがいない場合は0

「スタート状態」1230「ゴール状態」 3210

行動

>> 各状態に応じて遷移可能な状態

Page 3: 飛び石ゲーム in 強化学習!!ravi/exp/Files/Projects.pdf飛び石ゲームの説明 1. n個の台座に対してn-1匹のカエル 2. 1つの台座に対してカエルは1匹

GUIインタフェース

Page 4: 飛び石ゲーム in 強化学習!!ravi/exp/Files/Projects.pdf飛び石ゲームの説明 1. n個の台座に対してn-1匹のカエル 2. 1つの台座に対してカエルは1匹

考察

カエルの入れ替え問題は有限の状態遷移で

表すことができ、有限の状態遷移で表すことができれば強化学習で最適解を求めることができる。

実際の問題に強化学習を適用するには状態数ができるだけ少なくなるように表現方法を十分検討する必要がある。

Page 5: 飛び石ゲーム in 強化学習!!ravi/exp/Files/Projects.pdf飛び石ゲームの説明 1. n個の台座に対してn-1匹のカエル 2. 1つの台座に対してカエルは1匹

TrianglePuzzleについて• ルール

• 担当

– 東 イメージ、状態の書き出し

– 清水 R行列の実装、動作確認

– 山崎 プログラム(レイアウト)

– 三浦 プログラム(座標の表示の管理)

1

Page 6: 飛び石ゲーム in 強化学習!!ravi/exp/Files/Projects.pdf飛び石ゲームの説明 1. n個の台座に対してn-1匹のカエル 2. 1つの台座に対してカエルは1匹

状態の書き出し、報酬行列の作成

2

Page 7: 飛び石ゲーム in 強化学習!!ravi/exp/Files/Projects.pdf飛び石ゲームの説明 1. n個の台座に対してn-1匹のカエル 2. 1つの台座に対してカエルは1匹

実行結果

3

Page 8: 飛び石ゲーム in 強化学習!!ravi/exp/Files/Projects.pdf飛び石ゲームの説明 1. n個の台座に対してn-1匹のカエル 2. 1つの台座に対してカエルは1匹

荷物移動問題

• 荷物をゴールの場所に移動させることが目的

• ヒトは壁または荷物が無い場所を上下左右に移動できる

• ヒトは荷物を押して移動させることができる

• ヒトと荷物は壁を通り抜けできない

• 荷物・ヒト・ゴールは1つだけ

1

Page 9: 飛び石ゲーム in 強化学習!!ravi/exp/Files/Projects.pdf飛び石ゲームの説明 1. n個の台座に対してn-1匹のカエル 2. 1つの台座に対してカエルは1匹

荷物移動問題

2

Page 10: 飛び石ゲーム in 強化学習!!ravi/exp/Files/Projects.pdf飛び石ゲームの説明 1. n個の台座に対してn-1匹のカエル 2. 1つの台座に対してカエルは1匹

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

Page 11: 飛び石ゲーム in 強化学習!!ravi/exp/Files/Projects.pdf飛び石ゲームの説明 1. n個の台座に対してn-1匹のカエル 2. 1つの台座に対してカエルは1匹

強化学習(大橋)

• 基本的には個人課題の強化学習手法を用いる.

• 行き止まりがあるのでゴール到達時と同様の処理を行う.

• 荷物の位置に対してヒトがどの位置にいるかによって移動できる場所が異なるので,あらかじめ計算しておく.

それをもとに次の遷移先を決定する.

4

Page 12: 飛び石ゲーム in 強化学習!!ravi/exp/Files/Projects.pdf飛び石ゲームの説明 1. n個の台座に対してn-1匹のカエル 2. 1つの台座に対してカエルは1匹

強化学習(大橋)

② ③ ③

③ ③

5

Page 13: 飛び石ゲーム in 強化学習!!ravi/exp/Files/Projects.pdf飛び石ゲームの説明 1. n個の台座に対してn-1匹のカエル 2. 1つの台座に対してカエルは1匹

ヒトの移動(村田)

• 箱を動かすために、ヒトが箱の後ろに行く

6

Page 14: 飛び石ゲーム in 強化学習!!ravi/exp/Files/Projects.pdf飛び石ゲームの説明 1. n個の台座に対してn-1匹のカエル 2. 1つの台座に対してカエルは1匹

ヒトの移動

方法:

左右両方の壁沿いに目的の位置を探していき、目的位置への経路を見つける。(箱も壁と見なす)

7

Page 15: 飛び石ゲーム in 強化学習!!ravi/exp/Files/Projects.pdf飛び石ゲームの説明 1. n個の台座に対してn-1匹のカエル 2. 1つの台座に対してカエルは1匹

ヒトの移動の例

右の方が近いので右の経路で描画を行う。

8

Page 16: 飛び石ゲーム in 強化学習!!ravi/exp/Files/Projects.pdf飛び石ゲームの説明 1. n個の台座に対してn-1匹のカエル 2. 1つの台座に対してカエルは1匹

行列の表示(松木)

• QMatrixFrame:Q行列を表示するクラス

• テキストフィールド及びスクロールバーで表示

• メソッド

SetQMatrix(double[][]q_matrix, String[] labels)-表示するQ行列の更新を行う

9

Page 17: 飛び石ゲーム in 強化学習!!ravi/exp/Files/Projects.pdf飛び石ゲームの説明 1. n個の台座に対してn-1匹のカエル 2. 1つの台座に対してカエルは1匹

学習結果

10

Page 18: 飛び石ゲーム in 強化学習!!ravi/exp/Files/Projects.pdf飛び石ゲームの説明 1. n個の台座に対してn-1匹のカエル 2. 1つの台座に対してカエルは1匹

御清聴に感謝します

11