解法のヒント

数独X-Wingテクニック詳解:行列をまたぐ上級排除法

2025-01-24 · 9 分で読めます

X-Wing(エックスウィング)は数独上級テクニックの中で最も古典的な方法の一つであり、難問やエキスパートレベルの数独を解くための必須スキルです。その名前は「スター・ウォーズ」のXウィング戦闘機に由来しており、このテクニックが形成するパターンが視覚的にX字型に似ているためです。核心的な考え方は:ある候補数が2つの行でそれぞれ同じ2つの列にのみ出現する場合、その候補数をそれら2列の他のセルから排除できるということです。

核心原理:
ある数字が行Aでは列Xと列Yにのみ出現し、同時に行Bでも列Xと列Yにのみ出現する場合、その数字は行Aと行Bの間で列Xと列Yのどちらかの位置を必ず占めます。したがって、列Xと列Yの他のセル(行Aと行Bにないもの)にはその数字を入れることができません。

X-Wing ルール

もしある候補数が2つの行でそれぞれ同じ2つの列にのみ出現する場合、
ならばその候補数はそれら2列の他の行(X-Wingの2行にない行)から削除できます。

この記事を読む前に、数独の行・列・ブロックの命名規則と中級テクニックを習得することをお勧めします。これにより、以下の分析例を理解しやすくなります。

X-Wing原理図
X-Wing原理:4つの候補数6が長方形の頂点を形成し、X字型の交差線が排除ロジックを示す

実例分析:行ベースX-Wing

候補数 6第3行第9行に関わる典型的なX-Wingの例を見てみましょう。

数独X-Wing例
図:第3行と第9行の候補数6がX-Wingパターンを形成
ソルバーでこの例を開く

現在の盤面データ

CSV81形式の候補数データに基づき、第3行第9行における候補数6の分布に注目します:

第3行の各セル:

  • R3C1:確定数字 5
  • R3C2:候補数 {1, 2, 6}
  • R3C3:確定数字 4(初期値)
  • R3C4:確定数字 3(初期値)
  • R3C5:候補数 {1, 2}
  • R3C6:候補数 {1, 2, 9}
  • R3C7:確定数字 7(初期値)
  • R3C8:候補数 {1, 6, 9}
  • R3C9:確定数字 8(初期値)

第9行の各セル:

  • R9C1:確定数字 4(初期値)
  • R9C2:候補数 {6, 9}
  • R9C3:確定数字 3(初期値)
  • R9C4:候補数 {1, 2}
  • R9C5:確定数字 8
  • R9C6:候補数 {1, 2}
  • R9C7:確定数字 5
  • R9C8:候補数 {6, 9}
  • R9C9:確定数字 7

第2列の確認対象セル(排除対象):

  • R1C2:候補数 {1, 2, 3, 6}
  • R4C2:候補数 {2, 3, 4, 6}
  • R8C2:候補数 {1, 2, 6, 8, 9}

第8列の確認対象セル(排除対象):

  • R8C8:候補数 {1, 2, 6, 9}

分析過程

1 第3行を観察:第3行では、候補数 6 は2つの位置にのみ出現:R3C2(候補数1,2,6)とR3C8(候補数1,6,9)。
2 第9行を観察:第9行でも、候補数 6 は2つの位置にのみ出現:R9C2(候補数6,9)とR9C8(候補数6,9)。
3 X-Wingパターンを発見:候補数6は第3行と第9行の両方で第2列と第8列にのみ出現し、長方形の4つの頂点を形成:R3C2R3C8R9C2R9C8。これがX-Wingパターンです。
X-Wing 長方形パターン
X-Wing Pattern

4つの6が長方形の頂点を形成、X字型の交差線が排除ロジックを示し、赤い矢印が排除方向を示す

4 推論ロジックを理解:第3行の6はR3C2またはR3C8にしか入れず、第9行の6はR9C2またはR9C8にしか入れないため、2つのケースがあります:
  • ケース1:R3C2が6なら、第9行は R9C8 にのみ6を入れられる
  • ケース2:R3C8が6なら、第9行は R9C2 にのみ6を入れられる

どちらの場合でも、第2列と第8列の6は第3行と第9行に占められます

5 排除を実行:したがって、第2列の第3行と第9行以外のセルには6を入れられず、第8列の第3行と第9行以外のセルにも6を入れられません。具体的には:
  • R1C2:候補数 6 を削除(1,2,3を保持)
  • R4C2:候補数 6 を削除(2,3,4を保持)
  • R8C2:候補数 6 を削除(1,2,8,9を保持)
  • R8C8:候補数 6 を削除(1,2,9を保持)
結論:
X-Wing:第3行と第9行では、候補数 6R3C2R3C8R9C2R9C8 にのみ出現(すべて第2列と第8列)。
操作:R1C2R4C2R8C2R8C8 から候補数 6 を削除。

X-Wingの2つの形式

X-Wingには2つの対称的な形式があります:

1. 行ベースX-Wing(Row-based X-Wing)

上記の例がこのケースです:

  • 観察対象:2つの行
  • パターン特徴:ある候補数がこれら2行でそれぞれ同じ2列にのみ出現
  • 排除対象:それら2列の他の行からその候補数を削除

2. 列ベースX-Wing(Column-based X-Wing)

逆の形式ですが原理は同じ:

  • 観察対象:2つの列
  • パターン特徴:ある候補数がこれら2列でそれぞれ同じ2行にのみ出現
  • 排除対象:それら2行の他の列からその候補数を削除
記憶のコツ:
行ベースX-Wingは列から排除、列ベースX-Wingは行から排除。
X-Wingが2行で見つかった場合は列から排除し、2列で見つかった場合は行から排除します。これは、候補数の位置が行(または列)で固定されると、対応する列(または行)が占められるためです。

X-Wingの見つけ方

X-Wingを見つけるには系統的な観察が必要です:

1 候補数を選択:1つの候補数(1-9のいずれか)に集中し、それぞれを分析します。
2 候補位置が2つしかない行(または列)を探す:その候補数が2つのセルにのみ出現する行(または列)を見つけます。
3 ペアを探す:別の行(または列)でもその候補数が2つのセルにのみ出現し、しかも同じ2つの列(または行)にあるかどうかを確認します。
4 X-Wingパターンを確認:そのような2行(または2列)が見つかれば、X-Wingパターンが形成され、長方形の4つの頂点ができます。
5 排除を実行:対応する列(または行)の他のセルからその候補数を削除します。
注意事項:
  • X-Wingにはちょうど2行(または2列)が必要で、各行(または列)で候補数がちょうど2つの位置に出現する必要があります
  • 両方の行(または列)での候補数の列(または行)位置は完全に同じでなければなりません
  • 1行で候補数が3つ以上の位置に出現する場合、X-Wingは形成できません
  • X-Wingは行列をまたぐテクニックであり、ブロックの概念は関係しません
  • X-Wingを見つけるには時間がかかるため、中級テクニックをすべて使い切った後に試すことをお勧めします

X-Wingと他のテクニックとの関係

X-Wing vs ボックスライン排除法

両方とも行列関係を扱いますが、レベルが異なります:

  • ボックスライン排除法:単一のユニット(行/列/ブロック)内を観察し、行列とブロックの交差を利用
  • X-Wing:2つのユニットをまたいで観察し、2つの行(または列)間の対称関係を利用

X-Wingの拡張

X-Wingはより複雑な形式に拡張できます:

  • Swordfish(ソードフィッシュ):3行3列の拡張版
  • Jellyfish(ジェリーフィッシュ):4行4列の拡張版

これらのテクニックはX-Wingと同じ原理ですが、関係する行列の数が多いため、識別が難しくなります。

テクニックまとめ

X-Wingテクニックの要点:

  • 観察次元:行列をまたぐ観察、長方形の対称パターンを探す
  • 識別条件:ある候補数が2行(または2列)でそれぞれ同じ2列(または2行)にのみ出現
  • パターン形成:4つの候補位置が長方形の4つの頂点を形成
  • 排除ルール:行ベースX-Wingは列から排除、列ベースX-Wingは行から排除
  • 適用シーン:中級テクニックで突破できない時の上級解法手段
  • 識別難易度:各候補数の分布を系統的に分析する必要があり、時間がかかる
実戦アドバイス:
X-Wingは実戦では珍しいですが、難問では突破の鍵となることが多いです。アドバイス:
  • まずすべての中級テクニック(ネイキッドペア、トリプル、ヒドゥンペアなど)を使い切る
  • 候補数の少ない数字を分析(例:候補位置が5-6個しかない数字)
  • 候補数マーキング機能を使用して、分布パターンを見やすくする
  • メモや下書き用紙を使って、各数字の行列分布を記録する

練習のアドバイス

X-Wingテクニックを習得するためのアドバイス:

  • 解題時に各候補数の行列分布を系統的にチェックする
  • 異なる色を使って候補数をマークし、対称パターンの視覚的識別を助ける
  • 高難度の問題に遭遇したら、まず中級テクニックを使い、次に積極的にX-Wingの機会を探す
  • 用語を覚えるよりも原理を理解することが重要、「なぜ排除できるのか」を理解する
すぐに練習:
難易度「難しい」の数独ゲームを始めて、X-Wingテクニックを探して適用してみましょう!