【Open AI gym、強化学習】CartPoleの紹介

問題の概要

CartPoleは、
棒が設置してある台車があり、
台車を棒が倒れないように
うまくコントロールする問題になります。

f:id:ttt242242:20190428190208p:plain

出典:Leaderboard · openai/gym Wiki · GitHub

制御値、観測、報酬等について

制御値(行動)

制御値は、台を左に押す(0)か
右に押す(1)の二択になります。

操作
0 左に押す
1 右に押す

観測

観測値は、台車の位置、台車の速度、棒の角度、棒の先端の速度の4つになります。

観測情報 最小値 最大値
台車の位置 -2.4 2.4
台車の速度 -inf inf
棒の角度 -41.8° 41.8°
棒の先端の速度 -inf inf

報酬

報酬としては1を与え続けます。

エピソードの終了判定

以下のどれかの条件を満たした場合に、
エピソードが終了したと判定されます。

  • ポールのアングルが±12°以内
  • 台車の位置が±2.4以内
  • エピソードの長さが200以上

ちょっと動かしてみる

実際に動かしてみます。
stepメソッドを使って1ステップづつ台車を操作していきます。
stepメソッドの戻り値は操作した結果
(観測情報, 報酬, エピソードの終了判定) が返却されます。

サンプルコードを実行するために
gymをインストールする必要があります。

サンプルコード

実行結果

棒が倒れるまで実行します。

参考文献

gym.openai.com

github.com

機械学習スタートアップシリーズ Pythonで学ぶ強化学習 入門から実践まで (KS情報科学専門書)

機械学習スタートアップシリーズ Pythonで学ぶ強化学習 入門から実践まで (KS情報科学専門書)

コメント

タイトルとURLをコピーしました