Neural Fitted Q Iterationの実験で使う倒立振子のシミュレータを書きました。 論文ではCLSquareというシステムを使って実験が行われているのですが、 頑張ってインストールしたものの上手く動かせなかったので自分で書きました。 倒立振子の運動方程式についてはこちらのスライドが詳しいです。 今回は摩擦を無視するのでスライドでいう B と C が 0 になります。 台車の重さやポールの長さなどの各種定数は、NFQの論文に倣い、 これのInverted Pendulumの実験と同じにしました。 コードはこんな感じ。 アクションは[-50N, 50N, 0N]の3種類で、[0, 1, 2]で表現しました。 do_action(a)でアクションが実行され t だけ時間が進みます。 matplotlibでビジュアライズできるようにしたので、 実行すると次のようなアニメーションが表