← StudyX Devlog

ナンプレの上級テクニック:予約・X-Wingなど

Hiroki ObaraHiroki Obara · DeveloperSudoku365使い方
ナンプレの上級テクニック:予約・X-Wingなど

ナンプレを続けていると、ある所で急に進めなくなる問題に出会います。ブロックで数字の場所を探しても、マスに入る数字を探しても、メモを全部見直しても、次の1マスが決まらない。基本の手筋をひと通り覚えたあとに来る壁です。

この記事では、その壁の先で使う手筋を、覚える順番に並べました。基本の手筋(ブロックや行・列で数字の場所を探す、マスに入る数字を探す、ブロックと行・列の関係、2つのマスの組)は ナンプレの解き方:初心者が最初に覚える基本の手筋 に書いたので、そこまでは知っているものとして進めます。ここから先の手筋は、どれもメモ(候補)を書いていることが前提です。メモの書き方は ナンプレのメモ(候補数字)の書き方 に書きました。

言葉は前の記事と同じです。横の並びを「行」、縦の並びを「列」、3×3の太枠を「ブロック」、あるマスに入る可能性のある数字を「候補」と呼びます。図はすべて私が作ったもので、説明に必要な候補だけを書いています。

名前の対応

上級の手筋には英語の名前がそのまま使われることが多いので、先に対応を書いておきます。

この記事での呼び方 英語名
予約 (決まった英語名はない)
ダブル予約(隠れた2つの組) Hidden Pair
3つのマスの組 Naked Triple / Hidden Triple
X-Wing X-Wing
ソードフィッシュ Swordfish
XY-Wing XY-Wing(Y-Wing とも)

1. 予約

日本のナンプレの解説では、「予約」という言葉がよく使われます。指す範囲は解説によって少し違いますが、この記事では、あるブロックの中で、ある数字の入るマスが2つに絞られた状態を「予約」と呼びます。どちらに入るかはまだ分からないけれど、その数字の席は2つのマスに予約された、という意味です。

予約は、それだけではマスを決めません。けれども、予約が見えていると、基本の手筋の「ブロックと行・列の関係」に気づきやすくなります。予約された2マスが同じ行にあれば、その行のほかのブロックからは、その数字を消せるからです。

予約を見つけたら、マスの隅に小さく書いておくとよいと思います。メモを全部書かずに、予約だけを書いていく解き方もあります。

2. ダブル予約

予約が本当に役に立つのは、同じ2つのマスに、2つの数字の予約が重なったときです。

あるブロックで、4の入るマスが A と B の2つだけ、6の入るマスも A と B の2つだけだとします。4と6は、どちらも A か B に入ります。2つの数字が2つのマスを使い切るので、A と B には4と6以外の数字は入りません。A と B のメモにほかの数字が書いてあれば、消せます。

前の記事の「2つのマスの組」は、マスの側から見た手筋でした。候補が「2と6」だけのマスが2つあれば、ほかのマスから2と6を消せる。ダブル予約は、その逆で、数字の側から見た手筋です。英語では Hidden Pair、隠れた組と呼ばれます。A と B のメモにほかの候補がたくさん書いてあると、組になっていることが見えにくいからです。

3. 3つのマスの組

2つのマスの組は、3つに広げられます。

同じ行の3つのマスで、候補が「1と4」「4と7」「1と7」だったとします。どのマスにも、1・4・7のどれかしか入りません。3つのマスで3つの数字を使い切るので、その行のほかのマスには1も4も7も入りません。

ここで気をつけたいのは、3つのマスのそれぞれに、3つの数字が全部書かれている必要はないことです。3つのマスの候補を合わせて、ちょうど3種類の数字になっていれば成り立ちます。2つのマスの組より見つけにくいのは、このためだと思います。

ダブル予約と同じように、数字の側から見る形もあります。ある行で、1・4・7の3つの数字が入れるマスが、合わせて3つしかなければ、その3つのマスにはほかの数字は入りません。

4. X-Wing

ここからは、ひとつの数字だけに注目する手筋です。

ある数字、たとえば7について、2行目で7が入れるマスが2つだけ、6行目でも7が入れるマスが2つだけだとします。しかも、その2つのマスが、どちらの行でも同じ列、3列目と8列目にあるとします。

       1 2 3   4 5 6   7 8 9
1行目  ・ ・ ・ | ・ ・ ・ | ・ × ・
2行目  ・ ・ ◎ | ・ ・ ・ | ・ ◎ ・
3行目  ・ ・ ・ | ・ ・ ・ | ・ ・ ・

4行目  ・ ・ × | ・ ・ ・ | ・ ・ ・
5行目  ・ ・ ・ | ・ ・ ・ | ・ ・ ・
6行目  ・ ・ ◎ | ・ ・ ・ | ・ ◎ ・

7行目  ・ ・ ・ | ・ ・ ・ | ・ ・ ・
8行目  ・ ・ ・ | ・ ・ ・ | ・ × ・
9行目  ・ ・ × | ・ ・ ・ | ・ ・ ・

◎が、2行目と6行目で7が入れるマスです。2行目の7は、3列目か8列目のどちらかに入ります。6行目の7も、3列目か8列目のどちらかです。そして、同じ列に7は1つしか入らないので、2行目が3列目なら6行目は8列目、2行目が8列目なら6行目は3列目になります。

どちらの場合でも、3列目の7と8列目の7は、2行目と6行目で使い切られます。だから、3列目と8列目のほかのマス、図の×のマスからは、7の候補を消せます。

4つの◎を線で結ぶと、長方形になります。X-Wing を探すときは、ある数字の候補がちょうど2つしかない行を探し、同じ列の組み合わせになっている行がもう1つないかを見ます。行と列を入れかえても同じことが成り立ちます。列で2つずつに絞られていれば、その2つの行から消せます。

5. ソードフィッシュ

X-Wing を3行に広げたものが、ソードフィッシュです。

ある数字の候補が、3つの行で、それぞれ2つか3つのマスにしかなく、それらのマスを合わせると3つの列に収まっているとします。3つの行の、その数字は、3つの列で使い切られます。だから、その3つの列のほかのマスから、その数字を消せます。

3つのマスの組と同じで、3つの行のどれもが3つの列すべてに候補を持っている必要はありません。行ごとに2つずつでもかまいません。そのぶん見つけにくく、私は、X-Wing に慣れてから探すくらいでちょうどよいと考えています。

6. XY-Wing

最後は、3つのマスの候補をつないで考える手筋です。

候補が2つだけのマスを3つ使います。真ん中のマスの候補が「A と B」、その真ん中と同じ行・列・ブロックのどれかにあるマスの1つが「A と C」、もう1つが「B と C」だとします。

真ん中が A なら、「A と C」のマスは A になれないので C になります。真ん中が B なら、「B と C」のマスが C になります。どちらにしても、両はしの2つのマスのどちらかは必ず C です。だから、両はしの2つのマスの両方と同じ行・列・ブロックにあるマスには、C は入りません。そこのメモから C を消せます。

実際の数字で言えば、真ん中が「3と5」、両はしが「3と8」と「5と8」なら、両方から見えるマスから8を消せます。

XY-Wing は、候補が2つだけのマスを探すところから始まります。メモが整っていないと見つからないので、それまでの手筋で候補をしっかり減らしておくことが大事です。

覚える順番

私のおすすめの順番は、次のとおりです。

  1. 予約とダブル予約
  2. 3つのマスの組
  3. X-Wing
  4. XY-Wing
  5. ソードフィッシュ

予約は、メモを書く量を減らしながら使えるので、最初に覚えると、その後の手筋の土台になります。X-Wing は形がはっきりしているので、名前の付いた上級の手筋の中では見つけやすいほうだと思います。ソードフィッシュは X-Wing の延長ですが、見つけるのがむずかしいので最後にしました。

この先にも、候補のつながりを長くたどる手筋がたくさんあります。英語のサイト SudokuWiki には、X-Wing、ソードフィッシュ、XY-Wing、隠れた組 をはじめ、多くの手筋の説明と例があります。

上級の手筋は、当てずっぽうで数字を入れる代わりに、理由をもって候補を減らすための道具です。それでも進めないときは、新しい手筋を探す前に、メモに間違いがないかを疑うのがよいと思います。行き詰まったときの見直し方は ナンプレで行き詰まったときの見直し方 に書きました。

Sudoku365 の難易度と上級の手筋

Sudoku365 は、私が作っているナンプレのアプリです。iPhone、iPad、Android で遊べます。「かんたん」「ふつう」「むずかしい」「エキスパート」の4つの難易度に300問ずつ、計1200問が入っています。

収録している問題を手筋ごとに解いて確かめたところ、「むずかしい」の300問は、基本の手筋に、ダブル予約と、2つ・3つのマスの組を加えれば、すべて最後まで解けました。この記事の1から3までが「むずかしい」の範囲だと考えてよいと思います。

「エキスパート」では、この記事の手筋を全部使っても、最後まで解き切れるのは300問のうち1割ほどでした。X-Wing や XY-Wing が途中で効く問題はありますが、多くの問題では、さらに先の手筋か、ねばり強い読みが必要になります。上級の手筋を覚えたら、まず「むずかしい」で予約と組を確実に使えるようにして、それから「エキスパート」で X-Wing や XY-Wing を探してみるのがよいと思います。

「メモ」をオンにすると候補を書けて、設定の「メモから数字を消す」(初期はオン)にしておくと、数字を決めたときに関係するマスのメモが自動で消えます。上級の手筋はメモが正しいことが前提なので、この設定は役に立つと思います。マスを選ぶと、同じ行・列・ブロックと同じ数字のマスがハイライトされるので、X-Wing の行と列も追いやすくなります。

アプリは無料で、広告が入ります。「広告を削除」の買い切り(300円)で広告を消せます。速く解くための見る順番は ナンプレを速く解くコツ に書きました。

App Store でダウンロード Google Play で手に入れよう