確率ロボティクスの講義で作成した強化学習(Q学習)による宝探しゲームの攻略
エージェントが迷路の中を探索して宝物までの最適な経路を見つける.
- 状態
エージェントの位置:2次元 - 行動
上,下,左,右:4次元 - 報酬
宝が見つかったら,+100を与える
それ以外は,ペナルティとして毎ステップ-1を与える - 終了条件
宝が見つかる or 最大ステップ数(max_step)試行する
(終了条件が成立すると1episodeが終了する)
12×12マスのマップの中で行う
- 青色のマス: スタート位置
- 黒色のマス: 壁
- 赤色の丸 : 現在のエージェントの位置
- 黄色の星 : 宝物(ゴール)
- gym
- numpy
- matplotlib
$ git clone git@github.com:GakuKuwano/q-learning_TreasureHunt.git
$ cd q-learning_TreasureHunt
$ python train.py
Jupyter Notebookの場合
$ git clone git@github.com:GakuKuwano/q-learning_TreasureHunt.git
$ cd q-learning_TreasureHunt/jupyter
Jupyter Notebookを起動して,train.ipynbを実行する
train.pyのtime_intervalの値を変更することでシミュレーションを可視化する回数を変更できます.