2048の数学
「大きいタイルは隅に固定しろ」「無駄な1手を打つな」——攻略記事によく書いてある話ですが、なぜそれが正しいのでしょうか。このページでは 3D 2048 の仕様(27マス、4の出現率15%、ハードは1手2マス生成)をそのまま数式に入れて、盤面で起きていることを計算で確かめます。数式は出てきますが、読み飛ばしても意味が通るように日本語での説明を必ず添えています。
前提:このゲームのルール
計算の出発点になる仕様を先に確認しておきます。すべて実装(ゲーム本体のソースコード)に書かれている値です。
- 2×2×2 モード:8マス、目標は256。1手につき1マス生成、生成されるタイルは90%が「2」、10%が「4」。
- 3×3×3 ノーマル:27マス、目標は2048。1手につき1マス生成、85%が「2」、15%が「4」。
- 3×3×3 ハード:27マス、目標は2048。1手につき2マス生成、60%が「2」、40%が「4」。ハードは3×3×3 でのみ選べます。
- 合体則:同じ数字どうしがぶつかると、倍の数字1つになります。1回のスライドで、同じタイルが2回続けて合体することはありません。
最後の一文が地味ですが効いてきます。あとで「連鎖が1段ずつしか進まない」という話につながります。
2048を作るには「2」が何個必要か
タイルの値はすべて2のべき乗です。2、4、8、16、……、2048。これは見た目の都合ではなく、ゲームの構造そのものです。合体は「同じ数字を2つ集めて1つにする」操作なので、逆にたどれば 2048 = 2を1024個集めたもの になります。
2048 は 211 です。2n のタイルを「2」だけから作るには、2 が 2n-1 個必要で、合体は 2n-1 − 1 回行われます。タイルが2つ減って1つになる操作を繰り返すので、1024個を1個にまとめるには 1023回 の合体が要る、というだけの話です。
「2」1024個 → 合体1023回。内訳は、4を作る合体が512回、8を作る合体が256回、16が128回……と半分ずつ減っていき、最後の2048を作る合体が1回。合計 512+256+128+64+32+16+8+4+2+1 = 1023回。
2×2×2 モードの目標である256 は 28 なので、「2」が128個、合体127回。目標が3段違う(256→2048は8倍)だけで、必要な合体回数は8倍になります。目標タイルが1段上がるたびに、仕事量は倍になる ——これが 2048 系のゲームが「後半だけ急に長くなる」理由です。
4が混ざると、必要な手数はどう減るか
ここまでは「生成されるのが全部2だったら」の話でした。実際には一定の確率で「4」が出ます。4は「合体済みの2が2つ」と同じ価値なので、4が1個出るたびに合体が1回スキップされます。得した気分になるのは正しいのです。
では15%だと何回得するのか。素朴に考えると「15%だから1023回の15%、約153回減る」と思いたくなりますが、これは間違いです。正しくは次のように計算します。
4の出現率を p とすると、1個生成されるタイルの平均的な価値は 2×(1−p) + 4×p = 2 + 2p です。ノーマル(p = 0.15)なら平均2.3。2048ぶんの価値を集めるのに必要な生成回数は 2048 ÷ 2.3 ≈ 890個。生成されたタイルを1つにまとめるので、合体は約889回です。
1023回から889回へ、減ったのは約134回。割合にすると 約13% であって15%ではありません。一般に短縮率は p ÷ (1 + p) になります(0.15 ÷ 1.15 = 13.0%)。4が出ても「その4を運ぶ手間」は消えないので、出現率ぶんまるまる得はできない、というわけです。
| モード | 4の出現率 | 1個あたり平均価値 | 必要な生成数 | 合体回数 | 短縮率 |
|---|---|---|---|---|---|
| 2×2×2(目標256) | 10% | 2.2 | 約116個 | 約115回 | 9.1% |
| 3×3×3 ノーマル | 15% | 2.3 | 約890個 | 約889回 | 13.0% |
| 3×3×3 ハード | 40% | 2.8 | 約731個 | 約730回 | 28.6% |
ハードは4が40%も出るので、合体回数は1023回から約730回へ、3割近く短縮 されます。数字だけ見ればハードのほうが楽そうに見えます。実際には逆です。次の節がその理由です。
盤面が埋まる速さ — ハードが「2倍難しい」で済まない理由
盤面のマス数は増減します。1手ごとに(生成された数 − 合体した数)だけタイルが増える、それだけのルールです。ここから、生き残るために必要な合体ペースが逆算できます。
- ノーマル:1手で1個生成。タイルを増やさないためには、1手あたり平均1回 合体しなければならない。
- ハード:1手で2個生成。タイルを増やさないためには、1手あたり平均2回 合体しなければならない。
先ほどの表と突き合わせると、この要求がどれだけ厳しいか分かります。ノーマルで2048に到達する最短コースは、890個を生成する=約890手。その間に889回の合体。割ると1手あたり1.00回です。つまり 理想的に運んでも、ほぼ毎手なにかを合体させ続けないと2048には届かない。合体しなかった1手は、あとで「1手2合体」を1回余分にやって返済しなければならない借金になります。
ハードはどうか。731個を1手2個ずつ生成するので 約365手。ノーマルの41%の手数で終わる計算です。ところが必要な合体は730回なので、1手あたり 2.00回。要求される合体密度がちょうど2倍になります。
さらに、盤面に入ってくる「価値」の量で比べると差はもっと開きます。ノーマルは1手あたり平均2.3、ハードは 2個 × 2.8 = 5.6。マス数では2倍ですが、価値の流入量では約2.43倍です。同じ27マスに、2.43倍の速さで数字が注ぎ込まれます。
もうひとつ、4の出現率が高いこと自体が牙をむく場面があります。連続して生成された2つのタイルが「同じ値かどうか」を計算してみます。同じ値になる確率は p² + (1−p)² なので:
- ノーマル(15%):同じ値になる確率 74.5%、食い違う確率 25.5%
- ハード(40%):同じ値になる確率 52.0%、食い違う確率 48.0%
2と4は合体できません。ハードでは新しく降ってくる2枚の相性が悪い(片方が2、片方が4)ケースがほぼ半分。ノーマルの倍近い頻度で「すぐには片付けられないゴミ」が2枚同時に置かれる、ということです。
27マスという容量は足りているのか
27マスは多いのか少ないのか。ここは素直に計算すると、少し意外な答えが出ます。
2048を作る直前、盤面が最も「詰まる」瞬間を考えます。2048を作るには1024が2つ要ります。1つ目の1024を作り終えたあと、それを置いたまま2つ目の1024を作らなければなりません。同じ理屈が下の段にも当てはまるので、最悪の瞬間には 1024、512、256、128、64、32、16、8、4、2 が1つずつ 盤上に並ぶことになります。これを以下「はしご」と呼びます。
はしごは10枚、合計値は2046。27マスのうち10マスなので、17マスが空いている 計算です。容量そのものは、実は余裕があります。
比較すると位置づけがはっきりします。平面4×4(16マス)で同じはしごを組むと、空きは6マスしか残りません。2×2×2(8マス)で256を目指す場合のはしごは 2〜128 の7枚(合計254)で、空きは1マス。最後の1マスに来た「2」がそのまま連鎖に飲み込まれてくれないと即詰みです。2×2×2 が短時間で終わるのに妙に難しいのは、この「構造的な余白ゼロ」が原因です。
つまり、3×3×3 の27マスで本当に足りないのは スペースではなく時間 です。空き17マスというのは、「合体できない手を17回連続でやったら埋まる」という意味でもあります。ハードなら1手2個なので 8手で埋まる。前の節で見た「1手あたり1回(ハードは2回)の合体を維持し続けろ」という要求と合わせると、余裕の正体は「猶予17手(ハードは8手)」でしかない、と言い換えられます。
平面16マスと立体27マス
マスが16から27へ、1.7倍に増えます。ただし増えたのはマスだけではありません。方向も4つから6つに増えています。この差が効きます。
まず隣接関係。あるマスに隣り合うマスの数を平均すると:
- 平面4×4:隣接ペアは全部で24組、1マスあたり平均 3.0 個の隣
- 立体3×3×3:隣接ペアは全部で54組、1マスあたり平均 4.0 個の隣(角は3、辺は4、面の中心は5、立方体の中心は6)
隣が多いということは、合体の相手を見つけやすいということです。ゲームオーバーの条件は「盤面が満杯で、かつ隣り合う54組すべてが違う値」。平面の24組より、立体の54組のほうが「たまたま全部食い違う」状態になりにくい。ここは立体が有利です。
一方、1手の破壊力は立体のほうが大きい。1回のスライドで動く列の数を数えると、平面4×4 は「4マスの列が4本」、立体3×3×3 は「3マスの列が9本」。1本の列から取れる合体は、平面の4マス列なら最大2回、立体の3マス列なら 最大1回 です。掛け算すると1手あたりの最大合体数は平面8回、立体9回でほぼ互角。ところが、中身の性質がまるで違います。
2, 2, 4, 4 と並んでいれば、1回のスライドで 4 と 8 が同時にできます。立体の3マス列に 2, 2, 4 と並んでいる場合、1回のスライドでできるのは 4, 4 まで。8にするにはもう1手必要です。つまり立体の「1手9合体」は、浅い合体を9本の列で同時に 起こすものであり、平面のような深い連鎖ではありません。立体2048で稼ぐには、1本の長い連鎖を狙うのではなく、9本の列に薄く同じ数字を敷き詰める ほうが理にかなっています。
方向が6つあることには代償もあります。大きいタイルを角に置いたとき、それを動かさずに済む方向は、平面では4方向のうち2方向、立体では6方向のうち3方向。割合は同じ50%ですが、覚えておくべき「押してはいけない方向」は2つから3つに増えます。立体の難しさの体感は、マス数よりもここから来ています。
どこで詰むのか、なぜ「固定」が有利なのか
最後に、冒頭の問いに戻ります。なぜ大きいタイルを一箇所に固定するのが確率的に正しいのか。
鍵は 「大きいタイルの相手は生成されない」 という一点です。盤面に降ってくるのは2か4だけ。1024タイルが合体できる相手は、もう1つの1024だけです。そしてもう1つの1024を作るには、価値1024ぶんの生成、つまりノーマルで約445個の生成=約445手 かかります。
この445手のあいだ、最初の1024は 絶対に合体しないタイル として盤上に居座り続けます。同じことが512にも256にも当てはまります。前の節で見た「はしご」10枚は、要するに 「当分のあいだ合体相手が現れない、動かす意味のないタイルの列」 なのです。
ここから固定戦略の根拠が出ます。動かす意味のないタイルが盤面をうろつくと、残り17マスの空きが分断されます。分断された空きは、生成されたタイルの受け皿としては使えても、合体の作業スペースとしては使えません。はしごを壁際に押しつけて動かさないことは、17マスの作業スペースを1つの連続した塊として保つための操作 です。カッコいい上級テクニックではなく、単なる区画整理です。
詰みが訪れる形も、これで説明できます。1手あたり1回(ハードは2回)の合体ペースを維持できなくなると、タイルは単調に増えます。増えるのは主に2と4、つまり はしごのどの段とも合体できない小さい数字 です。作業スペースが狭くなる → 合体を作りにくくなる → さらにスペースが減る、という一方通行の悪循環に入ります。逆転がほとんど起きないのはこのためで、詰みは最後の1手で起きるのではなく、その20〜30手前に確定しています。
実戦的な結論は3つです。
- 合体しない手を打つのは借金である。ノーマルなら猶予は17手ぶん、ハードなら8手ぶんしかありません。「とりあえず動かす」を数回続けた時点で、もう返済計画が必要です。
- 4を嫌う必要はない。4は合体1回ぶんの前払いです。困るのは4そのものではなく、4と2が隣り合って動かせなくなる配置のほうです。
- 広く薄く同じ数字を作る。3マスの列は深い連鎖を返してくれません。9本の列で同時に浅い合体を起こすほうが、立体では効率が良い形です。
おまけ:スコアはどこまで伸びるのか
このゲームのスコアは、合体するたびに「できあがったタイルの値」が加算されます。2と2を合体させれば4点、1024どうしなら2048点です。
2048タイルを「2」だけから組み上げた場合の合計スコアは、先ほどの内訳から計算できます。4を作る合体が512回で 512×4 = 2048点、8を作る合体が256回で 256×8 = 2048点……と、どの段も合計2048点になります。段は4から2048までの10段あるので、合計 20,480点。一般に 2n を作るスコアは (n−1) × 2n です。
4が混ざるとスコアは少し下がります。4が1個生成されるたびに「4点ぶんの合体」が1回省略されるからです。ノーマルでは約133個の4が出るので、20,480 − 4×133 ≈ 約19,950点。ハードは4が約292個なので約19,310点。ハードのほうが手数は少ないのに、同じ2048に対するスコアは低くなります。
実際のスコアはこれより高く出ます。盤面には2048以外のタイルも残っており、それらを作るまでの合体もすべて加算されているからです。逆に言えば、スコアと最大タイルの差は「盤面にどれだけ回収しきれない数字を残したか」の指標 になります。同じ2048到達でも、スコアが低いほど無駄のない運びだった、と読むことができます。
なお 3D 2048 は2048に到達した時点で勝利ですが、そこで「続ける」を選べばプレイを継続できます。次の目標である4096を作るには、もう1つ2048を最初から積み上げる必要があります。必要な生成数はそれまでの合計とほぼ同じ、つまり ここまでの道のりをもう一度 です。2のべき乗というのは、そういう坂道です。