用候選數法詳解六宮數獨遊戲01

2020-12-12 獨數96
圖M1 六宮數獨01題

圖M1是一個六宮數獨遊戲,它是一個六行、六列的數字表格,分別用英文字母A~F和阿拉伯數字1~6表示行號和列號,表格中每格也可稱為宮格。上層左右各六個宮格構成第一宮、第二宮,中層左右各六個宮格構成第三宮、第四宮,下層左右各六個宮格構成第五宮、第六宮。

遊戲的規則是,在每個空格中填入整數1~6,與題目給出的數字構成一個完整的數表,其中每行、每列、每宮的數字不重複,這就是所謂的數獨。

六宮數獨也稱六階數獨,由於數字才六個,宮格也較少,做起來比九宮數獨要輕鬆一些,適合小學、初中生練習。但也有一些六宮數獨,在解題過程中要用到候選數法這樣難度較高的技巧,更適合中小學數學競賽愛好者和喜歡邏輯推理的大學生去演練,並作為求解相應難度的九宮數獨的鋪墊。圖M1的題目就是如此,且看我來詳細解答。

為了儘量保留一些推理的趣味,我們一開始先用普通的方法解題,到了實在比較困難時才採用候選數法,因為候選數法對現有條件的信息開發能力很強,在後面你將會感受到它的優勢。閒話少敘,立即做題。

圖01

圖01來自圖M1,在A行3列的宮格中(簡稱A3,後面類同),它所在的第一宮、A行、3列其他宮格已有數字23456,由宮格數字的唯一性,就知道A3為1,這稱為唯一數法,如圖02。

圖02

在圖02中,再用唯一數法。A2所在的第一宮、A行、2列中其他格已有12356,顯然A2=4,見圖03。

圖03

對於圖03,B2所在的第一宮、B行、2列的其他格已有12456,因此B2一定是3,又是唯一數法,得到圖04。

圖04

換另一種技巧。看圖04,D6為1使D行的D1、D2不能是1,F1為1使1列的C1不能是1,A3為1使3列的C3不能是1,這樣第三宮就只有C2為1了,這是行列排除法,如圖05。

圖05

圖05中,仍由行列排除法,D5為4排除了D1與D2為4的可能,E3為4也使C3不能是4,可見第三宮中只有C1=4,就是圖06了。

圖06

從圖06看到,B1是第一宮僅有的空格,第一宮中已有12346,由宮格數字的唯一性就有B1為5,如圖07。

圖07

對於圖07,B5所在的第二宮、B行、5列其他格已有23456,故B5為1,參看圖08。

圖08

如圖08,B行已有數字12356,由宮格的唯一性得B4為4,即為圖09。

圖09

看看圖09,B5為1使5列的E5與F5不是1,D6為1也使6列的E6與F6不能是1,又F1為1使F行的F4不是1,因而第六宮只有E4為1,還是行列排除法,就有圖10。

圖10

參看圖10,還是由行列排除法,E3、B4與D5都是4排除了E5、E6、F4、F5為4的可能性,第六宮只能有F6=4,見圖11。

圖11

來到這裡,常規的方法就遇到瓶頸了,必須由候選數法來開創新局面。在圖11的每個空格中填入六個小字體的123456,就是圖12。

圖12

按題目給出的和已經解出的數字,刪去每行、每列和每宮的重複小數字,便有圖13。

圖13

圖13中,小字體的數字就稱為候選數,有候選數的宮格中,只有一個候選數是正確的,其餘的都要清除。由候選數開發出來的別具一格的數獨解法統稱候選數法。候選數法的優點是,讓隱含的信息顯示出來,為推導過程提供了更豐富的線索,這使大量看起來頗為棘手的問題得以順利解決。

候選數法的諸多技巧都很獨特,我們將在後面的實例中一一介紹。總的思路是,排除不可能的候選數,每格剩下的最後一個候選數就成為正選了。

如圖13,考慮C3,它只有兩個候選數2與3,若C3為3,則同在第三宮的D1不能有候選數3,此時與D1同在1列的E1所含候選數3是1列中唯一的3,可見E1必是3,而E行的另一候選數3在E6,因而E6不能為3,6列還剩在C6的唯一候選數3,即C6就是3,這與同在C行的C3為3的假設矛盾,所以C3不能是3,這就是反證法,我們可以用一段類似編程算法的邏輯表達式來描述剛才的分析思路:

+3[C3]-3[D1]+3[E1]-3[E6]+3[C6]-3[C3]

現在對上面的式子進行分段文字解釋:

+3[C3]-3[D1] 假設C3為3,則D1不是3;

+3[E1]-3[E6] 因此E1為3,則E6不是3;

+3[C6]-3[C3] 故有C6為3,這與C3為3的假設矛盾。

於是C3不是3,只能有C3=2,清除第三宮、C行、3列的其他候選數2,就得圖14。

圖14

圖14中,F3隻有唯一候選數3,不論它是處於哪一行、列和宮,F3都只能是3,這與唯一數法實際是一樣的,刪去第五宮、F行的其他候選數3(3列沒有其他候選數),就是圖15。

圖15

考察圖15,E6雖然有三個候選數356,但3是第六宮(也是E行)的唯一候選數,因此E6=3,這是隱形唯一候選數法,去除相關行、列、宮的其餘候選數3,如圖16。

圖16

再講另一技巧。圖16中C5與C6都恰好有候選數5和6,這稱為數組,因為只有兩個候選數,也叫數對。這是一種穩定的結構,意味著第四宮中5和6隻能在C5和C6中,其他格絕不可能是5和6,清除C4和D4中的5和6,即是圖17。

圖17

看圖17,F4與F5是候選數為2和6的數對,同在第六宮中的E5就不能有候選數2和6,只有E5=5,這也可由隱形唯一候選數得到,清除相關行、列、宮的重複候選數5,見圖18。

圖18

到了圖18,第四宮中由唯一候選數得C4為3,C5為6。又由隱形候選數有C6為5,D4為2,清除相關行列宮的多餘候選數,便是圖19。

圖19

最後,圖19中第二、三、五、六宮中只有唯一候選數或隱形唯一候選數,圖M1的六宮數獨01題的解答就在圖20中。

圖20

做完題目後,有一個良好的習慣是把整個數表複查一遍,看是否每行、每列、每宮的數都是不重複的1~6。

本題的關鍵是在圖13中用邏輯推理證明了C3不是3,這種反證法不同人有不同的表達方式,但萬變不離其宗,都是在想辦法刪減不可能的候選數,剩下的就只能是必選的了。下面再提供另一種解法,仍從圖13開始。

圖13

在圖13中,假設C6為3,則同在6列的E6不能是3,此時第六宮就只有F4的候選數為3,即F4就是3,這樣與F4同在F行的F3就不是3,而3列只剩一個候選數3,它在C3,從而C3=3,這與C6的假設矛盾,用邏輯表達式可以這樣寫:

+3[C6]-3[E6]+3[F4]-3[F3]+3[C3]-3[C6]

可見,C6不能是3,6列的E6就只能是3了。後面的求解過程勢如破竹,類似圖14至圖20那樣,讀者可以試一試。

這樣的推理也不止本文講的兩種方法,還有多種去除多餘候選數的途徑,有的稍為繁複些,但都能去偽存真,步步趨近真相。這也是作為遊戲的數獨能夠引人入勝之處,紛繁形態耐人尋味,解構方法龐雜多變,考驗數獨玩家的思維活躍程度。

本文提供的邏輯式子再次說明數獨確實是訓練邏輯推理能力的好工具,建議中小學數學競賽愛好者和喜歡邏輯推理的大學生多加練習,也可把類似的技法移植到有相當難度的九宮數獨中。

相關焦點

  • 玩轉數獨之六宮數獨高級技巧
    有些六宮數獨比較難,出現的數字比較少,這樣就很難應用唯一數法和隱性唯一數法了。比如下面這個六宮數獨。較難的六宮數獨仔細觀察,根本找不到某一行或者某一列或者某一宮只有兩個空格,這樣我們就無法應用前面所學的唯一數法和隱性唯一數法了
  • 玩轉數獨之六宮數獨進階技巧解題實例
    上期我們講了六宮數獨的隱性唯一數法,並留了一道題目作為作業,今天我們來完整的解答這個作業。完成了一部分的六宮數獨繼續觀察,第二列只有兩個空格(可能可以應用隱性唯一數法),出現了完成了部分的六宮數獨繼續觀察,發現第二行只有兩個空格(可能可以用隱性唯一數法),出現了
  • 玩轉數獨之六宮數獨高級技巧解題實例
    上期我們留下了一個六宮數獨的題目,要求大家完成,今天我們一起來完成這個六宮數獨。首先,觀察1所在的單元格,並進行行列延伸,發現它們在第四宮會合,第五宮也會合。但是這兩個宮的5的位置都無法確定,反而第三宮的5能確定位置。
  • 數獨技巧
    這種遊戲全面考驗做題者觀察能力和推理能力,雖然玩法簡單,但數字排列方式卻千變萬化,所以不少教育者認為數獨是訓練頭腦的絕佳方式。基本元素單元格:數獨中最小的單元,標準數獨中共有81個;行:橫向9個單元格的集合;列:縱向9個單元格的集合;宮:粗黑線劃分的區域,標準數獨中為3×3的9個單元格的集合;已知數:數獨初始盤面給出的數字;候選數:每個空單元格中可以填入的數字。
  • 綿陽最強大腦數獨訓練:數獨經典20題正式發布!
    九宮格數獨的規則是:每行、列、宮各自都要填上1-9的數字,要做到每行、列、宮裡的數字都不重複。宮是由3×3的小格子組成的。數獨解題方法分兩大類:直觀法和候選數法。直觀法就是不需要任何輔助工具,從接到數獨謎題的那一刻起就可以立即開始解題。絕不猜測。數獨直觀法解題技巧主要有:唯一解法、基礎摒除法、區塊摒除法、唯餘解法、矩形摒除法、單元摒除法,餘數測試法。
  • 數獨遊戲
    18世紀瑞士的一種數學遊戲。根據不同的作用範圍可分為下述三種:數字可填唯一空格在「宮」單元稱為宮排除,也稱宮摒除法。數字可填唯一空格在「行」單元稱為行排除法,也稱行摒除法。數字可填唯一空格在「列」單元稱為列排除法,也稱列摒除法。唯一餘數法用格位去找唯一可填數字,稱為餘數法,格位唯一可填數字稱為唯餘解。
  • 數獨遊戲技巧
    唯一數法九宮格(Grid)水平方向有九橫行,垂直方向有九縱列的矩形,畫分八十一個小矩形,稱為九宮格(Grid),是數獨(Sudoku 三行與三列相交之處有九格,每一單元稱為小九宮(Box、Block),簡稱宮,如圖四用粗線標示者。(在killer數獨中,宮往往用單詞Nonet表示)
  • 【數學遊戲】數獨 第2題
    宮:粗黑線劃分的區域,標準數獨中為3×3的9個單元格的集合;由三個連續宮組成大區塊(Chute),分大行區塊(Floor)及大列區塊(Tower)。第一大行區塊:由第一宮、第二宮、第三宮組成。第二大行區塊:由第四宮、第五宮、第六宮組成。第三大行區塊:由第七宮、第八宮、第九宮組成。
  • 【數學遊戲】數獨 第1題
    宮:粗黑線劃分的區域,標準數獨中為3×3的9個單元格的集合;由三個連續宮組成大區塊(Chute),分大行區塊(Floor)及大列區塊(Tower)。第一大行區塊:由第一宮、第二宮、第三宮組成。第二大行區塊:由第四宮、第五宮、第六宮組成。第三大行區塊:由第七宮、第八宮、第九宮組成。
  • 數獨遊戲技巧(圖解)
    iv)三鏈數法 如果我們發現某一行某一列或某個九宮有三個格子只使用了三個候選數,那麼這三個格子必然正好是這三個數字,那麼在這個單元(行,列,或九宮)中,其它格子不會出現這三個候選數,這就是三鏈數法,如下面例子,
  • 數獨規則和入門方法(宮內排除法、行列排除法、唯一數法)
    數獨是一種純粹的邏輯推理遊戲,完全不需要計算,只需要認識1~9九個數字就能玩兒。數獨的規則很簡單:根據9×9方格圖中的已知數字,用1~9填滿所有空格,使每行、每列、每宮中的1~9都只出現一次。可以一個人玩,也可以和朋友、家人一起玩,還可以參加比賽,如中小學數獨比賽、中國數獨錦標賽、數獨段位考試等。
  • 玩轉數獨之六宮數獨初級技巧
    首先我們認識一下六宮數獨。如圖:空白的六宮數獨六宮數獨有六行六列和六宮,每行每列每宮都有六個單元格,只能1、2、3、4、5、6各出現一次宮唯一法在完成一個完整的六宮數獨時,要養成先仔細觀察的習慣,先看哪行哪列或者哪宮出現了
  • 玩轉數獨之九宮數獨進階技巧解題實例
    完成了部分的九宮數獨繼續觀察,發現第一行和第七宮只剩下兩個空格了,可以用隱性唯一數法繼續觀察,發現第一列、第四列、第八行和第二宮都只剩下兩個空格,可以用隱性唯一數法,將第一行和第七宮填寫完畢。完成了部分的九宮數獨繼續觀察,發現第九列只剩下兩個空格,可以用隱性唯一數法完成第九列的填寫
  • 玩轉數獨之六宮數獨進階技巧
    前面我們講了六宮數獨的初級技巧,行列宮唯一法,就是說當一行或者一列或者一宮裡只有唯一一個空格時,由於其他五個數字都出現了,因此這唯一的空格就確定了是哪個數字,我們可以將它填出來。今天我們來學習隱性唯一法。
  • 玩轉數獨之九宮數獨進階技巧
    上期我們已經學習了九宮數獨的初級技巧的兩種方法:唯一數法和隱性唯一數法。有些九宮數獨較難,數字給的少,所以一開始並不能使用唯一數法和隱性唯一數法,比如下面這個九宮數獨。這就需要我們繼續學習更高階的九宮數獨解法。宮摒除法:將數獨中相同的數字按其所在的行和列進行延伸,會合於不含該數字的某一宮,在此宮內進行該數字的摒除,稱為宮摒除法。
  • 「最強大腦教你玩數獨」第1期│10分鐘快速入門,掌握數獨魅力
    標準數獨的常見元素(9宮)標準數獨的規則(9宮)標準數獨基本解法1:排除法而「數獨」(Sudoku)一詞源於日本,意思是「只出現一次的數字」。目前數獨已經發展成為風靡全世界的益智遊戲,擁有上千萬愛好者。
  • 玩轉數獨之六宮數獨初級技巧解題實例
    上次我們講六宮數獨初級技巧時,留下了一個題目,今天我們一起來完成它。請完成這個六宮數獨首先仔細觀察,可以發現第三列只有一個空格,其他的數字出現了2、4已經完成了部分的六宮數獨再仔細觀察,第一行只有一個空格,其他的數字出現了6、3、2
  • 【趣味數學】數學智力拼圖遊戲——數讀
    另一種數獨變形題是在原數獨規則的基礎上加入其他的規則。譬如X形數獨就要求除原來的數獨規則外,連主對角線上的單元格也要滿足數字1到9的唯一性和完整性。而殺手數獨則要求每個「區」(虛線環繞的一組單元格)中的值必須唯一且總和等於區的右上角所指定的數字。數獨的技巧,可大分為直觀法及候選數法兩種。直觀法的特性:1. 不需任何輔助工具就可應用。
  • 「最強大腦教你玩數獨」10分鐘快速入門,掌握數獨魅力
    數獨作為一種智力遊戲,不僅可以培養「數感」,也可以鍛鍊邏輯推理和計算能力,對數學學習有很大的幫助,有些中小學已經把「數獨」作為考試的必考題目
  • 數獨技巧——數對法
    當一個單元(行、列、宮)的某兩個數字僅可能在某兩格時,我們稱這兩個格為這兩個數的數對。數對出現在宮稱為宮數對;數對出現在行列成為行列數對。用候選數法的觀點去看,數對有兩種,一種是在同單元內其中兩格有相同的雙候選數,一看就明白,因此稱為顯性數對(Naked Pair),另一種是,同單元內有兩個候選數佔用了相同的兩格,該兩格因為還有其它候選數很難辨認,因此稱為隱性數對(Hidden Pair)。