フルオーダーメイド靴」のプレスリリースを行いました。vcoptでスーパーマリオ1-1をクリアするvcopt応用2019/04/14本記事の内容は2019年5月13日に更新されました。追記やること動画サイトを探すと「GAでマリオをクリアする」といった動画が見つかります。正直なところ、強化学習でやったほうが良いとは思いますが、どうしてもGAでクリアしたいなら...ということでvcoptを使ってみましょう。Colaboratoryが利用可能です。Colaboratorycolab.research.google.comvcoptの使い方についてはチュートリアルをご参照ください。お手軽最適化パッケージ「vcopt」チュートリアル実行環境Windowsマシンで実行する方にはWinPython3.6をおすすめしています。インストール不要で、USBメモリに入れて持ち運ぶこともできます。...vigne-cla.com2019/09/23vcoptの仕様については最新の仕様書をご参照ください。本記事執筆時とは仕様が異なる場合があります。installし直す必要があります。vcopt親玉のgymは最初から入っています。importまずは、今回使うパッケージをインポートします。vcoptマリオの動かし方こちらのパッケージを使用させていただきます。Gympypi.orgこんな感じで、動作確認できました。breakいろいろ調べてみると、次の仕様が分かりました。1秒あたり20フレーム(20ステップ)の入力を受け付けるマリオのx座標は取得でき、1-1のゴールのx座標は3161その他、コイン数や残り時間等も取得できる入力は7種類のようです。動画の表示方法マリオの画面を1コマ1コマ表示できましたが、見づらいので動画として表示したいです。Colaboratoryで動画を表示するため、こちらのサイトを参考にさせていただきました。Colaboratoryを使用しています。アクセスすれば、すぐにPythonが使えますからね。Descent)のグラフをアニメーション化しており、...yaju3d.hatenablog.jpこれを先ほどのマリオを合体させると、このように表示できました。writer="ffmpeg")何を最適化するのか入力の選択肢。簡単のために、マリオの行動は3(右ダッシュ)と4(右ダッシュジャンプ)の2択しか取れないこととします。4]のような感じになり、各入力が各フレームに対応します。1-1のクリアタイムは60秒程度なので、20[フレーム/秒]×60[秒]=1200[フレーム]の入力配列を用意したいです。余裕をもって2000[フレーム](100秒)用意しておきたいです。