円周率で『ポケモン』をプレイしたらクリアできる? ガチ数学者が論文で大真面目に考察! 理論上は可能、でもかかる時間は…天文学的数字に!

ゲームの遊び方には、いわゆる「攻略法」と呼ばれるものがありますが、それ以外にも千差万別、ユニークなプレイスタイルが存在しますよね。

数年前、Twitchで「π Plays Pokémon(円周率でポケモンをプレイ)」という、とんでもない配信が話題になりました。これは円周率の数字をゲームのボタン入力に対応させてプレイするというもの。そして最近、なんとアメリカの数学者C・エヴァンス・ヘッジズ氏が、『x Plays Pokémon, for Almost-Every x』と題した論文を発表。数学的な見地から「円周率(π)で『ポケモン』はクリアできるのか?」というテーマを大真面目に考察し、大きな注目を集めています。

この奇妙な試みの発端は、2021年10月にTwitchに登場した「π Plays Pokémon」というチャンネル。その手法は、円周率πの各桁の数字(0~9)をゲームボーイアドバンスの各ボタンに割り当て、「1秒に1桁」のペースで『ポケットモンスター サファイア』を自動操作するというものでした。

その結果、主人公は最初の町から一歩も出られていないにもかかわらず、なんと最初のポケモンをレベル76まで育て上げるという、なんともシュールで味わい深い展開に。

▼ このプレイの様子は現在も更新されており、チャンネルのアーカイブで視聴可能です。

そこで本題です。果たして円周率(π)で『ポケモン』を本当にクリアすることは可能なのでしょうか?

論文によると、その鍵を握るのが「分離数(Disjunctive Number)」という数学の概念です。これは、どんな有限の長さの数列でも、その数の小数点以下のどこかに必ず現れるという性質を持つ数のこと。例えば、特定の数字の並びはもちろん、あなたの電話番号でさえも、指定すれば必ずその数列の一部として出現します。ルベーグ測度の観点から見ると、ほとんどすべての実数がこの「分離数」であるとされています。

次に『ポケモン』のようなビデオゲームを見てみましょう。ゲームは有限のメモリ容量で動作しているため、数学的に言えば、ゲーム内で発生しうる「状態」の総数も有限です。画面の表示、所持アイテム、ポケモンのステータスなど、すべてを考慮してもその組み合わせは有限個しかありません。そして、ボタン入力による状態の変化は、基本的に決定論的(決まった入力には決まった結果が返ってくる)です。

ここで「ゲームがフリーズしたり、進行不能なバグに陥ったりしない」と仮定すると、オートマトン理論における「同期化語(Synchronizing Word)」の定理を応用できます。この定理をざっくり説明すると、「どんな状態から始めても、ある特定のコマンド列を入力すれば、必ず特定の単一の状態に収束させられる」というもの。つまり、理論上は「有限の長さのボタン入力」が存在し、それさえ入力できれば、現在のゲームの進行状況がどうであれ、最終的に「ゲームクリア」という状態に導くことが可能だということです。

そして、「分離数」はありとあらゆる有限の数列を含むため、この「ゲームをクリアできるボタン入力の数列」も、その中に必ず含まれているはずです。言い換えれば、進行不能に陥らない決定論的なゲームであれば、どんな分離数xを使っても、いつかは必ずクリアできるということになります。

しかし、ここで大きな問題が。そもそも円周率πが「分離数」であるかどうかは、いまだ数学的に証明されていません。そのため、最初の疑問である「πで『ポケモン』をクリアできるのか?」という問いに対しては、実はまだ明確な答えが出せないのです。

さらに、仮に理論上「可能」だとしても、現実的にその瞬間を目撃することはほぼ不可能です。『ポケモン』のセーブデータの状態は有限で、ボタンは8つ。計算上、「確実にクリアできる」ことを保証するために必要なボタン入力回数の上限は、およそ2の1014乗回にもなるとのこと。これがどれほど天文学的な数字なのか、もはや想像もつきません。

結論として、たとえある分離数を使い続ければいつかは『ポケモン』をクリアできるとしても、それに一体どれだけの時間がかかるのかは、全く見当もつかない、ということになります。

もちろん、この企画を始めたTwitchチャンネルも、いまだに最初の町から出られていないのが現状です。しかし、こんなユニークな試みがガチの数学研究のテーマになるなんて、このプレイスタイルがいかに話題性に富んでいたかの証明と言えるでしょう(笑)。

via: itmedia