準備好了嗎?

開始玩數獨!

矩形排除法 Rectangle Elimination

進階經典 + 殺手第 13 步,共 38 步閱讀約 1 分鐘

矩形排除法(Rectangle Elimination)針對單一數字,利用一個宮的形狀,影響離它很遠的格子。名稱來自讓它成立的 4 格空矩形。它通常只排除一個候選數,卻常常是打開僵局的那一個。

這個模式是什麼

選一個數字,看一個宮。如果這個數字在宮內的所有剩餘位置,都落在宮內的一列加一行上(十字形),那麼不在這兩條線上的 4 個格子就都不含它。這 4 格就是空矩形。所選的列與行交會的格子是樞紐格。

樞紐格給你一個保證:這個數字無論填在宮內哪裡,不是在樞紐格所在列,就是在樞紐格所在行。不在其中一條,就必定在另一條。

接著在別處加上同一數字的強鏈:一個區域裡這個數字只剩兩個位置。把鏈的一端放在樞紐格所在列、宮的外面。另一端位於它自己的某條線上,那條線與樞紐格所在行交會之處,就是目標格。

如果目標格填了這個數字,宮內樞紐格所在行的位置就都被清掉,數字只能落在宮內樞紐格所在列。這會讓強鏈靠近的那一端失效,所以遠端必須填這個數字,而遠端看得到目標格。矛盾,因此目標格要刪去這個候選數。

鏈接到樞紐格所在列鏈接到樞紐格所在行
鏈的近端在樞紐格所在列,宮的外面在樞紐格所在行,宮的外面
遠端在它自己的某一列在它自己的某一行
目標格那一列與樞紐格所在行的交會處那一行與樞紐格所在列的交會處

什麼時候該找它

  • 某個數字在宮內只剩 2 到 3 個候選位置,而且集中在一列和一行上。
  • 你已經有這個數字的共軛對:著色法用的強鏈,可以直接接進這個模式。
  • 魚形掃描失敗之後。矩形排除法能抓到標準 X-Wing 抓不到的形狀。

一步一步怎麼做

  1. 選一個數字,以及一個還沒放入它的宮。
  2. 檢查它在該宮的所有候選數,是否都落在宮內的一列加一行之內。如果這些線以外的 4 個格子都沒有它,就有空矩形。
  3. 在該列與該行交會處標出樞紐格。兩條臂都該至少有一個候選數,否則這個宮只是鎖在一條線上,用宮列排除法就夠了。
  4. 沿著樞紐格所在列,在宮的外面,找一個屬於同一數字強鏈的格子。
  5. 順著鏈走到遠端,記下穿過它的那條線。
  6. 目標格就在那條線與樞紐格所在行的交會處。在那裡刪去這個數字,然後把兩條臂對調再做一次。

實例說明

  1. 較簡單的技巧都用完了。追蹤第 8 宮裡的 5。

  2. 第 8 宮的 5 只能放在 G4、G6 或 H5。其他數字已變暗。

  3. 這 3 格都在 G 列或第 5 行上,形成穿過樞紐格 G5 的十字。

    H4、H6、J4、J6 都沒有 5,它們就是空矩形。

  4. 若 G4 和 G6 都不是 5,第 8 宮的 5 就必須放在 H5。這是 G4 + G6 群組與 H5 之間的強鏈。

  5. E 列的 5 只能放在 E5 或 E9:這是一條強鏈。E5 在第 5 行上,所以看得到 H5。

  6. 若 G4 和 G6 不是 5,則 H5 是 5,E5 不是,E9 就是 5。所以 G4、G6 或 E9 之中必有一個是 5。

    G9 在 G 列看得到 G4 和 G6,在第 9 行看得到 E9,所以它不能是 5。

  7. G9 排除 5,因為它同時看得到鏈的兩端,而其中一端必定是 5。

較簡單的技巧都用完了。追蹤第 8 宮裡的 5。

只看數字 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。

常見錯誤

  • 矩形不是空的。 4 個線外的格子都必須沒有這個數字。只要多一個候選數,模式就破功。
  • 使用弱鏈。 連接用的區域必須恰好有 2 個位置放這個數字,不能是 3 個。
  • 搞混兩條臂。 強鏈從一條臂開始,排除則落在另一條臂上。重複使用同一條臂什麼也證明不了。
  • 期待放入數字。 這個模式只會排除候選數,從不直接告訴你目標格是什麼。

在哪裡會遇到

矩形排除法屬於進階策略,是鏈出現之前最後一個單一數字模式。你會在困難經典數獨用到它,它常常提供讓卡住的盤面重新動起來的那一步排除。