矩形排除法(Rectangle Elimination)針對單一數字,利用一個宮的形狀,影響離它很遠的格子。名稱來自讓它成立的 4 格空矩形。它通常只排除一個候選數,卻常常是打開僵局的那一個。
選一個數字,看一個宮。如果這個數字在宮內的所有剩餘位置,都落在宮內的一列加一行上(十字形),那麼不在這兩條線上的 4 個格子就都不含它。這 4 格就是空矩形。所選的列與行交會的格子是樞紐格。
樞紐格給你一個保證:這個數字無論填在宮內哪裡,不是在樞紐格所在列,就是在樞紐格所在行。不在其中一條,就必定在另一條。
接著在別處加上同一數字的強鏈:一個區域裡這個數字只剩兩個位置。把鏈的一端放在樞紐格所在列、宮的外面。另一端位於它自己的某條線上,那條線與樞紐格所在行交會之處,就是目標格。
如果目標格填了這個數字,宮內樞紐格所在行的位置就都被清掉,數字只能落在宮內樞紐格所在列。這會讓強鏈靠近的那一端失效,所以遠端必須填這個數字,而遠端看得到目標格。矛盾,因此目標格要刪去這個候選數。
| 鏈接到樞紐格所在列 | 鏈接到樞紐格所在行 | |
|---|---|---|
| 鏈的近端 | 在樞紐格所在列,宮的外面 | 在樞紐格所在行,宮的外面 |
| 遠端 | 在它自己的某一列 | 在它自己的某一行 |
| 目標格 | 那一列與樞紐格所在行的交會處 | 那一行與樞紐格所在列的交會處 |
只看數字 5。玩家和軟體也把這個模式稱為 Empty Rectangle:它像是一條兩節的鏈,其中一端是整個宮。
從第 8 宮(下方中間的宮)開始。這個宮的 5 只剩 3 格:G4、G6 和 H5。
現在找十字。G4 和 G6 在 G 列,H5 在第 5 行,所以三格都在 G 列或第 5 行上。這兩條線交會於 G5,也就是樞紐格(它已經填了 9)。H4、H6、J4 和 J6 都沒有 5,這就是空矩形。
十字在宮內形成一條鏈。G4 和 G6 算作一組,因為它們同在 G 列,其中任一格是 5 的效果都一樣。如果兩者都不是 5,第 8 宮的 5 就必須在 H5。這是 G4 + G6 這組與 H5 之間的強鏈。
接著,在第 5 行找第二條鏈。H5 沿著第 5 行看得到 E5,這是弱鏈:兩者不能同時是 5。E 列的 5 只剩 2 格,E5 和 E9,這是一條強鏈。
把它們串起來:如果 G4 和 G6 都不是 5,那 H5 就是 5,所以 E5 不是,E9 就是。無論如何,G4、G6 或 E9 之中總有一格是 5。目標是 G9:它沿著 G 列看得到 G4 和 G6,沿著第 9 行看得到 E9。三格之中不論哪一格是 5,G9 都不可能是。
結果只有一個變化:從 G9 刪去 5。
矩形排除法屬於進階策略,是鏈出現之前最後一個單一數字模式。你會在困難經典數獨用到它,它常常提供讓卡住的盤面重新動起來的那一步排除。