數獨是源自18世紀瑞士的一種數學游戲。是一種運用紙、筆進行演算的邏輯游戲。玩家需要根據9×9盤面上的已知數字,推理出所有剩余空格的數字,并滿足每一行、每一列、每一個粗線宮(3*3)內的數字均含1-9,不重復。
數獨盤面是個九宮,每一宮又分為九個小格。在這八十一格中給出一定的已知數字和解題條件,利用邏輯和推理,在其他的空格上填入1-9的數字。使1-9每個數字在每一行、每一列和每一宮中都只出現一次,所以又稱“九宮格”。
起源
既然“數獨”有一個字是“數”,人們也往往會聯想到數學,那就不妨從大家都知道的數學家歐拉說起,但凡想了解數獨歷史的玩家在網絡、書籍中搜索時,共同會提到的就是歐拉的“拉丁方塊(Latin square)”。
拉丁方塊的規則:每一行(Row)、每一列(Column)均含1-N(N即盤面的規格),不重復。這與前面提到的標準數獨非常相似,但少了一個宮的規則。
近代發展
數獨起源于18世紀初瑞士數學家歐拉等人研究的拉丁方陣(Latin Square)。19世紀80年代,一位美國的退休建筑師格昂斯(Howard Garns)根據這種拉丁方陣發明了一種填數趣味游戲,這就是數獨的雛形。20世紀70年代,人們在美國紐約的一本益智雜志《Math Puzzles and Logic Problems》上發現了這個游戲,當時被稱為填數字(Number Place),這也是目前公認的數獨最早的見報版本。1984年一位日本學者將其介紹到了日本,發表在Nikoli公司的一本游戲雜志上,當時起名為“數字は獨身に限る”(すうじはどくしんにかぎる),就改名為“數獨”(すうどく),其中“數”(すう)是數字的意思,“獨”(どく)是唯一的意思。后來一位前任香港高等法院的新西蘭籍法官高樂德(Wayne Gould)在1997年3月到日本東京旅游時,無意中發現了。他首先在英國的《泰晤士報》上發表,不久其他報紙也發表,很快便風靡全英國,之后他用了6年時間編寫了電腦程序,并將它放在網站上(這個網站也就是著名的數獨玩家論壇),后來因一些原因,網站被關閉,幸好數獨大師Glenn Fowler恢復了數據,玩家論壇有了新處所。在90年代國內就有部分的益智類書籍開始刊登,南海出版社在2005年出版了《數獨1-2》,隨后日本著名數獨制題人西尾徹也的《數獨挑戰》也由遼寧教育出版社出版。《北京晚報》、《揚子晚報》、《羊城晚報》、《新民晚報》、《成都商報》等等報紙媒體也先后刊登了數獨游戲。
依解題填制的過程可區分為直觀法與候選數法。
直觀法就是不做任何記號,直接從數獨的盤勢觀察線索,推論答案的方法。
候選數法就是刪減等位群格位已出現的數字,將剩余可填數字填入空格做為解題線索的參考,可填數字稱為候選數(Candidates,或稱備選數)。
直觀法和候選數法只是填制時候是否有注記的區別,依照個人習慣而定,并非鑒定題目難度或技巧難度的標準,無論是難題或是簡單題都可上述方法填制,一般程序解題以候選數法較多。
基礎解法
排除法(摒除法)
摒除法:用數字去找單元內唯一可填空格,稱為摒除法,數字可填唯一空格稱為排除法 (Hidden Single)。
根據不同的作用范圍,摒余解可分為下述三種:
數字可填唯一空格在「宮」單元稱為宮排除(Hidden Single in Box),也稱宮摒除法。
數字可填唯一空格在「行」單元稱為行排除法(Hidden Single in Row),也稱行摒除法。
數字可填唯一空格在「列」單元稱為列排除法(Hidden Single in Column),也稱列摒除法。
唯一余數法
唯一余數法:用格位去找唯一可填數字,稱為余數法,格位唯一可填數字稱為唯余解(Naked Single)。
余數法是刪減等位群格位(Peer)已出現的數字的方法,每一格位的等位群格位有 20 個,如圖七所示。
進階解法
上述方法稱為基礎解法(Basic Techniques),其他所有的解法稱為進階解法(Advanced Techniques),是在補基本解法之不足,所以又稱輔助解法。
進階解法包括:區塊摒除法(Locked Candidates)、數組(Subset/Tuple)、二鏈列(X-Wing)、唯一矩形(Unique Rectangle)、全雙值格致死解法(Bivalue Universal Grave)、同數鏈(X-Chain)、異數鏈(Multidigit Chain)及其他數鏈的高級技巧等等。已發展出來的方法有近百種之多。
其中前三種加上基礎解法為一般數獨書中介紹并使用的方法,同時也是大部分人可以理解并掌握的數獨解題技法。
通過基礎解法出數只需一種解法,摒除法或唯余法,超出此范圍而需要施加進階解法時,解題點需要進階解法協助基礎解法來滿足隱性唯一或顯性唯一才能出數,該解題點的解法需要多個步驟協力完成,因此稱做組合解法。
解題必須以邏輯為依歸,提倡數獨的本意。
區塊摒除法
區塊摒除法包括宮區塊摒除法(Pointing)與行列區塊摒除法(Claiming)。
在基礎題里,利用區塊摒除可以替代一些基礎解法的觀察,或輔助基礎解法尋找焦點。
在非基礎題里,區塊可以隱藏任何其他結構,簡單的可以把基礎解法隱藏起來,難的可以隱藏數對等等其他進階技巧。
例如:
首先數字6對第五宮摒除,得到第五宮的6在R4C5或者R6C5。
不論是在R4C5或者R6C5,C5的其他格都不能再有數字6。(R4C5與R6C5就是數字6的區塊,這也是區塊摒除作用的觀點)
數字6對第二宮摒除,得解R1C4=6。
數對法
當一個單元(行、列、宮)的某兩個數字僅可能在某兩格時,我們稱這兩個格為這兩個數的數對(Pairs)。
數對出現在宮稱為宮數對;數對出現在行列成為行列數對。
用候選數法的觀點去看,數對有兩種,一種是在同單元內其中兩格有相同的雙候選數,一看就明白,因此稱為顯性數對(Naked Pair),另一種是,同單元內有兩個候選數占用了相同的兩格,該兩格因為還有其它候選數很難辨認,因此稱為隱性數對(Hidden Pair)。
例子:
左圖:數字2與7同時對第一宮摒除,得到這兩個數字均只可能在r2c2與r3c2這兩個位置,我們稱r2c2與r3c2是27數對。
右圖:數字8對第一宮摒除,得到摒余解r1c3=8。
還沒有人評論哦,趕緊搶一個沙發吧!