矩形頂點刪減法

(X-Wing)

概說
  • 遇到了高級、困難級的數獨謎題,使得唯一候選數法 隱性唯一候選數法黔驢技窮的時候,就是各種刪減法上場的時機了。在各種的刪減法中,哪一個要先用 是隨個人之喜好的,並無限制。本頁介紹的例子當然可用其他刪減法完成解題,且本刪減法成立的條件 和其他方法相比稍嫌繁雜,但為了介紹,在進行解題時還是要以矩形頂點刪減法優先囉!
    <圖 1>
  • 請看<圖 1>的第 1 列及第 9 列,數字 8 都只出現在第 5、8 行的宮格候選數中;這時,數字 8 在此二列的 填入只有下列兩種情形:
    1. 第 1 列的數字 8 若填到 (1, 5) 中、則第 9 列的數字 8 就只能填到 (9, 8) 了。
    2. 第 1 列的數字 8 若填到 (1, 8) 中、則第 9 列的數字 8 就只能填到 (9, 5) 了。
    不論哪一種情況發生,都表示第 5 行及第 8 行的數字 8 已有歸屬了,所以 ( 2, 5 )∼( 8, 5 ) 及 ( 2, 8)∼( 8, 8 ) 都不能再填入數字 8 了,可以毫不考慮的自它們的候選數中把數字 8 刪減掉, 於是(3, 5)、(6, 5)和(3, 8)、(7, 8)這四個宮格候選數中的 8 都可被安全的刪減掉;而當(6, 5)的候選數少了數字 8 後,將使得(6, 6)出現列隱性唯一候選數 8 ,於是 可用隱性唯一候選數法來填入下一個解了。
  • 整理一下:
    1. 當某個數字在某兩列僅出現在相同的兩行時,就可以把這兩行其他宮格候選數中的該數字刪減掉。
    2. 同理,當某個數字在某兩行僅出現在相同的兩列時,就可以把這兩列其他宮格候選數中的該數字刪減掉。
  • 利用「找出某個數字在某兩列僅出現在相同兩行的情形,進而將該數字自這兩行其他宮格候選數中刪減掉」; 或「找出某個數字在某兩行僅出現在相同兩列的情形,進而將該數字自這兩列其他宮格候選數中刪減掉」的方法 就叫做矩形頂點刪減法(X-Wing)。因為本刪減法的條件成立時,關鍵的數字 8 所處的宮格在數獨方陣上看來,剛好就在一個矩形的頂點。
  • 遇到了高級、困難級的數獨謎題,使得唯一候選數法 隱性唯一候選數法黔驢技窮的時候,雖然你可以優先使用矩形頂點刪減法來尋找下一個解;但大部分的人在 使用刪減法的優先順序上,通常都會將矩形頂點刪減法排在稍後一點,為什麼要如此安排,在實際使用一段時間之後, 相信你自能體會了,但這個方法又是不可或缺的,如果不會運用本刪減法,有很多高級的數獨謎題就將無解了。
矩形頂點刪減法示例
  • 矩形頂點刪減法只有 2 種狀況:第一種的刪減發生在行、第二種的刪減發生在列。<圖 1> 就是 刪減發生在行的例子了,第二種的情況舉例如下:
    <圖 2>
  • <圖 2> 是矩形頂點刪減發生在列的例子:圖中第 2 行、第 8 行的數字 3 只出現在第 1 列及第 2 列, 所以數字 3 在第 2 行及第 8 行的填入只有下列兩種情況:
    1. 第 2 行的數字 3 若填到 (1, 2) 中、則第 8 行的數字 3 就只能填到 (2, 8) 了。
    2. 第 2 行的數字 3 若填到 (2, 2) 中、則第 8 行的數字 3 就只能填到 (1, 8) 了。
    不論下列哪一種情況發生,都表示第 1 列及第 2 列的數字 3 已有歸屬,這兩列其它的宮格將不能再 填入數字 3 了,所以可以將數字 3 自(1, 3)、(1, 5)及(2, 1)、(2, 4)、(2, 5)的候選數中安全的 刪減掉,而當(2, 4) 的候選數由 2、3、4、6 刪減成 2、4、6 時;(3, 4)將出現行隱性唯一候選數 3 啦!
    <圖 3>
  • <圖 3> 也是一個刪減法綜合運用的例子。在(1, 8)中將可找到下一個解,你能找出來嗎?
    1. 因為上中九宮格的數字 1 只發生在(2, 4)∼(2, 6) 這一個區塊,所以可以利用區塊刪減法 把(2, 7)∼(2, 9)候選數中的數字 1 安全的刪減掉。
    2. 因為第 1 行及第 7 行的數字 1 只出現在第 4 列及第 9 列,所以可以利用矩形頂點刪減法 把(4, 3)及(9, 6)、(9, 8)、(9, 9)候選數中的數字 1 安全的刪減掉。
    經過以上刪減之後,(1, 8)出現行隱性唯一候選數 1 啦!
 
 
 
本網頁建置日期:94.09.06 | 最近更新日期:94.09.06  | 回上頁 | 回首頁 |