スライドパズルの解き方:15パズルの手順
遊びを見つける執筆にClaudeを使用しています。

15パズルは、4×4のマスに1〜15の番号が書かれたピースが並び、空きマスを使ってピースをスライドさせながら正しい順番に並べ替えるパズルです。「なんとなく動かしていたら偶然揃った」という経験をしたことがある方でも、大きな番号になるほど詰まってしまうのではないでしょうか。 このパズルには、感覚に頼らずに再現できる「手順の型」があります。上の行から順番に揃えていき、最後の2行をまとめて処理するという流れを覚えれば、どんな初期配置でも(解ける配置であれば)必ずゴールに到達できます。この記事では、その手順を一段階ずつ説明します。 なお、15パズルには「解けない配置」が存在します。ランダムに並べた状態のうちおよそ半数は、どれだけ手を尽くしても解けません。最初に解けるかどうかを判定する考え方も後半で触れます。
まず「解けるかどうか」を確認する
いくら手順を知っていても、解けない配置に時間をかけるのは無駄です。15パズルの解けるかどうかは、「転倒数」と呼ばれる考え方で判定できます。
転倒数とは、1〜15のピースを左上から右下へ順番に読み出したとき、あるピースの番号よりも後ろに「そのピースより小さい番号」が何個あるかを数え、全ピースについて合計した値のことです。加えて、空きマスが上から何行目にあるかも使います。
判定の基準は次のとおりです。
- 転倒数が偶数で、空きマスが下から奇数行目にある → 解ける
- 転倒数が奇数で、空きマスが下から偶数行目にある → 解ける
- 上記以外の組み合わせ → 解けない
ブラウザゲームとして遊ぶ場合、多くの実装では解ける配置だけをランダムに生成するよう作られています。手元で紙に書いて練習するときや、物理的なおもちゃで試すときに、この判定を知っておくと無用な混乱を防げます。
基本方針:上から順番に、行ごとに揃える
15パズルを解く最も実用的な戦略は、「行を上から固定していく」方法です。
1行目(1・2・3・4)を揃えて固定する、次に2行目(5・6・7・8)を揃えて固定する、最後に残った2行(3行目と4行目の8マス)をまとめて解く、という3段階になります。上の行を揃えた後は、その行のピースを動かさないことが原則です。
各行を揃えるとき、最初の3つのピース(例:1・2・3)は比較的自由に動かせます。ピースを目標マスの隣まで連れてきて、空きマスを回転させながら押し込む「回転移動」のパターンを繰り返せば、他の行を崩さずに所定の位置へ運べます。
難しいのは、各行の右端のピース(1行目なら4)を揃えるときです。4を直接4番目のマスに押し込もうとすると、その手前に揃えた3が崩れてしまいます。このケースには専用の「コーナー手順」を使います。
右端のピースを揃える「コーナー手順」
1行目の右端、4番のピースを揃える場面を例に説明します。このとき、1・2・3はすでに1〜3番のマスに入っていてはいけません。4と3を正しい列に持ってきてから、まとめて回転させて入れる手順を使います。
具体的な流れは次のとおりです。
- 4のピースを、正しい位置(1行目右端)の真下のマスに置く。
- 3のピースを、4の右隣(つまり4の正しい位置の下の右)ではなく、4の正しい位置のマスに置く。
- 空きマスを4の右隣に移動させる。
- 4を右へスライドさせ、続けて上へスライドさせる。
- 3を左へスライドさせて正しい位置へ入れる。
文字だけでは追いにくい部分があるため、実際にゲームを動かしながら「4を目標マスの直下、3を目標マスに仮置き」という配置を作ることを目標に練習すると理解が速まります。コーナー手順は左端のピースを揃えるときにも同じ形で使えます(方向を左右に反転させるだけです)。
最後の2行(3行目・4行目)を解く
1行目と2行目を揃えた後、残るのは3行目と4行目の8マス(9〜15と空きマス)です。ここはすでに揃えた行に触れずに解けるため、実質的に3×4のパズルとして扱えます。
この2行は、行ごとに固定しようとするとどうしても詰まる場面が出ます。特に最後の4マス(3行目右端と4行目の右端2つなど)は、単純な行固め戦略では対処しにくい配置になりがちです。
そこでよく使われるのが「L字回転」と呼ばれる一連の操作です。残り4マスが次の配置になったときに使います。
A B
C 空ここでAを空きマスの位置へ持ってくるために、空きマスをCの左、BとCを右に寄せ、Aを右下へ回す、という6〜8手の固定手順があります。この手順は暗記するよりも、「目的のピースを時計回りまたは反時計回りに一つずつ押し回す」動きとして体感的に覚えると応用が利きます。
残り2行の処理で最も重要なポイントは、「3行目を先に完全に固定しようとしない」ことです。3行目を固めてしまうと4行目が解けなくなるケースが生じます。3行目と4行目を一体として扱い、9〜15が正しい位置に収まるように全体を動かし続けるのが正解です。
手数を減らすための考え方
解ける手順を覚えたら、次は手数(ムーブ数)の意識です。15パズルの最適解(最短手数)を機械的に計算するのは高度な問題ですが、人間の手で手数を減らすために使える考え方があります。
まず、「ピースを目標マスに近づける最短経路」を常に意識します。遠回りしてピースを運ぶのではなく、空きマスをピースの手前に回す最短ルートを探すことが手数削減の基本です。
次に、「一度に複数のピースを動かす」場面を探します。あるピースを目標へ運ぶ途中で、別のピースが副次的に正しい位置に近づくことがあります。こうした「ついで移動」を意図的に作れるようになると、全体の手数が減ります。
また、上の行を揃えるとき、1→2→3→4の順にこだわらず、2つまとめて揃えられる配置になっているなら先にそちらを処理する柔軟さも大切です。手順の型を覚えたうえで、その型を崩すタイミングを判断できるようになると、解くスピードが上がります。
次の行動
この記事の手順を実際に試したい方は、アソバースの公式作品「スライドパズル」をブラウザで開いてすぐに練習を始められます。コーナー手順と最後の2行の処理は、1回で覚えようとするより、詰まった場面でこの記事を参照しながら数回繰り返すのが上達の近道です。解けない配置に当たったと感じたら、まず転倒数の判定に立ち返ってみてください。



