标签:
知识/探索 |
到20世纪70年代,美国益智游戏杂志Dell Puzzle Magazines将这种游戏改名为Number Place,即“数字拼图”,但仍然没有受到重视。直到1984年,日本益智杂志《パズル通信ニコリ》(Pazuru Tsūshin Nikori)的员工金元信彦接触到美国猜谜书上某版本的数字游戏,认为可以用来吸引读者,于是加以改良增加难度,并取了新名字称做——すうどく(英文为Sudoku),Sudoku在日文中是“数”和“独”的合成词,意思是独个的数字。
数独的规则
数独的规则极简单,在一个9×9的九宫格里面填数字,每个方格中填入合适的数字以使得每行(从左到右),每列(从上到下)以及每个九宫格(加粗线条部分)都要包含从1~9的数字。而游戏编写者会事先在一些方格里填上些数字作为提示,从而组成难度不同的Sudoku游戏。
玩“数独”无需掌握任何一门特定的语言。事实上,无论男女老少,人人能玩,人人都能成为高手。做题时,一个好的方法就是从小九宫格入手,更好的方法是一对一对地研究小九宫格,寻找出成对的数字,由此你可推出第三个九宫格中这个数字所在的位置。比如左上角小九宫格中有数字6,左下角的小九宫格中也有6,你就不难推出左边中间小九宫格中6的位置。如果存在两种可能,记录下来,然后继续。
每道题都可以根据所提供的数字为线索,通过逻辑推理解答出来。如果你有一套正确的解题方法,猜测就非常没有必要。一定要记住:每道题只有一个答案!(是不是很像柯南的真相永远只有一个:9)
首先介绍3种最简单也是最行之有效的方法(理解后可以解决所有入门题和相当部分的进阶题)
A......考虑某个数字该填入哪格
1、优先考虑行、列
http://listen.chinaradiotv.com/wf/img/sd04.jpg
先思考应该将1填入第三行的哪个空格中。因为有×的空格位于方阵内,且其中已含1则不能再填。故能填1的只有○的空格
2、优先考虑方阵
http://listen.chinaradiotv.com/wf/img/sd05.jpg
先思考将1添入左上方方阵中的哪个空格,因横行、竖列中1分别只能出现一次,那么如图所示1只能填入○空格内
B......考虑某个空格应该填入哪个数字
3、优先考虑行、列
http://listen.chinaradiotv.com/wf/img/sd06.jpg
先考虑○空格中应该填入哪个数字。观察上图,即可发现,除9以外的数字都已被填入所在的横行、竖列中,故○空格处只能填入数字9
4、优先考虑方阵
http://listen.chinaradiotv.com/wf/img/sd07.jpg
同样的,先考虑○空格中应该填入哪个数字。方阵内已有数字1-4,○空格所在横行、竖列又有数字5-8,则○处必填入数字9
C......复合技巧
5、优先考虑行、列
http://listen.chinaradiotv.com/wf/img/sd08.jpg
○空格中应该填入哪个数字呢?在此之前先思考一下两个☆空格处所应填入的数字。我们可以发现,从横行看,两个☆空格处只能填入1、2(顺序可不同),也就是都已成为定数。那么,或者填入☆空格,或者填入○空格的数字3就只能填入○空格内
6、单次定数确定法
http://listen.chinaradiotv.com/wf/img/sd09.jpg
与5相同的思考方法,就是先寻找横行、竖列中可以确定下来的数字,即已成为定数的格。我们可以发现,两个☆空格中只能填入数字3或4。则此方阵中能填入5的只有○空格处
7、多次的定数确定法
http://listen.chinaradiotv.com/wf/img/sd10.jpg
首先,因为两个☆空格处只能填入数字1、2,故○及其左右的三个空格中只能填入数字7~9。又因为两个★空格内需填数字7、8 ,那么,○空格处就非9不能填了
总结一下,要做出稍微有点绕的题目,某个数字在一个方阵内(或列、行均可)的可能性是2种的话最好先用铅笔写一下,有助解题,虽然一开始是不习惯的,不过后来你会发现这样是非常有效的,之后介绍的方法可能3种可能性,甚至4、5种可能性都会写上,一般情况下,有2种可能性的写上已经足够了
进阶技巧介绍——区块摒除法
与之前的方法有些类似重复之处,但前面主要是部分的考虑,下面带到一道完整的题目来考虑,毕竟数独是要考虑整体的,建议在上面内容理解的基础上,再看以下内容,以防迷茫。
在解之前先了解什么是区块。
对行而言,就是分属三个不同九宫格的部分。在右图中,我们分别用不同的颜色来标示行的三个区块:
http://listen.chinaradiotv.com/wf/img/sd01.jpg
对列而言,也是分属三个不同九宫格的部分。在右图中,我们分别用不同的颜色来标示列的三个区块:
http://listen.chinaradiotv.com/wf/img/sd02.jpg
对九宫格而言,就是分属三个不同行或三个不同列的部分。在右图中,我们分别用不同的颜色来标示九宫格的三个区块(之前介绍中称为方阵了):
http://listen.chinaradiotv.com/wf/img/sd03.jpg
为了说明及学习的方便,将区块摒除法分为 4 个不同的形式,但在实际应用时,即使玩家不知此分类,也可以很容易地顺着区块的所在及方向而做出正确的摒除。
九宫格对行的区块摒除:某数字在九宫格中的可填位置仅存在其中一个区块时,可将数字填入另两个区块的可能性将被摒除。
九宫格对列的区块摒除:某数字在九宫格中的可填位置仅存在其中一个区块时,可将数字填入另两个区块的可能性将被摒除。
行对九宫格的区块摒除:某数字在行中的可填位置仅存在其中一个区块时,因为某数一定会在本区块,所以包含该区块的九宫格,可将数字填入另两个区块的可能性将被摒除。
列对九宫格的区块摒除:某数字在列中的可填位置仅存在其中一个区块时,因为某数一定会在本区块,所以包含该区块的九宫格,可将数字填入另两个区块的可能性将被摒除。
【行的区块】
九宫格摒除解的系统寻找是由数字1开始一直到数字9,周而复始,直到解完全题或无解时为止;每个数字又需从上左九宫格起,直到下右九宫格,周而复始,同样要不断重复到解完全题或无解时为止。
使用区块摒除法,只要在九宫格摒除解的系统寻找时,注意是否有区块摒除的成立条件即可,当区块摒除的条件具备了,就等于多了一个摒除线,找到解的机会自然多了一点,将感觉顺手多了。例如在下图中,如果不使用或不会使用区块摒除法,是找不到1的九宫格摒除解的,但如果用上了区块摒除法,将可找到四个数字1的填入位置哦。
http://listen.chinaradiotv.com/wf/img/sd11.jpg
说明:坐标按照(行,列)来表示具体位置,例如(4,5)代表第4行的第5个空格内的数字,下同
先从数字1开始寻找九宫格摒除解,当找到中左九宫格时,由于(3,2)、(4,5)的摒除,将使得数字1可填入的位置只剩下(5,1) 及(5,3),因为每一个九宫格都必须填入数字1,既然中左九宫格的数字1一定会填在(5,1)、(5,3) 这个区块,那表示数字1包含在这个区块的第5行。因为同一行中只能有一个数字1,所以可将第5行另两个区块填入数字1的可能性摒除。
第5行的区块摒除,配合(4,5)及(9,7)的基础摒除,使得(6,8)出现了中右九宫格摒除解了。
只找到一个还不过瘾,当搜寻到下左九宫格时,由于(3,2)、(9,7)的摒除,将使得数字1可填入的位置只剩下(7,1)及(7,3)。同理,因为每一个九宫格都必须填入数字1,既然下左九宫格的数字1 一定会填在(7,1)、(7,3) 这个区块,那表示包含这个区块的第7行,因为同一行中只能有一个数字1,所以可将第7行另两个区块填入数字1的可能性摒除。
第7行的区块摒除,配合(4,5)及(9,7)的基础摒除,使得(8,6)出现了中下九宫格摒除解了。
找到了(6,8)及(8,6)两个摒除解之后,因谜面的数字已有改变,所以循例应回头再找一遍,相信大家一定可以很容易的找到另两个九宫格摒除解:(1,4)、(2,9)。
【列的区块】
九宫格对列的区块摒除和九宫格对行的区块摒除同理,只不过九宫格对行的区块摒除是数字仅出现在九宫格的横向区块,所以受到影响的就是行;而九宫格对列的区块摒除是数字仅出现在九宫格的纵向区块,所以受到影响的就变成是列而已。
http://listen.chinaradiotv.com/wf/img/sd12.jpg
上图是一个九宫格对列的区块摒除之例子。你可以看出下左九宫格的数字9应该填在什么位置吗?
由于(5,8)的摒除,使得数字9在中左九宫格可填入的位置只剩下(4,3) 及(6,3),因为每一个九宫格都必须有数字9,既然中左九宫格的数字9一定会填在(4,3)、(6,3) 这个区块,那表示包含这个区块的第3列,其另两个区块就不能填入数字9了。
第3列的区块摒除,配合(2,2)、(7,6) 及(9,9)的基础摒除,使得(8,1)出现了下左九宫格摒除解9了。
看过了以上的例子后,首先要提醒大家,前面已提过区块摒除需机缘凑巧,并非随手可得哦!大部分的时候,虽然发现了区块摒除的条件,但却是“空炮弹”,一样找不到摒除解!例如:在【行的区块】解说用图中的上右九宫格中,由于(3,2)、(9,7)的摒除,使得上右九宫格的数字1只出现在(1,9)及(2,9),符合区块摒除的条件,但配合现有的数字1做摒除后,仍无法找到任何摒除解。所以当找到区块摒除的条件时,不必太高兴!
另一技巧:区块删减法
当某一个数字只出现在某行的某一个区块候选数中时,就可以把该数字自包含该区块的九宫格之其他区块候选数中删减掉。
同理,当某一个数字只出现在某列的某一个区块候选数中时,就可以把该数字自包含该区块的九宫格之其他区块候选数中删减掉。当某一个数字只出现在某个九宫格的某一个区块候选数中时,就可以把该数字自包含该区块的行或列之其他区块候选数中删减掉。
利用“找出某一行、某一列或某一个九宫格各个区块候选数中只出现一次的数字来,并将该数字自包含该区块的另一个行、列或九宫格的其他区块候选数中删减掉”的方法就叫做区块删减法(Locked Candidates, Single Sector Candidates)。
请看<图1>,这时若使用惟一候选数法或隐性惟一候选数法是找不出下一个解来的!就先来试试区块删减法吧。
http://listen.chinaradiotv.com/wf/img/sd13.jpg
请观察第9列:数字1在本行各宫格的候选数中,是不是仅出现在(1,9)~(3,9)的这一个区块中?太好了,区块删减的条件已有了;因为这表示第9列的数字1只能填在(1,9)~(3,9)的这一个区块中,而不论填在本区块的哪一个宫格中,上右九宫格的其他宫格将因本九宫格已出现数字1,而不得再填入1,否则就违反数独填制的规则啦!所以(1,7)~(3,7)及(1,8)~(3,8)这两个区块的宫格,如果其候选数中包含有数字1,就可以毫不考虑的把它删除掉。于是可以把(1,7)的候选数由1、6 删减成6,下面可用惟一候选数法了。
但是,当区块删减法的条件成立时,可别高兴得太早,因为很有可能找不到可删减的数字,例如:在<图1>的第1列中,数字2在本列的各宫格候选数中,仅出现在(4,1)~(6,1)这一个区块中,而不论数字2将来会被填到本区块的哪一个宫格中,将使得数字2不得再填入(4,2)~(6,2)及(4,3)~(6,3)这两个区块中;但请找找看!这两个区块各宫格的候选数中全部没有数字2,所以是白忙了一场,条件是成立了,但候选数并未因此而得到删减。
区块删减法示例
区块删减法一共有4种状况:第一种是发生在行而去删减九宫格、第二种是发生在列而去删减九宫格、第三种是发生在九宫格而去删减行、第四种是发生在九宫格而去删减列。
<图1> 就是发生在列而去删减九宫格的例子。
<图2> 是发生在九宫格而去删减行的例子:因为中央九宫格的数字1只出现在(4,5)~(6,5)这一个区块,所以可以将第5列的另两个区块(1,5)~(3,5)、(7,5)~(9,5)候选数中的数字1 安全的删减掉;于是(8,5)的候选数1、3、7、8将被删减成3、7、8;同理,中央九宫格的数字7、8 都只出现在(4,5)~(6,5)这一个区块,所以可以将第5列的另两个区块(1,5)~(3,5)、(7,5)~(9,5) 候选数中的数字7、8都安全的删减掉;于是(8,5)的候选数3、7、8将再度被删减成3;出现了惟一候选数啦!
http://listen.chinaradiotv.com/wf/img/sd14.jpg
<图2>需要删减三次才得到下一个解,不过那还算好的了,因为三次的删减都恰好发生在同一个区块中,请看下面发生在不同区块的情形吧!
http://listen.chinaradiotv.com/wf/img/sd15.jpg
<图3> 中的(4,3)将可利用区块删减法得出下一个解,你能够不看下面的解答,自己找出来吗?试试!
也许你已经找出答案了,恭喜!也许你还找不出答案,那也没关系,请看答案吧:因为第8行的数字2只出现在(8,1)~(8,3) 这一个区块,所以可以将下左九宫格的另两个区块(7,1)~(7,3)、(9,1)~(9,3)候选数中的数字2安全的删减掉。
接下来,因为第3列的数字2只出现在(4,3)~(6,3) 这一个区块,所以可以将中左九宫格的另两个区块(4,1)~(6,1)、(4,2)~(6,2) 候选数中的数字2安全的删减掉。
看出来了吗?(4,3)已出现了行隐性惟一候选数2啦!
隐性数对删减法
http://listen.chinaradiotv.com/wf/img/sd16.jpg
请看<图1>的上右九宫格,数字8、9都只出现在(2,8)和(2,9)这两个宫格的候选数中;这时隐性数对删减法的条件已成立了!这表示上右九宫格的数字8和9将只能填到这两个宫格,而且:如果数字8将填入(2,8),那么(2,9)就一定要填入数字9;反之,如果数字9将填入(2,8),那么(2,9)就一定要填入数字8;
不论哪一个状况出现,(2,8)和(2,9)这两个宫格的候选数中若还有其他数字,全部是多余无用的,因为这两个宫格若填入数字8、9以外的数字,那么上右九宫格的数字8或9就将无处可填了。候选数的意义是可能填入该宫格的数字,而这两个数字以外的数字已不可能再用来填入本宫格中了,所以可以毫不考虑的把它们删减掉。当(2,8)和(2,9)这两个宫格的候选数都安全的删减成数字8、9之后,(2,5)出现了行隐性惟一候选数2,于是可用隐性惟一候选数法来填入下一个解了。
整理一下:
当某个数对仅出现在某个九宫格的某两个宫格候选数中时,就可以把这两个宫格的候选数删减成该数对。
同理,当某个数对仅出现在某列的某两个宫格候选数中时,就可以把这两个宫格的候选数删减成该数对。
当然,当某个数对仅出现在某行的某两个宫格候选数中时,就可以把这两个宫格的候选数删减成该数对。
利用“找出某个数对仅出现在某行、某列或某一个九宫格的某两个宫格候选数中的情形,进而将这两个宫格的候选数删减成该数对”的方法就叫做隐性数对删减法(Hidden Pairs)。
当隐性数对删减法完成后,通常还可引发
数对删减法;以<图1>为例,当(2,8)和(2,9)这两个宫格的候选数都安全的删减成数字8、9之后,还可利用数对删减法把(2,1)、(2,2)、(2,3) 这三个宫格候选数中的数字8删减掉。
隐性数对删减法示例
隐性数对删减法一共有3种状况:第一种发生在行、第二种是发生在列、第三种则发生在九宫格。<图1> 就是发生在九宫格的例子了,其他的情况举例如下:
<图2>是隐性数对删减发生在列的例子:
http://listen.chinaradiotv.com/wf/img/sd17.jpg
图中第2列的数对4、6只出现在(3,2)及(9,2) 这两个宫格的候选数中,所以可以将(3,2)及(9,2)的候选数安全地删减成数对4、6;而经此一删,(3,3)宫格出现了行隐性惟一候选数字1啦!
<图3>是隐性数对删减发生在行的例子:
http://listen.chinaradiotv.com/wf/img/sd18.jpg
图中第7行的数对4、7只出现在(7,1)及(7,8)这两个宫格的候选数中,所以可以将(7,1)及(7,8)的候选数安全删地减成数对4、7;而经此一删,(8,1) 宫格出现了列隐性惟一候选数2啦!
http://www.zzi.cc/sck/fgx/fgx6/03.gif
三链数删减法(关于几格的可能性确定其他格数字的总结)
http://listen.chinaradiotv.com/wf/img/sd19.jpg
请看<图 1>的第6行,(6,2)、(6,3)和(6,9)这三个宫格的候选数中,相异的数字只有4、5、9三个;这时三链数删减法的条件已成立了!
这表示第6行的数字4、5和9将只能填到这三个宫格之中了,因为:如果数字5将填入(6,2),那么(6,3)就一定要填入数字4,而 (6,9)就只能填入数字9了;另外,如果数字9将填入(6,2),那么(6,9)就一定要填入数字4,而(6,3)就只能填入数字5了;不论哪一个状况出现,第6行的数字4、5和9都将被使用,所以可将它们自本列的其他宫格候选数中安全地删减掉,因为这三个数字已不再能成为其他宫格的候选数了。
于是 (6,1)的候选数1、8、9将被删减成1、8;(6,4)的候选数5、6、9将被删减成6;(6,5)的候选数1、4、5、6、8将被删减成1、6、8;唯一候选数已出现在 (6,4)了。
整理一下:
1. 当某列的某三个宫格候选数中,相异的数字不超过3个时,就可以把这3个数字自本列的其他宫格候选数中删减掉了。
2. 同理,当某行的某三个宫格候选数中,相异的数字不超过3个时,就可以把这3个数字自本行的其他宫格候选数中删减掉了。
3. 当然,当某一个九宫格的某三个宫格候选数中,相异的数字不超过3个时,就可以把这3个数字自本九宫格的其他宫格候选数中删减掉了。
利用“找出某一列、某一行或某一个九宫格中的某三个宫格候选数中,相异的数字不超过3个的情形,进而将这3个数字自其他宫格的候选数中删减掉”的方法就叫做三链数删减法(Naked Triples)。
本法其实为数对删除法的推广,在介绍数对删减法时,因为我们的寻找标的是数对,所以使用了一般人较能接受的数对这个名词,而说明成“找出某一行、某一列或某一个九宫格中某两个宫格候选数恰为某个数对的情形,并将该数对自其他宫格候选数中删减掉”的方法就叫做数对删减法。如果将以上的说明内容换成改成“找出某一列、某一行或某一个九宫格中的某二个宫格候选数中,相异的数字不超过2个的情形,进而将这2个数字自其他宫格的候选数中删减掉”的方法就叫做数对删减法也是成立的。
本法还可以继续加以推广:
1. 四链数删减法就是:“找出某一列、某一行或某一个九宫格中的某四个宫格候选数中,相异的数字不超过4个的情形,进而将这4个数字自其他宫格的候选数中删减掉”的方法。
2. 五链数删减法就是:“找出某一列、某一行或某一个九宫格中的某五个宫格候选数中,相异的数字不超过5个的情形,进而将这5个数字自其他宫格的候选数中删减掉”的方法。
如果愿意的话,你确实是可以这样推广的,只是,实用上是否有其应用的空间呢?
三链数删减法示例
三链数删减法一共有3种状况:第一种发生在行、第二种是发生在列、第三种则发生在九宫格。<图1>就是发生在行的例子了,其它的情况举例如下:
<图 2> 是同时应用列及行的三链数删减法的例子:
http://listen.chinaradiotv.com/wf/img/sd20.jpg
首先:第5行中的(5,7)、(5,8)、(5,9)三个宫格候选数中,相异的数字只有1、2、8三个,不论出现的是哪一种状况,数字1、2、8在本行都已使用,所以可以将这3个数字自其他宫格的候选数中删减掉,于是(5,4)及(5,6)的候选数都被删减成4、6。
接下来:第6列中的(1,6)、(4,6)、(9,6)三个宫格候选数中,相异的数字只有5、6、7三个,不论出现的是哪一种状况,数字5、6、7在本列都已使用,所以可以将这3个数字自其他宫格的候选数中删减掉,于是(5,6)的候选数将继续被删减成4,出现唯一候选数了。
<图 3> 是三链数删减法发生在九宫格的例子:
http://listen.chinaradiotv.com/wf/img/sd21.jpg
中央九宫格中的(4,6)、(5,4)、(5,6)三个宫格候选数中,相异的数字只有3、8、9三个,所以可以将这3个数字自其他宫格的候选数中删减掉,于是(6,4)的候选数3、5、9将被删减成5,出现唯一候选数了。
http://www.zzi.cc/sck/fgx/fgx6/03.gif
接下来,与三链数删减法类似的隐性三链数删减法
http://img.verycd.com/posts/0707/post-444572-1185520703.jpg
请看<图1>的第2行,数字1、7、8只出现在(2,1)、(2,7)和(2,8)这三个宫格的候选数中;这时隐性三链数删减法的条件已成立了!这表示第2行的数字1、7和8将只能填到这三个宫格中。
原因:如果让别的数字填入这三个宫格之中后,这三个相异的数字能填入的可能宫格就只剩下两个,而那是不可能的事!所以若这三个宫格的候选数中还有其他数字,全部是多余无用的,它们已不可能再用来填入这些宫格中了,所以可以毫不考虑地把它们删减掉。于是(2,7)和(2,8)这两个宫格候选数中的6都可被安全地删减掉;其中(2,7)的候选数少了数字6,将使得(8,7)出现列隐性唯一候选数6,于是可用隐性唯一候选数法来填入下一个解了。
整理一下:
当某3个数字仅出现在某列的某三个宫格
候选数中时,就可以把这三个宫格的候选数删减成该3个数字。
同理,当某3个数字仅出现在某行的某三个宫格候选数中时,就可以把这三个宫格的候选数删减成该3个数字。
当然,当某3个数字仅出现在某个九宫格的某三个宫格候选数中时,就可以把这三个宫格的候选数删减成该3个数字。
利用“找出某3个数字仅出现在某行、某列或某一个九宫格的某三个宫格候选数中的情形,进而将这三个宫格的候选数删减成该3个数字”的方法就叫做隐性三链数删减法(Hidden Triples)。
本法其实还可以继续加以推广:
隐性四链数删减法就是:“找出某4个数字仅出现在某行、某列或某一个九宫格的某四个宫格候选数中的情形,进而将这四个宫格的候选数删减成该4个数字”的方法。
隐性五链数删减法就是:“找出某5个数字仅出现在某行、某列或某一个九宫格的某五个宫格候选数中的情形,进而将这五个宫格的候选数删减成该5个数字”的方法。
……
隐性三链数删减法示例
隐性三链数删减法一共有3种状况:第一种发生在行、第二种是发生在列、第三种则发生在九宫格。
<图1>就是发生在行的例子。
http://img.verycd.com/posts/0707/post-444572-1185520961.jpg
<图2>是隐性三链数删减发生在列的例子:图中第4列的数字2、4、9只出现在(4,4)、(5,4)及(6,4)这三个宫格的候选数中,所以可以将三个宫格候选数中2、4、9以外的数字安全的删减掉,(4,4)的候选数删减成2、4;(5,4)的候选数删减成2、4、9;(6,4)的候选数删减成9;出现了唯一候选数啦!
http://www.zzi.cc/sck/fgx/fgx6/03.gif
唯一矩形删除
什么叫唯一矩形删除法?大家往下看看这个图形:(图片我直接用数字了,每个图是一个九宫格,数字是一个格子里的可能情况,即12代表此格可以填数字1或2,且只有这两种可能性)
- - -
12 - 12
- - -
12 - 12
- - -
- - -
(当然12也可以是其他的两个任意数字)。
这就是唯一矩形删除法的图形。先下个定义:这个矩形图案只能占用两行、两列和两个九宫格。
先说说唯一矩形删除法的理论基础:
“如果你所做的数独难题只有唯一解的话,那么在这条题里不可能出现如上面所示的矩形图案。”
我们反证一下:
因为如果存在这个矩形图案,那么这个图案就有两种填充情况:
第一种情况如下: 第二种情况如下:
- - - - - -
1 - 2 2 - 1
- - - - - -
2 - 1 1 - 2
- - - - - -
- - - - - -
但是无论那一种情况,每一行、每一列和每一个九宫格都存在1和2,上面的两种情况是等价的。从而导致这题会出现至少两种以上的解,从而相互矛盾了。
我们可以把上面的两种情况的图案叫“致命模式”,1和2为“致命候选数”。
总结:“如果你所做的数独难题只有唯一解的话,那么在这条题里不可能出现如上面所示的唯一矩形图案。”
下面我们就开始介绍唯一矩形的应用吧,我们可以往下推广:
类型A:
如果有如下图形:
- - -
12 - 123
- - -
12 - 12
- - -
- - -
那么:右上角的宫格不能存在1和2,否则就会出现“致命模式”,(123)中的候选数12可以删除掉。
总结说,无论右上角候选数是(123)、(1245)或其他任意组合等,都可以删除里面的候选数1和2。
拓展:一个新概念“致命模式”(此模式下,无论那一种情况,每一行、每一列和每一个九宫格都符合规则,导致出现至少两种以上的解)。不知道是否都有所领悟,不明白的话不妨重温一下哦,本周仍是在“致命模式”的基础上,给大家介绍唯一矩形另外一种类型的应用。
http://img.verycd.com/posts/0707/post-444572-1185524266.jpg
那么,由于上面(2,4)和(2,6)两个宫格不能同时存在1和2,否则就会出现“致命模式”,所以无论怎样,(2,4)和(2,6)中必须有一个包含候选数3,所以上面带“*”号宫格里的候选数3可以删除。
同样的,如果你看到有如下图形:
http://img.verycd.com/posts/0707/post-444572-1185524370.jpg
那么,上面带“*”号宫格里的候选数3可以删除。
http://img.verycd.com/posts/0707/post-444572-1185524044.jpg
根据上面带*的候选数,可以断定a处的候选数6可以删除
http://listen.chinaradiotv.com/wf/img/sd16.jpg
请看<图1>的上右九宫格,数字8、9都只出现在(2,8)和(2,9)这两个宫格的候选数中;这时隐性数对删减法的条件已成立了!这表示上右九宫格的数字8和9将只能填到这两个宫格,而且:如果数字8将填入(2,8),那么(2,9)就一定要填入数字9;反之,如果数字9将填入(2,8),那么(2,9)就一定要填入数字8;
不论哪一个状况出现,(2,8)和(2,9)这两个宫格的候选数中若还有其他数字,全部是多余无用的,因为这两个宫格若填入数字8、9以外的数字,那么上右九宫格的数字8或9就将无处可填了。候选数的意义是可能填入该宫格的数字,而这两个数字以外的数字已不可能再用来填入本宫格中了,所以可以毫不考虑的把它们删减掉。当(2,8)和(2,9)这两个宫格的候选数都安全的删减成数字8、9之后,(2,5)出现了行隐性惟一候选数2,于是可用隐性惟一候选数法来填入下一个解了。
整理一下:
当某个数对仅出现在某个九宫格的某两个宫格候选数中时,就可以把这两个宫格的候选数删减成该数对。
同理,当某个数对仅出现在某列的某两个宫格候选数中时,就可以把这两个宫格的候选数删减成该数对。
当然,当某个数对仅出现在某行的某两个宫格候选数中时,就可以把这两个宫格的候选数删减成该数对。
利用“找出某个数对仅出现在某行、某列或某一个九宫格的某两个宫格候选数中的情形,进而将这两个宫格的候选数删减成该数对”的方法就叫做隐性数对删减法(Hidden Pairs)。
当隐性数对删减法完成后,通常还可引发
数对删减法;以<图1>为例,当(2,8)和(2,9)这两个宫格的候选数都安全的删减成数字8、9之后,还可利用数对删减法把(2,1)、(2,2)、(2,3) 这三个宫格候选数中的数字8删减掉。
隐性数对删减法示例
隐性数对删减法一共有3种状况:第一种发生在行、第二种是发生在列、第三种则发生在九宫格。<图1> 就是发生在九宫格的例子了,其他的情况举例如下:
<图2>是隐性数对删减发生在列的例子:
http://listen.chinaradiotv.com/wf/img/sd17.jpg
图中第2列的数对4、6只出现在(3,2)及(9,2) 这两个宫格的候选数中,所以可以将(3,2)及(9,2)的候选数安全地删减成数对4、6;而经此一删,(3,3)宫格出现了行隐性惟一候选数字1啦!
<图3>是隐性数对删减发生在行的例子:
http://listen.chinaradiotv.com/wf/img/sd18.jpg
图中第7行的数对4、7只出现在(7,1)及(7,8)这两个宫格的候选数中,所以可以将(7,1)及(7,8)的候选数安全删地减成数对4、7;而经此一删,(8,1) 宫格出现了列隐性惟一候选数2啦!
http://www.zzi.cc/sck/fgx/fgx6/03.gif
三链数删减法(关于几格的可能性确定其他格数字的总结)
http://listen.chinaradiotv.com/wf/img/sd19.jpg
请看<图 1>的第6行,(6,2)、(6,3)和(6,9)这三个宫格的候选数中,相异的数字只有4、5、9三个;这时三链数删减法的条件已成立了!
这表示第6行的数字4、5和9将只能填到这三个宫格之中了,因为:如果数字5将填入(6,2),那么(6,3)就一定要填入数字4,而 (6,9)就只能填入数字9了;另外,如果数字9将填入(6,2),那么(6,9)就一定要填入数字4,而(6,3)就只能填入数字5了;不论哪一个状况出现,第6行的数字4、5和9都将被使用,所以可将它们自本列的其他宫格候选数中安全地删减掉,因为这三个数字已不再能成为其他宫格的候选数了。
于是 (6,1)的候选数1、8、9将被删减成1、8;(6,4)的候选数5、6、9将被删减成6;(6,5)的候选数1、4、5、6、8将被删减成1、6、8;唯一候选数已出现在 (6,4)了。
整理一下:
1. 当某列的某三个宫格候选数中,相异的数字不超过3个时,就可以把这3个数字自本列的其他宫格候选数中删减掉了。
2. 同理,当某行的某三个宫格候选数中,相异的数字不超过3个时,就可以把这3个数字自本行的其他宫格候选数中删减掉了。
3. 当然,当某一个九宫格的某三个宫格候选数中,相异的数字不超过3个时,就可以把这3个数字自本九宫格的其他宫格候选数中删减掉了。
利用“找出某一列、某一行或某一个九宫格中的某三个宫格候选数中,相异的数字不超过3个的情形,进而将这3个数字自其他宫格的候选数中删减掉”的方法就叫做三链数删减法(Naked Triples)。
本法其实为数对删除法的推广,在介绍数对删减法时,因为我们的寻找标的是数对,所以使用了一般人较能接受的数对这个名词,而说明成“找出某一行、某一列或某一个九宫格中某两个宫格候选数恰为某个数对的情形,并将该数对自其他宫格候选数中删减掉”的方法就叫做数对删减法。如果将以上的说明内容换成改成“找出某一列、某一行或某一个九宫格中的某二个宫格候选数中,相异的数字不超过2个的情形,进而将这2个数字自其他宫格的候选数中删减掉”的方法就叫做数对删减法也是成立的。
本法还可以继续加以推广:
1. 四链数删减法就是:“找出某一列、某一行或某一个九宫格中的某四个宫格候选数中,相异的数字不超过4个的情形,进而将这4个数字自其他宫格的候选数中删减掉”的方法。
2. 五链数删减法就是:“找出某一列、某一行或某一个九宫格中的某五个宫格候选数中,相异的数字不超过5个的情形,进而将这5个数字自其他宫格的候选数中删减掉”的方法。
如果愿意的话,你确实是可以这样推广的,只是,实用上是否有其应用的空间呢?
三链数删减法示例
三链数删减法一共有3种状况:第一种发生在行、第二种是发生在列、第三种则发生在九宫格。<图1>就是发生在行的例子了,其它的情况举例如下:
<图 2> 是同时应用列及行的三链数删减法的例子:
http://listen.chinaradiotv.com/wf/img/sd20.jpg
首先:第5行中的(5,7)、(5,8)、(5,9)三个宫格候选数中,相异的数字只有1、2、8三个,不论出现的是哪一种状况,数字1、2、8在本行都已使用,所以可以将这3个数字自其他宫格的候选数中删减掉,于是(5,4)及(5,6)的候选数都被删减成4、6。
接下来:第6列中的(1,6)、(4,6)、(9,6)三个宫格候选数中,相异的数字只有5、6、7三个,不论出现的是哪一种状况,数字5、6、7在本列都已使用,所以可以将这3个数字自其他宫格的候选数中删减掉,于是(5,6)的候选数将继续被删减成4,出现唯一候选数了。
<图 3> 是三链数删减法发生在九宫格的例子:
http://listen.chinaradiotv.com/wf/img/sd21.jpg
中央九宫格中的(4,6)、(5,4)、(5,6)三个宫格候选数中,相异的数字只有3、8、9三个,所以可以将这3个数字自其他宫格的候选数中删减掉,于是(6,4)的候选数3、5、9将被删减成5,出现唯一候选数了。
http://www.zzi.cc/sck/fgx/fgx6/03.gif
接下来,与三链数删减法类似的隐性三链数删减法
http://img.verycd.com/posts/0707/post-444572-1185520703.jpg
请看<图1>的第2行,数字1、7、8只出现在(2,1)、(2,7)和(2,8)这三个宫格的候选数中;这时隐性三链数删减法的条件已成立了!这表示第2行的数字1、7和8将只能填到这三个宫格中。
原因:如果让别的数字填入这三个宫格之中后,这三个相异的数字能填入的可能宫格就只剩下两个,而那是不可能的事!所以若这三个宫格的候选数中还有其他数字,全部是多余无用的,它们已不可能再用来填入这些宫格中了,所以可以毫不考虑地把它们删减掉。于是(2,7)和(2,8)这两个宫格候选数中的6都可被安全地删减掉;其中(2,7)的候选数少了数字6,将使得(8,7)出现列隐性唯一候选数6,于是可用隐性唯一候选数法来填入下一个解了。
整理一下:
当某3个数字仅出现在某列的某三个宫格
候选数中时,就可以把这三个宫格的候选数删减成该3个数字。
同理,当某3个数字仅出现在某行的某三个宫格候选数中时,就可以把这三个宫格的候选数删减成该3个数字。
当然,当某3个数字仅出现在某个九宫格的某三个宫格候选数中时,就可以把这三个宫格的候选数删减成该3个数字。
利用“找出某3个数字仅出现在某行、某列或某一个九宫格的某三个宫格候选数中的情形,进而将这三个宫格的候选数删减成该3个数字”的方法就叫做隐性三链数删减法(Hidden Triples)。
本法其实还可以继续加以推广:
隐性四链数删减法就是:“找出某4个数字仅出现在某行、某列或某一个九宫格的某四个宫格候选数中的情形,进而将这四个宫格的候选数删减成该4个数字”的方法。
隐性五链数删减法就是:“找出某5个数字仅出现在某行、某列或某一个九宫格的某五个宫格候选数中的情形,进而将这五个宫格的候选数删减成该5个数字”的方法。
……
隐性三链数删减法示例
隐性三链数删减法一共有3种状况:第一种发生在行、第二种是发生在列、第三种则发生在九宫格。
<图1>就是发生在行的例子。
http://img.verycd.com/posts/0707/post-444572-1185520961.jpg
<图2>是隐性三链数删减发生在列的例子:图中第4列的数字2、4、9只出现在(4,4)、(5,4)及(6,4)这三个宫格的候选数中,所以可以将三个宫格候选数中2、4、9以外的数字安全的删减掉,(4,4)的候选数删减成2、4;(5,4)的候选数删减成2、4、9;(6,4)的候选数删减成9;出现了唯一候选数啦!
http://www.zzi.cc/sck/fgx/fgx6/03.gif
唯一矩形删除
什么叫唯一矩形删除法?大家往下看看这个图形:(图片我直接用数字了,每个图是一个九宫格,数字是一个格子里的可能情况,即12代表此格可以填数字1或2,且只有这两种可能性)
- - -
12 - 12
- - -
12 - 12
- - -
- - -
(当然12也可以是其他的两个任意数字)。
这就是唯一矩形删除法的图形。先下个定义:这个矩形图案只能占用两行、两列和两个九宫格。
先说说唯一矩形删除法的理论基础:
“如果你所做的数独难题只有唯一解的话,那么在这条题里不可能出现如上面所示的矩形图案。”
我们反证一下:
因为如果存在这个矩形图案,那么这个图案就有两种填充情况:
第一种情况如下: 第二种情况如下:
- - - - - -
1 - 2 2 - 1
- - - - - -
2 - 1 1 - 2
- - - - - -
- - - - - -
但是无论那一种情况,每一行、每一列和每一个九宫格都存在1和2,上面的两种情况是等价的。从而导致这题会出现至少两种以上的解,从而相互矛盾了。
我们可以把上面的两种情况的图案叫“致命模式”,1和2为“致命候选数”。
总结:“如果你所做的数独难题只有唯一解的话,那么在这条题里不可能出现如上面所示的唯一矩形图案。”
下面我们就开始介绍唯一矩形的应用吧,我们可以往下推广:
类型A:
如果有如下图形:
- - -
12 - 123
- - -
12 - 12
- - -
- - -
那么:右上角的宫格不能存在1和2,否则就会出现“致命模式”,(123)中的候选数12可以删除掉。
总结说,无论右上角候选数是(123)、(1245)或其他任意组合等,都可以删除里面的候选数1和2。
拓展:一个新概念“致命模式”(此模式下,无论那一种情况,每一行、每一列和每一个九宫格都符合规则,导致出现至少两种以上的解)。不知道是否都有所领悟,不明白的话不妨重温一下哦,本周仍是在“致命模式”的基础上,给大家介绍唯一矩形另外一种类型的应用。
http://img.verycd.com/posts/0707/post-444572-1185524266.jpg
那么,由于上面(2,4)和(2,6)两个宫格不能同时存在1和2,否则就会出现“致命模式”,所以无论怎样,(2,4)和(2,6)中必须有一个包含候选数3,所以上面带“*”号宫格里的候选数3可以删除。
同样的,如果你看到有如下图形:
http://img.verycd.com/posts/0707/post-444572-1185524370.jpg
那么,上面带“*”号宫格里的候选数3可以删除。
http://img.verycd.com/posts/0707/post-444572-1185524044.jpg
根据上面带*的候选数,可以断定a处的候选数6可以删除
后一篇:销售:究竟要你做什么