前回記事で、マップを拡張し林を追加しました。
[広くしたマップイメージ]
今回は、そのマップに対してランダムで実行しています。
広げたマップをランダム実行
ランダム実行するソースは下記の通りです。
2行目でインポートするカスタムGym環境をenv7にしているのが、唯一の変更箇所となります。
[ソース]
1 | import gym |
ランダム実行のため毎回結果が異なります。
10回ほど実行した結果は下記のようになりました。
[結果]
- 1回目(ゴールにたどり着けず)
total_reward -4328 - 2回目(ゴールに到着)
total_reward -675 - 3回目(ゴールにたどり着けず)
total_reward -4917 - 4回目(ゴールに到着)
total_reward -4220 - 5回目(ゴールに到着)
total_reward 1753 - 6回目(ゴールにたどり着けず)
total_reward -3657 - 7回目(ゴールに到着)
total_reward 2255 - 8回目(ゴールに到着)
total_reward 533 - 9回目(ゴールにたどり着けず)
total_reward -4570 - 10回目(ゴールにたどり着けず)
total_reward -3591
トータル報酬は -4917から1753 の範囲となりました。
ランダム実行の割には10回の試行のうち5回ゴールにたどり着く結果になったのは意外でした。
試行回数の制限(env6.pyのMAX_STEPS)を2000回と多めに設定したのがその原因かと思います。
次回はStable BaselinesのACKTRアルゴリズムを使って、強化学習を行ってみます。