NESゲームをプレイできるプログラムを作成しました

2013年4月1日に開催され、通常は偽の漫画研究で構成される有名な漫画会議SIGBOVIK2013で 、トムマーフィー博士は私の意見では非常に興味深い作品を準備しました。

要するに、彼はNESエミュレータで古き良きダンディなゲームをプレイするプログラムを教えました。 これはどうですか?



最初の段階では、人がゲームをプレイし、プログラムはエミュレーターのメモリの状態を注意深く監視し、値が着実に増加しているセルを探します。 (ほとんどの場合、これらはセル(ポイント、ライフなど)になります。)さらに、ゲームの目的はこれらのセルの値を増やすことであると仮定することは論理的です。 第二段階では、プログラム自体がすでにこれらのゲームをプレイしようとしています。 なぜなら ゲームの状態はRAMメモリと入力キーの状態から完全に決定的であるため、すべてが「キーストローク」の可能なオプションがあり、評価関数がある古典的な網羅的な問題に帰着したと仮定できます。 もちろん、問題は非常に大きな検索スペースにあります(1秒間に60フレームあり、各フレームでエミュレータは8つの可能なキーストロークの1つを登録できます)。 一般に、可能なオプションの数は毎秒8〜60倍に増加します。

しかし、欲張りアルゴリズムとブルートフォースアルゴリズムの組み合わせを使用して、彼はAIにいくつかのゲームを非常に印象的にプレイさせることができ、スーパーマリオブラザーズの穴で徹底的に研究され、使い古されたエクスプロイトを見つけることさえできました。

もちろん、よりインテリジェントなゲーム(テトリスなど)では、成功は控えめです。



ビデオ、プレゼンテーションとコンピューターゲームの断片:







プログラムとアルゴリズムのアーキテクチャについてさらに詳しく読みたい人のために、 ここにリンクがあります



All Articles