ソルバーと解法

スライドパズル ソルバー — 3×3・4×4・5×5の盤面をオンラインで解く

盤面を入力して「解く」を押すだけで、最短の手順が手に入ります。無料・ブラウザ完結・アップロード不要。ツールの下では、スライドパズル ソルバーが使いうる6つのアルゴリズムと、このソルバーが実際に使っているものを解説します。

更新日 2026-07-27 8 分で読めます

スライドパズル ソルバー

「シャッフル」でランダムな盤面、「編集」で自分の盤面を入力できます。「解く」を押すと手順を1手ずつ再生します。3×3 の解は最短手順です。

ソルバーの使い方

上のツールは、解ける3×3・4×4の盤面ならどれでも最適に解きます — 返ってくる答えは、単に解けるだけの手順ではなく、可能な限り最短の手順です。

  1. 編集を押して盤面を入力します。完成した状態で読める順にタイルへ番号を振り(左上が1)、いま実際にある位置に配置します。ゲームや写真アプリ、木製のおもちゃなどの絵柄パズルを解く場合は、まず完成図を左上から右下へ頭の中で番号付けしてください。
  2. 解くを押します。手順のリストは3×3なら即座に、4×4でも数瞬で表示されます。
  3. 実物のパズルの上で、手順を1手ずつ再現します。

ソルバーが「この盤面は解けない」と表示しても、バグではありません — 全配置のちょうど半分はそもそも解けないため、どんな正規の手順でも直せないのです。手順を読み上げる代わりに解き方そのものを学びたい場合は、人間向けの解き方はこちら

スライドパズル ソルバーの仕組み — 6つのアルゴリズムを比較

スライドパズルのソルバーを実装しようとしていて、どのアルゴリズムを使うか迷っている場合、この記事では6つの代表的なアルゴリズムを、速度・メモリ・実装の複雑さ・快適に扱える盤面サイズの観点で比較します。3×3、4×4、5×5では答えが異なります。

1. 幅優先探索(BFS)

最も単純な正しいアルゴリズムです。ゴールが見つかるまで状態をレベル順に探索します。

2. A* + マンハッタン距離

最初の本格的なアルゴリズムです。BFSと同じ構造ですが、状態は f = g + h(hはマンハッタン距離ヒューリスティック)で並べた優先キューから取り出されます。

3. A* + マンハッタン距離 + 線形衝突

同じ行にある2つのタイルが、互いにゴール行に入っているが順序が逆の場合(列も同様)、ヒューリスティックに2手を加算します。この2つは互いをすり抜けなければならず、マンハッタン距離ではそれが見えません。

4. IDA* + マンハッタン距離 + 線形衝突

反復深化A*です。f-コストを深さの基準として深さ制限DFSを行い、各イテレーションでしきい値を引き上げます。再探索によって時間とメモリをトレードオフします。

5. IDA* + ウォーキング距離

ウォーキング距離はより厳密なヒューリスティックです。各タイル配置を行のみに射影した状態に対して、各タイルを正しい行に入れるために必要な行スワップ操作の最小数を事前計算します。列も同様に。両者を足します。

マンハッタンが見逃している「同じ行のタイルが同じスロットを争っている」状況を捉えます。

6. IDA* + 加法的分離パターンデータベース

スライドパズルで知られている最強のヒューリスティックです。タイルを分離したグループに分割します(15パズルの一般的な分割は7+8、または5+5+5)。各グループについて、そのグループのタイルをゴール位置に並べるためのコストを、そのグループの全配置に対して事前計算します。探索時には各グループの値を参照して合計します。

推奨まとめ

今日ソルバーを書くなら:

機械学習はどうか

2026年時点で妥当な質問です。ニューラルネットワークのヒューリスティックは少なくとも2014年から研究されており、スライドパズルに対して高速なヒューリスティックを生成できます。問題は、通常許容的でないこと — 過大評価が可能で、その結果アルゴリズムが最適解を保証しなくなります。難易度調整のために保証された最適解が必要なアプリ開発者には、古典的なパターンデータベースが依然として正しいツールです。

研究への興味としては、ニューラルネットワークで訓練されたパターンデータベースが最も難しい15パズルインスタンスでわずかな高速化をもたらします。学術論文には有用ですが、製品リリースには些末な改善です。

実際のアプリに搭載されるもの

ヒント生成のためにソルバーが必要なモバイルアプリは、ほぼ常に次の構成に行き着きます:

これが落ち着いたスマホアプリのための適切なスタックです。Slide Puzzleのヒントボタンはまさにこの方法で動作しています。