数独ソルバーの使い方
使い方はとてもかんたんです。上の空の 9×9 グリッドはふつうの数独と同じ動きをします。マスをタップしてから数字パッドの数字を選びます(物理キーボードでも構いません)。最初から書かれている「ヒント」の数字をすべて入れて、残りのマスは空のままにしてください。
-
ヒントを入力する
各マスをクリックして、印刷された数独に書かれている数字を入力します。間違えたら、同じ数字をもう一度クリックして消すか、Backspace / Delete を使ってください。
-
競合をチェックする
ソルバーは同じ行・列・3×3 ブロック内で重複した数字を赤で示します。解答を求める前に競合を解消してください。たいていは数字を間違ったマスに入れてしまっていることが原因です。
-
「解く」を押す
「解く」ボタンをクリックします。アルゴリズムが空のマスをすべてミリ秒単位で埋めます。あなたが入力した数字は黄色背景で、ソルバーが見つけた数字は緑色で表示されます。
-
結果を読み取る
完全な解答が表示されます。途中まで解いていた数独と見比べてミスを探すか、答え合わせに使うことができます。
-
やり直す
「クリア」を押すとグリッドが空になり、別の数独を入力できます。「例題」を押すとデモ用の数独が読み込まれ、ソルバーの動きを見られます。
数独ソルバーはどう動いているの?
当ソルバーは「バックトラッキング」と呼ばれる手法を使っています。ほとんどの数独プログラムの基本となる同じアルゴリズムです。「解く」を押したときに何が起きているのか、簡単に説明します。
アルゴリズムはグリッドを上から下、左から右の順にたどって最初の空マスを探します。まず数字 1 を置いてみます。1 が数独のルール(同じ行・列・3×3 ブロックで重複しないこと)を破らなければ、次の空マスへ進んで同じことを繰り返します。1〜9 のどの数字も入らない場合は、アルゴリズムは「戻って」直前のマスへ戻り、次の数字を試します。グリッドが埋まるか、すべての可能性を試し尽くすまでこの工程が続きます。
バックトラッキングは深さ優先探索の一種です。最悪の場合は何十億通りもの組み合わせを調べることになりますが、数独のルールが探索木を強力に枝刈りするため、最難関の 9×9 でも現代の端末ならミリ秒単位で解けます。
もっと高度なソルバーはバックトラッキングに追加の論理を組み合わせます。ネイキッドシングル、ヒドゥンシングル、ネイキッドペア、ポインティングペア、ボックス/ライン削減、X-Wing といったテクニックは、総当たり探索が始まる前にマスを埋めることができます。当ソルバーは純粋なバックトラッキングだけに頼ってシンプルかつ高速に動作します。新聞やネット上のどんな数独にも十分です。
バックトラッキング法 — ステップごとに解説
アルゴリズムを詳しく知りたい方のために、当ソルバーが内部で行っていることを正確に説明します。
-
次の空マスを見つける
1 行目から 9 行目まで、左から右へ順にすべてのマスを調べます。値が 0(空)の最初のマスが対象です。
-
候補をひとつずつ試す
そのマスで 1 から 9 までの数字を順に試します。各数字について、同じ行・列・3×3 ブロックにすでに存在しないかを確認します。
-
有効な数字を置く
その数字が既存の数字と競合しなければ、マスに置いて次の空マスへ進みます(ステップ 1 に戻ります)。
-
行き詰まったら戻る
現在のマスに 1〜9 のどの数字も置けない場合、その数独は袋小路です。直前に置いた数字を消し(0 に戻し)、ひとつ前のマスへ戻って次の候補を試します。
-
解けるまで繰り返す
空マスがなくなるまで続けます。グリッドが埋まれば解答が見つかったということです。アルゴリズムが最初のマスまで戻ってもどの候補も使えない場合、その数独には解がありません。
数独ソルバーはいつ使えばいい?
ソルバーは道具です。計算機が計算の手助けをしたり、スペルチェッカーが文章を助けたりするのと同じです。上手に使えば学習にも役立ちます。よい使いどころをいくつか挙げます。
- **答え合わせをする** — 数独を解き終え、公式の解答を見る前にすべての数字が正しいか確認したいとき。
- **間違えた場所を探す** — 行き詰まっていて、前の手順で間違えた気がするとき。解答グリッドと自分の進行状況を比べれば、ミスがすぐに見つかります。
- **新しいテクニックを学ぶ** — 自分で解けるところまで解き、残りはソルバーに任せます。解答から逆にたどって、どの論理を見落としていたのか理解しましょう。
- **自作の数独を検証する** — 自分で数独を作ったり(あるいはクラス向けに作ったり)するなら、ソルバーを使えば有効で唯一の解を持っているか確認できます。
- **印刷された数独を解く** — 印刷用の数独 や、解答が載っていない新聞の数独に行き詰まったときは、ヒントを入力すれば答えが分かります。
人間はどうやって解くのか
コンピューターのソルバーは力ずくのバックトラッキングを使います。人間は 1 秒に何百万通りも試せないので、論理的なテクニックに頼ります。これらを理解すれば、数独プレイヤーとしてずっと上達します。
- **ネイキッドシングル** — そのマスの行・列・ブロックに現れる数字をすべて消したあと、候補がただひとつだけ残るマスです。最も基本的なテクニックで、初心者が最初に学ぶものです。
- **ヒドゥンシングル** — 行・列・ブロックの中で、ある数字が入る場所がただひとつのマスしかありません。そのマスに複数の候補があってもです。他に置き場のない数字を探しましょう。
- **ネイキッドペア/トリプル** — 同じユニットの 2 つのマスがちょうど同じ 2 つの候補を共有します。これらの数字はそのマスに「縛りつけられて」いるので、同ユニットの他のマスからは消せます。トリプルにも同じ考え方が広がります。
- **ポインティングペア** — ブロックの中である候補が 1 行(または 1 列)にしか現れないとき、その数字はその行(または列)のブロック外には現れません。
- **ボックス/ライン削減** — ポインティングペアの逆です。ある行(または列)の中で、ある候補が 1 つのブロックの中だけに現れる場合、その数字はそのブロックの他のマスから消せます。
- **X-Wing** — ある候補が 2 つの異なる行のちょうど 2 つのマスに現れ、それらのマスが同じ 2 つの列にある場合、その候補はそれらの列の他のすべてのマスから消せます。
数独に必要なヒントの数は?
有効な 9×9 数独はちょうど 1 つの解を持たなければなりません。一意の解を保証するために必要な最小ヒント数は 17 個であることが数学的に示されています。16 個のヒントで一意の解を持つ数独はこれまで見つかっておらず、2012 年にダブリン大学のゲイリー・マクグワイア氏らのチームが計算によってそのような数独が存在しないことを証明しました。
実際に出版される数独はほとんどが 22〜36 個のヒントを持ちます。やさしいものは 36〜40 個の数字が示されていて、グリッドの半分しか埋める必要がないこともあります。難しいものは 22〜24 個しか示されておらず、長い論理の連鎖が必要になります。
当ソルバーは解こうとする前に少なくとも 17 個の数字を入力してもらいます。それより少ないと、その数独はほぼ確実に複数の解を持つので、ソルバーはもっとヒントを入れてほしいとお願いします。
数独を入力するときのよくあるミス
ソルバーが「解が見つかりません」と言う一番よくある理由は入力ミスです。代表的な犯人はこちらです。
- **数字の取り違え** — 9 のかわりに 6、7 のかわりに 1 などを入力すること。ソルバーが赤く示したマスをよく確認してください。
- **行や列の間違い** — 数字を本来より 1 マス左や右に置いてしまうこと。グリッドの端から注意深く数えてください。
- **ヒントの入れ忘れ** — 印刷された数独の数字を見落とすこと。ソルバーが期待と違う答えを返すときは、ヒントを 1 つ忘れているのが原因のことがよくあります。
- **自分の推測を入力してしまう** — もとからあるヒントだけを入力してください。すでに自分で導き出した数字は入れないでください。推測のどれかが間違っていたら、ソルバーは失敗します。
クラシックな 9×9 を超えるソルバー
バックトラッキング法は標準の 9×9 グリッドだけでなく、制約に基づくどんなパズルでも使えます。同じアルゴリズムが解けるものは次の通りです。
- **4×4 と 6×6 のグリッド** — 小さなお子さん向けの小さな数独です。4×4 数独 と 6×6 数独 を遊んでみてください。
- **キラー数独** — 各ケージが指定された合計になる必要があります。数独の論理に少しの算数を組み合わせる必要があります。キラー数独 で遊べます。
- **ジグソー数独** — ブロックが長方形ではなく不規則な形をしています。行と列のルールはそのままです。ジグソー数独 で遊べます。
- **16×16 や 25×25 のグリッド** — 数字に加えて文字や 16 進数の桁を使う巨大数独です。同じバックトラッキング法が機能しますが、サイズに応じて解く時間は増えます。
- **サムライ数独** — 角のブロックを共有して重なり合った 5 つの 9×9 グリッドです。ソルバーは共有マスを 2 つのグリッドに同時に属するものとして扱います。
いまのところこのソルバーは標準の 9×9 グリッド向けに作られています。これがいちばん人気のサイズです。今後、別のバリアントへの対応を追加する可能性があります。
解くより遊びたい?
よくある質問
この数独ソルバーは本当に無料ですか?
はい、完全に無料です。登録は不要で、グリッドの上に広告も出ません。利用回数の制限もありません。何度でも好きなだけ使ってください。
ソルバーはどれくらい速いですか?
ソルバーはバックトラッキング法を使い、たいていは 10 ミリ秒もかからずに解を見つけます。ほぼ瞬時です。知られている最難関の 9×9 でも一瞬で解けます。
どんな 9×9 数独でも解けますか?
はい。有効な解が存在するなら、ソルバーはそれを見つけます。解がない場合(たとえば入力ミスのとき)は知らせてくれます。複数の解がある場合(ヒントが少なすぎるとき)はそのうちのひとつを返します。
なぜ「解が見つかりません」と言うのですか?
ほとんどの場合、数字をどこかのマスに間違って置いていることを意味します。赤い競合を確認するか、グリッドをクリアして注意深く数独を入力し直してみてください。
最小のヒント数は何個ですか?
一意の解を持つ有効な 9×9 数独には少なくとも 17 個のヒントが必要です。これは 2012 年に数学的に証明されました。当ソルバーは解こうとする前に少なくとも 17 個の数字を入力するよう求めます。
スマホでも使えますか?
はい。グリッドと数字パッドはタッチスクリーン向けに設計されています。マスをタップ、数字をタップ、「解く」をタップ — 現代のブラウザを備えた端末ならどこでも動きます。
自分の解答を確認するのに使えますか?
もちろん使えます。元のヒントだけ(自分の推測ではなく)を入力し、「解く」を押して、結果を自分の埋めたグリッドと比べてください。
ソルバーは何のアルゴリズムを使っていますか?
バックトラッキングを使っています。これは深さ優先探索の一種で、空のマスごとに 1〜9 を試し、制約を破るとすぐに戻ります。標準的な手法で、9×9 グリッドでは非常に高速です。
キラー数独やジグソー数独も解けますか?
まだです。このソルバーは標準の 9×9 グリッド向けに作られています。キラーやジグソーには追加の制約があり、改良したアルゴリズムが必要です。将来的にバリアント用ソルバーを追加するかもしれません。
ソルバーを使うのはずるいことですか?
目的によります。学習のためなら、ソルバーは答え合わせや間違えた場所を見つけるのに最適です。大会や時間制限のあるチャレンジなら意味がありません。まずはメインゲームの「ヒント」機能を試すのがおすすめです。1 マスずつしか教えてくれないので、残りは自分で解き続けられます。
オンラインで数独を遊ぶ
解き終わりましたか? 無料の数独で遊んでみましょう。