W-Wing 数独 - 強リンクで結ばれた 2 マスから候補を除外する
W-Wing は 2 つの「双候補マス (bi-value cell)」を強リンクで結び、特定の候補を除外する上級テクニックである。XY-Wing が 3 マス構成なのに対し、W-Wing は 2 マスと中継ユニットの組合せで成立する。本記事では強リンク概念の理解から実践的な発見手順までを段階的に解説する。
W-Wing の基本構造
W-Wing は次の構成で成立する。2 つのマスがどちらも候補 {X, Y} の双候補マス (bi-value cell) であること。この 2 マスは行・列・ブロックを共有しない離れた位置にあって構わない。両者を結ぶ「強リンク」が存在すること - 具体的には、ある行・列・ブロックの中で X (または Y) の候補位置がちょうど 2 マスに限定され、その 2 マスがそれぞれ「2 つの双候補マスから X (または Y) で見える位置」にあること。この構造が成立すると、両方の双候補マスを同時に見える第三のマスから X と Y のどちらか (具体的には強リンクで結ばれていない方の数字) を除外できる。W 字型の論理構造から W-Wing と呼ばれる。
強リンクとは何か
W-Wing を理解するには「強リンク (strong link)」の概念が不可欠である。強リンクとは「特定の数字 X が、あるユニット内でちょうど 2 マスにしか入りえない」状態を指す。この 2 マスは「一方が X なら他方は X でない、他方が X なら一方は X でない」という排他関係を持つ。<a href="/ja/articles/sudoku-coloring-technique/">カラーリング</a>テクニックで使う共役ペアと同じ概念である。一方、「弱リンク (weak link)」は「2 マスのうち一方が X なら他方は X でない」だけで、両方が X でない可能性も許容する。強リンクは「必ずどちらか一方が X」、弱リンクは「両方 X はあり得ない」というニュアンスの違いがある。W-Wing は強リンクのみで構成される。
なぜ候補を除外できるのか
論理を分解しよう。2 つの双候補マス A, B (どちらも候補 {X, Y}) が、X について強リンクで結ばれているとする。これは「X はある中継ユニットでちょうど 2 マスに限定され、その 2 マスはそれぞれ A と B から見える位置にある」という意味である。仮に A が Y なら、A の影響で中継ユニットの X 候補位置の片方が無効化され、もう一方が X に確定する。その確定した X は B から見える位置にあるため、B から X が排除され、B は Y に確定する。逆に A が X なら、A 自体が中継ユニットへの制約を加え、結局 B は Y に確定する。つまり「A が X でも Y でも、B は必ず Y に向かうか、A 自体が X」となる。整理すると、A と B のどちらか少なくとも一方が Y であることが保証される。よって、A と B の両方を見ることができる第三のマスからは Y を除外できる。
XY-Wing との違い
<a href="/ja/articles/xy-wing-technique/">XY-Wing</a> と W-Wing は、共に「双候補マス」を扱う上級テクニックだが、構造が根本的に異なる。XY-Wing は 3 マス構成 (ピボット + 2 ピンサー) で、それぞれが {X,Y}, {X,Z}, {Y,Z} という異なる候補ペアを持つ。3 マスは互いに直接ユニットを共有する。一方、W-Wing は 2 マス構成で、両方が同じ {X, Y} を持つ。2 マスは直接ユニットを共有する必要がなく、強リンクという「中継的な論理関係」で結ばれる。実用的には、W-Wing のほうが盤面上で見つけやすい場合がある (双候補マスのペアを探すだけ) が、強リンクの確認に手間がかかる。両者は対照的な「双候補活用テクニック」として、Expert+ レベルの解法レパートリーに揃えておく価値がある。
実践的な発見手順
W-Wing の効率的な走査手順は以下の通りである。手順 1: 盤面上で候補が 2 つのマスを全てリスト化する。手順 2: 同じ {X, Y} 候補を持つマスのペアを抽出する。例えば候補 {3, 8} のマスが 4 つあれば、それらの中から 2 マスずつのペアを試す。手順 3: 選んだ 2 マスについて、X (例: 3) を結ぶ強リンクが存在するか確認する。具体的には、選んだ 2 マスから「3」が見える行・列・ブロックを特定し、そのユニット内で 3 の候補が 2 マスのみに限定されているか確認する。手順 4: 強リンクが見つかったら、選んだ 2 マスを同時に見える第三のマスから Y (例: 8) を除外する。手順 5: X が結ばれていない場合は Y で同じ手順を試す。手順 6: 該当ペアがなければ別の候補ペアで繰り返す。Master/Extreme レベルでは、W-Wing が他のテクニック (XY-Wing、スワードフィッシュ) より先に発見できるケースが少なくない。