X-Wing 数独 - 上級者向け候補除外テクニックの決定版

·約 2 分で読めます

X-Wing は、2 つの行 (または列) で特定の数字の候補が同じ 2 列 (または行) にのみ存在するとき、その 2 列 (行) の他のマスから同じ数字を除外できる上級テクニックである。Master 難易度の攻略に必要な論理を解説する。

X-Wing の論理構造

X-Wing は以下の条件で成立する。特定の数字 (例えば 4) について、行 A と行 B の両方で、4 の候補が列 X と列 Y の 2 箇所にのみ存在する。この場合、4 は行 A では列 X か列 Y のどちらかに入り、行 B でも列 X か列 Y のどちらかに入る。さらに、列の制約により、行 A で列 X に入れば行 B は列 Y に、行 A で列 Y に入れば行 B は列 X に入る。いずれの場合も、列 X と列 Y には既に 4 が配置されることが確定するため、列 X と列 Y の他のマス (行 A, B 以外) から 4 を候補として除外できる。

名前の由来と視覚的理解

X-Wing の名前は、4 つの候補マスを対角線で結ぶと X 字型になることに由来する。行 A-列 X、行 A-列 Y、行 B-列 X、行 B-列 Y の 4 マスが長方形を形成し、その対角線が X を描く。この 4 マスのうち、対角線上の 2 マスに数字が入る (どちらの対角線かは未確定)。視覚的にこのパターンを認識できるようになると、発見速度が大幅に向上する。

発見のための手順

X-Wing を系統的に探すには、(1) 特定の数字について、候補が 2 箇所だけの行を全て列挙する。(2) その中で、候補の列位置が一致する行のペアを探す。(3) ペアが見つかれば X-Wing が成立し、対応する列の他のマスから候補を除外する。列を基準にした X-Wing も同様に探せる (行と列を入れ替えるだけ)。候補が正確に管理されていることが前提であり、メモの更新漏れがあると X-Wing を見逃す。

Swordfish への拡張

X-Wing は 2 行 × 2 列のパターンだが、これを 3 行 × 3 列に拡張したものが Swordfish である。3 つの行で特定の数字の候補が合計 3 列以内に収まっている場合、その 3 列の他のマスから候補を除外できる。さらに 4 行 × 4 列に拡張した Jellyfish も存在する。これらは X-Wing の一般化であり、論理的根拠は同じだが、パターンの複雑さが増すため発見が格段に難しくなる。

フィンつき X-Wing

純粋な X-Wing は 2 行で候補が正確に 2 列ずつに揃う必要があるが、実戦ではその条件をわずかに崩す余分な候補 (フィン) が紛れ込むことが多い。このとき、フィンを含む X-Wing をフィンつき X-Wing と呼ぶ。完全な除外はできないが、フィンと同じブロック内にある除外候補だけは安全に消せる。フィンが入った瞬間に X-Wing を諦めてしまう人は多いが、フィンの位置に注目すれば部分的な除外が可能になる。これは Swordfish や Jellyfish にも共通する考え方で、現実の盤面では純粋形より、フィンつきのほうが出現頻度が高い。

X-Wing でよくある誤りと検証法

X-Wing でよくある誤りは、候補が 2 つだけの行と、候補が 3 つ以上ある行を混同することだ。X-Wing が成立するのは、対象の数字の候補がちょうど 2 列にしか存在しない行どうしのペアに限られる。3 列以上に候補があればそれは X-Wing ではなく、別のテクニック (Swordfish など) の領域になる。除外を実行する前に、必ず「この 2 行で候補は本当に同じ 2 列だけか」「除外しようとしている列のマスは行 A・行 B 以外か」を確認する。メモの更新漏れがあると、成立していないパターンを誤認して盤面を壊す原因になる。

X-Wing が現れやすい盤面の特徴

X-Wing を探すべきなのは、ネイキッドシングルヒドゥンシングル・ペアやトリプルで進めるところまで進め、それでも確定マスが見つからなくなった中盤以降である。特に、ある数字の候補が盤面全体で少数の行・列に偏っているときは X-Wing の有力な候補になる。各数字について「候補がちょうど 2 マスしかない行・列」を意識的に数え上げると発見が速くなる。盤面が進んで候補が減るほど X-Wing は現れやすくなるため、序盤で焦って探すより、行き詰まりを感じてから体系的に走査するほうが効率的だ。

X-Wing と他の高度テクニックの位置づけ

X-Wing は、単一の数字に注目してマス間の関係から候補を消す魚 (Fish) 系テクニックの入り口に位置する。Swordfish や Jellyfish は X-Wing を行・列の数を増やして一般化したものであり、論理の骨格は完全に同じだ。一方、XY-WingW-Wing は複数の数字をまたいで連鎖させる別系統のテクニックで、こちらは候補が 2 つだけのマスのつながりを利用する。これらは難易度こそ上がるが、いずれも当て推量ではなく確定した論理に基づく。X-Wing をしっかり理解しておくと、より複雑な魚系・連鎖系テクニックへ進む際の足がかりになる。逆に言えば、X-Wing が見えないうちに上位テクニックへ手を出しても、土台がないため習得は難しい。論理を一段ずつ積み上げる順序を守ることが、遠回りに見えて最も確実な上達の道である。