数独快速入门
数独快速入门(上篇)
浏览 141643
范例一:
http://oubk.com
在左边第一个九宫格里,哪格可以放数字1,
先看到再第一列和第二列里已经有了数字1,
所以很明显了,除了棕色格子之外,上面两列格子已经不能放1了。
范例二:
换个进阶范例来看看,
已知第一列和第二列不能放1,但仅就第三列而言,2的旁边似乎都可以放1的样子,
但再看看被颜色标示的第三行,
看到第三行有1之后,就知道棕色格子应该放1。
范例三:
来个更进阶点的,想想左上角第一个九宫格里,哪一格可以放1,
再看 先看看前两列,应该不能放1,
看被颜色标示的第二行与第三行,又是不能放1,
很显然的,就只有棕色格子能放1。
范例四:
再看看这个重要范例,想想左上角第一个九宫格里,哪格可以放1,
先看看被颜色标示的第二列,
再看看被颜色标示的第二行,
经过分析后可知1要放在这棕色格子。
范例五:
换个轻松点的范例,
看看第一列,数字有哪些,
显而易见的就是缺1。
数独快速入门(中篇)
范例一:
浏览 101591 http://oubk.com
看看这个比上篇难的,想想1能放在哪里呢,
被颜色标示起来的第一列和第一行已经不能放1了,
就左上角的九宫格而言,在红色标示区域似乎是可以摆1的,
但在这里而言,似乎无法决定1放在两格红色区域的哪一格,
所以,可以先看看邻近的九宫格,发现到棕色格子能放1喔,这时候就不用怀
疑马上写下1。
范例二:
看看这个有技术性的,想想1能放在哪里,
看到黄色的第一列已经有1,所以不能再放1了,
就中央的九宫格而言,合理的推论,1一定是在第二列中央红色三
格的其中之一了,
既然知道第二列的情况,再考虑黄色区域后,
那么可以先确定右方九宫格的1必然放在这棕色格子。
范例三:
由上篇的概念再进阶,考虑这上面三个九宫格,看看能否决定1的
位置,
黄色标示的第三行已先被排除,
就第一个九宫格而言,1一定在红色区域,
就黄色标示区域来看,已不能再放1了,
这时可以马上先决定右上九宫格里的棕色格子是能放1的啦。
范例四:
看到这左上方九宫格的第一列,就可以马上知道缺了哪两个数字,
是不是已经看出红色格子不是1就是9了,
但是又看到第二行有1,所以很轻松知道左上棕色格子一定是1,
接下来9就确定在红色格子了。
范例五:
先看看这第一列,
左上方的九宫格里,第一列绝对有1、8、9,
再考虑到第一行黄色区域,看到有8和9,
这下就可确定1绝对放在左上角的棕色格子。
数独快速入门(下篇)
范例一:
浏览 108029 http://oubk.com
来看看这个高级进阶例子,可以先把眼光放在第一列和第一行,
看到在黄色区域里都有2和3,所以此黄色区域已经不能再放2和
3了,
这时可以考虑到左上九宫格里的红色格子能放2和3,
再看到第一列和第三列的黄色区域,这黄色区域里已经不能放1,
在左上九宫格里,能放1的只有红色与棕色格子,但红色格子将会
被2和3所占据,所以能确定棕色格子必然为1。
范例二:
看看左上方九宫格里,能否由些微线索决定1的位置,
首先,看到第一列后先排除5、6、7,又因左上方九宫格里有2、
3、4,再排除这三个数字,这下,在左上方九宫格的第一列,只剩下1、8、9可以填,然后,又看到第一行有8和9,所以,棕色格子必然不会是8和9,那么,就只剩下1可以填入啦!
XY形态匹配法(XY-wing)
XY形态匹配法虽然是一个高级的数独技巧,但是应用的机会却还挺多的。先看看XY形态究竟是怎样的:
浏览 21667
http://oubk.com
上图所示是四个相邻的(也可不相邻)区块。XY,XZ和YZ分别表示只有两个候选数的单元格,但它们的候选数部分重叠。可以看到,不管XY最后取什么值,星号所示的位置不可能是Z值。这是因为:
1. 如果XY取X值,则与其同行的XZ只能取Z值,这样星号所示单元格就不能为Z值。 2. 如果XY取Y值,则与其同列的YZ只能取Z值,而星号所示的单元格同样不能是Z值。
于是,就可以把Z值从星号所示的单元格中去除。下面是一个实例:
上图中,单元格[F3]是XY,[F6]是XZ,[I3]是YZ,这三个单元格分别位于不同的区块中。其中X是3,Y是9,Z是5。根据我们上面的分析,在单元格[I6]中的候选数5将被删除。
XY形态的第二种表现方式如下:
这时,XY和YZ同在一个区块但不同行中,而XZ和XY在同一行,但在不同区块中。同样,所有打星号的单元格中不能是Z值。这是因为:
1. 如果XY=X,则XZ=Z。那么XZ所在的行和区块中就不能再出现Z; 2. 如果XY=Y,则YZ=Z。那么YZ所在的行和区块中就不能再出现Z。
这种情况比第一种XY形态更为常见,看下面这个实例:
在上图中,单元格[D7]是XY,[D2]是XZ,[E8]是YZ,XY和YZ在同一区块中,而XZ在横向的另一区块中。其中X=4,Y=9,Z=7。根据上面的分析,则[E2]和[D8]中的候选数7将被删除。
当然还会出现第二种XY形态的变形,即XY和YZ在同一区块但不同列中,而XY和XZ在同一列的不同区块中:
分析方法与之前一样,结果是打星号的单元格中不能出现候选数Z。例:
在上图中,单元格[I8]是XY,[B8]是XZ,[G9]是YZ,XY和YZ在同一区块中,而XZ在纵向的另一区块中。其中X=3,Y=2,Z=6。根据上面的分析,则[A9],[B9],[C9]和[H8]中的候选数7将被删除。
下面是其他的一些应用XY形态匹配法的例子:
XYZ形态匹配法(XYZ-wing)
http://oubk.com
浏览 19007
XYZ形态匹配法很象XY形态匹配法,但不同的是,这次有一个单元格包含3个候选数。典型的XYZ形态如下:
其中,XYZ表示该单元格有三个候选数,它与YZ在同一区块但不同列中,而与XZ在同一列但不同区块中。如果满足这样的条件,则星号所示的单元格中一定不能包含候选数Z。这是因为:
1. 如果XYZ=X,则YZ必然为Z。那么在同一区块中的星号所示的单元格自然就不能为Z。 2. 如果XYZ=Y,则XZ必然为Z。那么与XZ同一列的星号所示的单元格自然也就不能为Z。 3. 如果XYZ=Z,则与它同一区块的星号所在的单元格肯定不能是Z。
这样,我们就实现了对星号所在的单元格中候选数的删减。看一个例子:
在上图中,[D5]=XYZ,[D6]=YZ,[B5]=XZ。[D5]和[D6]在同一区块中,[D5]和[B5]在同一列中。其中,X=9,Y=7,Z=6。根据上面的分析,单元格[F5]中将不能含有候选数6。
当然,XYZ形态也有横向的变形:
分析的方法与之前一致,结果是把候选数Z从星号所示的单元格中删除。例:
在上图中,[B2]=XYZ,[C3]=YZ,[B9]=XZ。[B2]和[C3]在同一区块中,[B2]和[B9]在同一行中。其中,X=2,Y=5,Z=4。根据上面的分析,单元格[B1]中将不能含有候选数4。
下面是其他的一些实例,可以帮助快速掌握这一技法:
WXYZ形态匹配法(WXYZ-wing)
WXYZ形态匹配法是更加进阶的形态匹配法,但它将涉及到一个单元格包含4个候选数的情况。典型的WXYZ形态如下:
浏览 35818
http://oubk.com
其中WXYZ表示拥有4个候选数的单元格,它与WZ在同一区块但不同列中,而与XZ和YZ在不同区块但在同一列中。满足了这样的形态后,星号所示的单元格中将不能含有候选数Z。这是因为:
1. 如果WXYZ=W,则WZ必为Z,而同一区块中的星号所示的单元格中必然不能填入Z。 2. 如果WXYZ=X,则XZ必为Z,而同一列中的星号所示的单元格中不可能再填Z。 3. 如果WXYZ=Y,则YZ必为Z,而同一列中的星号所示的单元格中不可能再填Z。 4. 如果WXYZ=Z,则同一区块中的星号所示的单元格中不能再为Z。
所以无论WXYZ填什么,星号所示的单元格都不能填入Z。看一个实例:
在上图中,[A8]=WXYZ,[A9]=WZ,[F8]=XZ,[G8]=YZ。[A8]和[A9]在同一区块中,而[A8]和[F8]及[G8]在同一列中。其中,W=2,X=4,Y=6,Z=5。于是,根据上述分析,[B8]中的候选数5将被删除。
当然也存在WXYZ形态的其他变形:
分析方法也同上。这时,星号所示的单元格为与WXYZ在同一区块及同一行的单元格,它们将不能填入候选数Z。再看一个例子:
在上图中,[G3]=WXYZ,[I1]=WZ,[G5]=XZ,[G7]=YZ。[G3]和[I1]在同一区块中,而[G3]和[G5]及[G7]在同一行中。其中,W=2,X=3,Y=7,Z=1。于是,根据上述分析,[G2]中的候选数1将被删除。
下面是其他的一些例子:
三链数删减法 (Swordfish)
能够应用三链数删减法的场合真是太少了,下面的例子是在经历无数次尝试后才找到的。这个方法是X形态匹配法的一种扩展。这次要考虑的是3行和3列,而不是2行和2列。
先看下图:
浏览 29328
http://oubk.com
观察数字9,在第1列,9只出现在[A1]和[E1],在第4列,9只出现在[E4]和[I4],而在第5列,9只出现在[A5]和[I5];也就是说,对于第1列,第4列和第5列而言,数字9在每列只出现两次,且一共只出现在3行上,即行A,行E和行I。
现在我们把数字9在这几列中所有可能的位置都列举出来:
1. 对于第1列,假设[A1]=9,则行A中[A5]必不为9,所以对于第5列,只可能[I5]=9,这时行I
中[I4]不能为9,则对于第4列,只有[E4]=9。
2. 对于第1列,假设[E1]=9,则行E中[E4]必不为9,所以对于第4列,只可能[I4]=9,这时行I
中[I5]不能是9,则在第5列中,只有[A5]=9。
所以在这个例子中,只会有两种可能,就是9要么同时出现在[A1],[E4]和[I5]中,要么同时出现在[A5],[E1]和[I4]中。
无论是哪种可能,行A,行E和行I中都会有9出现,则这三行中的其他单元格上将不能再出现9。所以[A6]和[E2]候选数中的9将被删除。
总结一下,如果某个数字在某三列中只出现在相同的三行中,则这个数字将从这三行上其他的候选数中删除。
同样,如果某个数字在某三行中只出现在相同的三列中,则这个数字也将从这三列上其他的候选数中删除。例如
在这个示例中,数字6在行C,行F和行H的位置只在第5列,第7列和第8列上。这样就满足了使用三链数删减法的条件。结果是把数字6从第7列的[G7]和[I7]中,以及从第8列的[G8]中删除。
三链数删减法不可能出现在区块中。
矩形对角线法 (X-wing)
浏览 32066
矩形对角线法是比较高级的谜题解法,应用的机会比较少,但对于有些复杂的谜题也可以有效地删减候选数。
先观察下图
http://oubk.com
在行B和行G中,数字7都正好出现两次,且都位于第2列和第7列上;也就是说,在行B和行G中,数字7不是填入第2列,就是填入第7列。
而如果在行B中,[B2]=7,则对于行G,[G2]就不能是7,这是因为[G2]和[B2]在同一列上,这样[G7]就一定是7。
反之,如果在行B中,[B7]=7,则对于行G,[G7]就不能是7,7只能在[G2]。 简单地说,只可能有两种情况:[B2]=7且[G7]=7;或者[B7]=7且[G2]=7。
但无论是哪种情况,第2列和第7列中都肯定会出现数字7,所以这两列中其他的单元格中就不可能再有7。这样,就可以把7从其他的单元格的候选数中删除了,所以第2列中的[A2]以及第7列中的[C7],[D7]和[E7]的候选数中将不会再有7。
总结一下,如果一个数字正好出现且只出现在某两行的相同的两列上,则这个数字就可以从这两列上其他的单元格的候选数中删除。
当然,同样的情形也会出现在列中,也就是说,如果一个数字正好出现且只出现在某两列的相同的两行上,则这个数字就可以从这两行上的其他单元格的候选数中删除。例如:
可以看到,在第1列和第7列上,数字9出现且只出现在行C和行G上,也就是说,在第1列中,要么[C1]=9,要么[G1]=9;而对于第7列,要么[C7]=9,要么[G7]=9。而对于这两列只有两种情况,[C1]=9且[G7]=9;或者[C7]=9且[G1]=9。无论是上述哪种情况,行C和行G上都会有数字9出现,则这两行上其他的单元格中不能再有9。所以行C上的[C4]和[C5]以及行G上的[G2]和[G5]候选数中的9将被删除。 矩形对角线法不可能出现在区块中。
隐式数对法 (Hidden Pair)
对比显式数对法,隐式数对法也需要在同一行,列或区块中寻找两个单元格,而这两个单元格上都包含有一个数对(两个数字),且这个数对不会出现在该行,列或区块的其他单元格上。然而,应用隐式数对法却要困难得多,因为它与显式数对法不同的是,包含有数对的单元格的候选数中可能还包含有其他的数字。
先看下图:
浏览 21117
http://oubk.com
可以看到,在行A中,数对{3, 6}只出现在[A4]和[A8]的候选数中,也就是说,数字3和6不可能再出现在该行的其他单元格中,这是因为这两个单元格中必然只能填入3和6,否则该行将缺少这两个数字。这样,如果[A4]=3,则[A8]=6;反之,如果[A4]=6,则[A8]=3,不会再有其他的情况。所以我们可以放心地把其他的数字从这两个单元格的候选数中删除。
下面是隐式数对在列中的例子:
在第1列中,数对{2, 9}只出现在[G1]和[I1]的候选数中,这样就符合了上面所述的隐式数对的条件,所以可以很安全地把其他数字从这两个单元格的候选数中删除,使这两个单元格中只保留了显式数对{2, 9}。
在区块中也是如此:
在起始于[D4]的区块中,数对{2, 8}只出现在[E6]和[F6]的候选数中,所以这两个单元格上其他的候选数将被删除,而只保留了数对{2, 8}。
总结一下,隐式数对的条件是,在同一行,列或区块中,如果一个数对(两个数字)正好只出现且都出现在两个单元格中,则这两个单元格的候选数中的其他数字可以被删除。
隐式数对不象显式数对法那么容易发现,所以在解题时需要相对的耐心和细心。与显式数对法不同的是,隐式数对法只影响出现隐式数对的单元格,而不影响其所在行,列或区块的其他单元格,这是因为这些其他的单元格中都不包含有这个数对。但通过隐式数对法删减了候选数后,隐式数对将转化为显式数对,可能会为其他的行,列或区块应用各种候选数删减法创造条件。
隐式三数集法 (Hidden Triplet)
与隐式数对法类似,这次需要3个数字和3个单元格。即当某个3个数字只出现在某行,列或区块的3个单元格中,且每个单元格中至少包含有其中的2个数字时,则可以把其他数字从这3个单元格的候选数中删除。与显式三数集法类似,举例来说,对于三数集{2, 4, 5},如果某行,列或区块中的三个单元格的候选数集依次为以下情况时,都符合隐式三数集的条件:
{2, 4, 5, 8} {1, 2, 4, 5} {2, 3, 4, 5, 9},或 {2, 4} {2, 3, 5} {4, 5, 7},或 {4, 5} {2, 5, 8} {1, 2, 3, 4, 5},或 {1, 2, 5} {2, 4, 8} {4, 5, 9},或 ......
具体分析先看下图:
浏览 16271
http://oubk.com
在行H中,三数集{5, 8, 9}中的任何数字都只出现在[H1],[H3]和[H5]的候选数中,其中[H1]包含了数字5和9;[H3]包含了数字8和9;而[H5]中包含了数字5和8。这说明数字5,8和9只能填入这三个单元格中,所以其他候选数不能出现在这三个单元格中。因此数字1和3将从[H1]的候选数中删除,而数字3和4将从[H3]的候选数中删除。
下面是隐式三数集在列中的例子:
在第7列中,三数集{3, 7, 9}中的任何数字都只出现在[F7],[G7]和[H7]的候选数中,其中[F7]包含了数字3和7;[G7]包含了数字3和9,而[H7]包含了数字3,7和9。这样,就符合了隐式三数集法的基本条件,不在这个三数集内的数字将从这三个单元格的候选数中删除。
隐式三数集还有可能发生在区块内:
在起始于[G7]的区块中,三数集{3,6,7}中的任何数字都只出现在[G8],[G9]和[H8]的候选数中,其中[G8]包含了数字3,6和7;[G9]包含了数字3和7,而[H8]包含了数字3和6。这样,就符合了隐式三数集法的基本条件,不在这个三数集内的数字将从这三个单元格的候选数中删除。
隐式三数集法属于难度比较高的方法,在处理一般谜题时较少碰到。隐式三数集法只影响包含隐式三数集的三个单元格,与隐式数对法相似,删减的结果是把隐式三数集转换为显式三数集,并可能为使用其他的候选数删减法创造条件。
隐式四数集法 (Hidden Quad)
这是一个极少用到的方法,因为它的条件比较难以满足。与隐式三数集法类似,这次需要4个数字和4个单元格。即当某个4个数字只出现在某行,列或区块的4个单元格中,且每个单元格中至少包含有其中的2个数字时,则可以把其他数字从这4个单元格的候选数中删除。与显式四数集法类似,举例来说,对于四数集{1, 2, 4, 5},如果某行,列或区块中的四个单元格的候选数集依次为以下情况时,都符合隐式四数集的条件:
{1, 2, 3, 4, 5} {1, 2, 4, 5, 8} {1, 2, 4, 5} {1, 2, 4, 5, 9},或
{1, 2, 4} {1, 5, 8} {2, 3, 5} {4, 5, 7},或
{4, 5} {1, 2, 4, 6} {2, 5, 8} {1, 2, 3, 4, 5},或
{1, 2, 3, 5} {1, 5} {2, 4, 8} {4, 5, 9},或
......
象这样的组合可能会有很多。
具体分析先看下图:
浏览 15143 http://oubk.com
在行A中,四数集{2, 4, 8, 9}中的任何数字都只出现在[A4],[A6],[A7]和[A8]的候选数中,其中[A4]包含了数字2和4;[A6]包含了数字2,4和8;[A7]包含了数字4和9,而[A8]包含了数字2,8和9。这样,就符合了隐式四数集法的基本条件,不在这个四数集内的数字将从这四个单元格的候选数中删除。 当然,我们也可以看到,即使不用隐式四数集法,由于[A3]和[A5]形成了明显的显式数对,同样也可用显式数对法对该行其他单元格候选数的删减。这里,我们为了讲解隐式四数集法,所以优先使用该方法。这也说明能应用这种方法的机会很少,因为经过很多较简单方法对候选数进行多番删减以后,已经较难满足隐式四数集的基本条件。
同样,下面的谜题,我们本来可以用显式数对法来解决,但这里暂时优先使用隐式四数集法:
在第6列中,四数集{1, 4, 8, 9}中的任何数字都只出现在[A6],[D6],[E6]和[I6]的候选数中,其中[A6]包含了数字1和4;[D6]包含了数字1,8和9;[E6]包含了数字4和9,而[I6]包含了数字8和9。这样,就符合了隐式四数集法的基本条件,不在这个四数集内的数字将从这四个单元格的候选数中删除。
当然,在区块中也可应用隐式四数集法,因为鲜少有这样的例子,且与上面介绍的行与列中的隐式四数集类似,所以这里不再举例。
隐式四数集法只影响包含隐式四数集的四个单元格,与隐式数对法相似,删减的结果是把隐式四数集转换成显式四数集,并可能为使用其他的候选数删减法创造条件。这个方法一般在解决较为复杂的谜题时才有可能用到。
区块删减法 (Intersection Removal)
应用显式唯一法和隐式唯一法只能解决简单的谜题,遇到稍复杂的谜题,还是要靠其他的方法。区块删减法也是比较常用的方法,它的目的是尽量删减候选数,而不一定要生成某一单元格的唯一解(当然,产生唯一解更好)。区块删减法是利用区块中的候选数和行或列上的候选数之间的交互影响而实现的一种删减方法,它分为两种情况:
浏览 19174 http://oubk.com
区块对行或列的影响
观察下图:
可以看到在起始于[A7]的区块中,数字9只出现在[A9]和[C9]的候选数中,更巧的是,[A9]和[C9]正好都在同一列上,即第9列。这时就可以应用区块删减法了。具体地说,在起始于[A7]的区块中,数字9只能填在[A9]或是[C9]中,又因为这两个单元格都在第9列上,所以无论数字9填在哪个单元格中,第9列的其他单元格中都不能再填数字9,所以要把9从它们的候选数中删除。在上图中,位于第9列的单元格[E9]中的候选数9将被删除。
下图说明的是区块对行的影响:
在起始于[G1]的区块中,只有[H2]和[H3]可以填入数字3,而这两个单元格正好都在行H中。同样的道理,在这个区块中无论数字3填入[H2]还是[H3],行H中的其他单元格中都不可能再填入3,所以在单元格[H4],
[H6]和[H7]的候选数中的3将被删除。
显式四数集法 (Naked Quad)
显式四数集法比较少见,如果你已经对显式三数集法比较了解,则对显式四数集法也会很快掌握。
先举个例子,对于数字集{1, 2, 4, 5},如果在某行,列或区块中有4个单元格的候选数分别为下面几种情况时,都可应用显式四数集法,即4个单元格的候选数集可以分别为:
{1, 2, 4, 5} {1, 2, 4, 5} {1, 2, 4, 5} {1, 2, 4, 5},或
{1, 2, 4} {1, 4, 5} {2, 5} {1, 2},或
{1, 2, 4, 5} {2, 5} {2, 4, 5} {1, 2, 4, 5},或
{2, 5} {4, 5} {1, 2, 5} {1, 2, 4},或
{1, 2, 5} {1, 2, 4, 5} {1, 2, 4, 5} {2, 4},或
......
这样的组合情况可以很多。也就是说,要形成显式四数集,则必须要有4个在同一行,列或区块中的单元格,每个单元格中至少要有2个候选数,且它们的所有候选数字也正好都是一个四数集的子集。由于这个四数集中的4个数字正好可以分别填入这4个单元格中,所以该行,列或区块中其他的单元格中不可能再填入这4个数字。
但要注意的是,下面的这种情况不是显式四数集:
{1, 2, 4, 5} {2, 4} {2, 5} {2, 4, 5}
其中{2, 4} {2, 5}和{2, 4, 5}可应用显式三数集法,所以第一个候选数集{1, 2, 4, 5}将只能剩下候选数1,这时就可应用显式唯一法了。
看下图: 浏览 18630 http://oubk.com
很明显,在行D中,[D1],[D4],[D6]和[D8]中分别包含了候选数集{3, 5, 6},{2, 5, 6},{2, 5, 6}和{3, 5, 6},即分别都是四数集{2, 3, 5, 6}的子集。这样在行D中,数字2,3,5和6就只能填入这4个单元格中,所以[D3]和[D7]的候选数中将不能包含这几个数字。
下面是显式四数集在列中的例子:
在第9列中,[C9],[D9],[E9]和[G9]中分别包含了候选数集{1, 7, 8},{1, 8},{6, 7, 8}和{6, 7, 8},即分别都是四数集{1, 6, 7, 8}的子集。这样数字1,6,7和8就不能填入该列中除这四个单元格之外的单元格中,所以[A9]和[B9]的候选数中将不能出现这四个数字。
同样,显式四数集也可以出现在区块中:
在起始于[A7]的区块中,[B9],[C7],[C8]和[C9]中分别包含了候选数集{6, 7},{1, 6, 8},{7, 8}和{1, 6, 7, 8},即它们分别都是四数集{1, 6, 7, 8}的子集。这样,数字1,6,7和8就不能填入该区块中除这四个单元格之外的单元格中,所以[A7]和[A8]的候选数中将不能出现这四个数字。
当然,掌握了显式四数集法,我们同样可以演绎出显式五数集法,显式六数集法等,但因为显式四数集法出现的几率已经较小,所以我们不指望推演出的更多方法能在解决数独谜题上带给我们有效的帮助。
显式三数集法 (Naked Triplet)
显式三数集法并不如显式数对法那样常见,但它们的原理却很相似。显式数对法要求同样的2个数字都出现在某行,列或区块的2个单元格中,且这2个单元格的候选数不能包含其他的数字。同样,显式三数集法要求的是3个数字要出现在3个位于同一行,列或区块的单元格中,且这3个单元格的候选数中不能包含其他数字。但不同的是,显式三数集法不要求每个单元格中都要包含这3个数字。例如,对于数字集{2,4,5},如果在某行,列或区块中有3个单元格的候选数分别为下面几种情况时,都可应用显式三数集法,即3个单元格的候选数集可以分别为:
{2, 4, 5} {2, 4, 5} {2, 4, 5},或
{2, 4} {4, 5} {2, 5},或
{2, 4, 5} {2, 5} {4, 5},或
{2, 4, 5} {4, 5} {2, 4, 5},或
......
也就是说,要形成显式三数集,则必须要有3个在同一行,列或区块中的单元格,每个单元格中至少要有2个候选数,且它们的所有候选数字也正好都是一个三数集的子集。由于这个三数集中的3个数字正好可以分别填入这3个单元格中,所以该行,列或区块中其他的单元格中不可能再填入这3个数字。 但要注意的是,下面的这种情况不是显式三数集:
{2, 4, 5} {2, 4} {2, 4}
其中{2, 4}和{2, 4}可应用显式数对法,所以第一个候选数集{2, 4, 5}将只能剩下候选数5,这时就可应用显式唯一法了。
看下图: 浏览 16849 http://oubk.com
在行D中,[D1],[D7]和[D8]中分别包含候选数集{3, 5, 9},{3, 5, 9}和{5, 9},根据上面的知识,可以判断出这是一个显式三数集,因此数字3,5和9不可能再出现在行内其他的单元格中,所以[D4]和[D6]的候选数中的3,5和9将被删除。
下面是列中的显式三数集的例子:
在第2列中,[G2],[H2]和[I2]中分别包含候选数集{2, 6},{2, 5}和{2, 5, 6},所以数字2,5和6只能在这三个单元格中分别填入,而不可能填入到该列的其他单元格中,因此[A2],[B2]和[E2]的候选数中的2,5和6将被删除。
细心的朋友可能还发现,[G2],[H2]和[I2]不仅都在第2列中,而且又恰好都在起始于[G1]的区块中,对于数字5,已经符合区块删减法的条件,可惜的是,第2列中其他单元格的候选数中都没有5可以删减。 同样,显式三数集还有在区块中的可能:
在起始于[D7]的区块中,[D8],[D9]和[E9]中分别包含了候选数集{4, 9},{4, 8, 9}和{8, 9},这样区块中其他的单元格中不能再填入数字4,8和9,可以删减的单元格是[E7]和[E8]。
显式数对法 (Naked Pair)
显式数对法在很多谜题中都可以得到应用,它的条件比较容易满足,而且显而易见。
先看下图:
浏览 21054 http://oubk.com
在行E中,[E2]和[E8]中候选数只有两个,且都是2和3,即构成一个{2, 3}的数对。这使得该行中其他单元格中不能再出现2或3。为什么呢,因为假设[E2]=2,则[E8]一定要填3;反之,假设[E2]=3,则[E8]则一定填2,不会再出现其他的情况。所以2和3必然不能成为该行中其他单元格的候选数。这样,[E3],
[E4]和[E5]的候选数中都不能再有2和3。
对于列也是这样:
在第3列中,数对{6, 8}只出现且都出现在[A3]和[H3]中,所以其他单元格里都不能再有这两个数字。这样,
[C3]的候选数中将删除6和8,而[F3]的候选数中将删除8。
同样,别忘了还有区块:
观察起始于[G4]的区块,可以发现[G5]和[I4]中含有数对{2, 4},这样,该区块中其他的单元格里都不能再有数字2和4,这次受影响的有4个单元格,分别是[G4],[H4],[I5]和[I6]。
总结一下显式数对的条件,也就是,在一个行,列或区块中,如果有两个单元格都包含且只包含相同的两个候选数,则这两个候选数字不能再出现在该行,列或区块的其他单元格的候选数中。
数独(SuDoku)介绍
浏览 60920
数独(日语:数独 すうどく)是一种源自18世纪末的瑞士,后在美国
发展、并在日本得以发扬光大的数学智力拼图游戏。拼图是九宫格(即3
格宽×3格高)的正方形状,每一格又细分为一个九宫格。在每一个小九
宫格中,分别填上1至9的数字,让整个大九宫格每一列、每一行的数字都不重复。
数独的玩法逻辑简单,数字排列方式千变万化。不少教育者认为数独是锻炼脑筋的好方法。
历史
如今数独的雏型首先于1970年代由美国的一家数学逻辑游戏杂志发表,当时名为Number Place。现今流行的数独于1984年由日本游戏杂志《パズル通信ニコリ》发表并得了现时的名称。数独本是“独立的数字”的省略,因为每一个方格都填上一个个位数。
数独冲出日本成为英国当下的流行游戏,多得曾任香港高等法院法官的高乐德(Wayne Gould)。2004年,他在日本旅行的时候,发现杂志的这款游戏,便带回伦敦向《泰晤士报》推介并获得接纳。英国《每日邮报》也于三日后开始连载,使数独在英国正式掀起热潮。其他国家和地区受其影响也开始连载数独。 数独术语
要理解如何对一个数独题求解,我们先来介绍一些在本网站中使用的术语。
单元格和值
一个数独谜题通常包含有9x9=81个单元格,每个单元格仅能填写一个值。对一个未完成的数独题,有些单元格中已经填入了值,另外的单元格则为空,等待解题者来完成。
行和列
习惯上,横为行,纵为列,在这里也不例外。行由横向的9个单元格组成,而列由纵向的9个单元格组成。很明显,整个谜题由9行和9列组成。为了避免混淆,这里用大写英文字母和数字分别表示行和列。例如,单元格[G6]指的是行G和第6列交界处的单元格,它已填入了值7。
区块
术语区块指的是起始于特定位置的9个相邻的单元格组。在上图中,区块用交替相间的背景颜色来注明。例如,对于最左上角的区块,我们表示为起始于[A1]的区块。
单元
任何一行,一列或一个区块都是一个单元。每个单元都必须包含全部但不重复的数字1到9。
数独题目难度
很多人认为数独题目的难度取决于已填入谜题中的数字的数量,其实这并不尽然。一般来说,填入的数字越多,题目就越容易求解。然而实际上,有很多填入数字多的题目比填入数字少的题目要难得多。这就需要有其他的方法来确定的难度。
在应用中使用得比较多的一种方法是看看要解决一道数独题目需要用到哪些数独技巧。极简单的题目用到的可能只是最基本的技巧。而相对复杂的题目可能要用到十分高深的解题方法。通过这样来设定游戏的难度相对而言较为客观。
数独的变化 http://oubk.com
人们总是不满足于已有的一切。同样,对于普遍使用的9x9谜题而言,大量涌现的变形数独题也在不断丰富着数独家族。
一种比较常见的数独变形是大小上的改变。现在已有的大小包括:4x4,6x6,12x12,16x16,25x25,甚至还有100x100。
另一种数独变形题是在原数独规则的基础上加入其他的规则。譬如X形数独就要求除原来的数独规则外,连主对角线上的单元格也要满足数字1到9的唯一性和完整性。而杀手数独则要求每个“区”(虚线环绕的一组单元格)中的值必须唯一且总和等于区的右上角所指定的数字。
矩形排除法 ( Rectangle Elimination Technique)
矩形排除法虽然浅显易懂,但一般在实际解题的时候应用得却比较少。这是因为即使谜题中存在满足使用这一方法的情况,也很难直接看出来。然而,相对组合排除法而言,在解题过程中倒是能有更多的机会用上矩形排除法。下面先看一个例子:
浏览 24651 http://oubk.com
对于这个谜题,如果不用矩形排除法是无法继续下去的。我们将通过讲解这种技法,从而找到数字8在起始于[G1]的区块中的位置。乍看之下,好象一筹莫展。因为[B2]和[E3]上的8只能列排除左下角这个区块中的[G2], [H2],[G3]和[I3]这4个单元格,这时仍剩下两个单元格[G1]和[H1]无法确定。
让我们先来留意一下第6列,这一列中暂时没有8,那么8可能会填入哪几个单元格中呢?首先,[B2]中的8行排除了[B6],而[E3]和[F4]中的8又分别行排除了[E6]和[F6]。这样,能填入8的位置就只剩下[C6]和[I6]了。见下图:
同样,对于第9列,由于[F4]的行排除,[F9]不可能填8,所以这一列能填入8的位置也就只剩下[C9]和[I9]了。
凑巧的是,这两列中能填入8的位置都在同样的两行上,即行C和行I。这时就为我们应用矩形排除法创造了前提条件。
如果第6列中[C6]=8,那么[I6]和[C9]一定不能是8。而第9列这时就只剩下[I9]能填入8了; 又或者如果第6列中[I6]=8,那么[C6]和[I9]一定不能是8,而第9列就只剩下[C9]能填入8了。
不可能再有第3种情况。所以,要么[C6]=8且[I9]=8,要么[I6]=8且[C9]=8。但无论是哪种情况,不难发现,行C和行I都已填入了8,所以这两行的其他位置不可能再填入8。我们正好可以利用这一点来进行排除。
观察起始于[G1]的区块,我们已经知道现在只剩下[G1]和[I1]两个单元格无法确定了,通过上面的分析,利用矩形排除法排除位于行I上的[I1],就可以确定数字8一定在[G1]上。
总结一下,使用矩形排除法的条件如下:
1. 如果一个数字在某两行中能填入的位置正好在同样的两列中,则这两列的其他的单元格中将不可
能再出现这个数字;
2. 如果一个数字在某两列中能填入的位置正好在同样的两行中,则这两行的其他的单元格中将不可
能再出现这个数字。
让我们再来看一个例子:
做到这一步时,不用矩形排除法的话恐怕是走投无路了。这次还是要在起始于[G1]的区块中找到数字4的位置。但我们无法确定4究竟在[G2]还是[G3]呢?
先要找找看有没有满足矩形排除法条件的情况存在。观察行B,在这一行中,由于[C5]的区块排除,[B4]和[B5]都不能为4,再加上[H8]列排除了[B8],这样行B中能填入4的位置包括[B1]和[B3]。 再看行F,由于[D6]的列排除,使得[F6]不能填4,所以行F中能填入4的位置只有[F1]和[F3]。
幸运的是,行B和行F中能填入4的位置正好都位于同样的两列上,即第1列和第3列。根据上面矩形排除法的规则,第1列和第3列中不在行B和行F上的单元格中不能填入4,所以[G3]不能为4。这样,起始于[G1]的区块中就只有[G2]能填入4了。
下面是应用矩形排除法的其他一些例子,希望可以帮助大家快速掌握这种方法:
矩形排除法可以说是直观法中最困难的技法,因为当前的谜题即使满足应用这一方法的条件,也实在太难发现了。一般情况下,尽量先使用其他相对简单的直观法。如果最后连矩形排除法都用上还是无法解题,你可能就需要尝试候选数删减法了。