矩形对角线法.docx
- 文档编号:11165868
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:21
- 大小:319.16KB
矩形对角线法.docx
《矩形对角线法.docx》由会员分享,可在线阅读,更多相关《矩形对角线法.docx(21页珍藏版)》请在冰点文库上搜索。
矩形对角线法
矩形对角线法(X-wing)
矩形对角线法是比较高级的谜题解法,应用的机会比较少,但对于有些复杂的谜题也可以有效地删减候选数。
先观察下图
在行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将被删除。
矩形对角线法不可能出现在区块中。
XY形态匹配法(XY-wing)
XY形态匹配法虽然是一个高级的数独技巧,但是应用的机会却还挺多的。
先看看XY形态究竟是怎样的:
上图所示是四个相邻的(也可不相邻)区块。
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)
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形态如下:
其中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)
∙
∙
∙浏览 32166
能够应用三链数删减法的场合真是太少了,下面的例子是在经历无数次尝试后才找到的。
这个方法是X形态匹配法的一种扩展。
这次要考虑的是3行和3列,而不是2行和2列。
先看下图:
观察数字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]中删除。
三链数删减法不可能出现在区块中。
隐式数对法(HiddenPair)
对比显式数对法,隐式数对法也需要在同一行,列或区块中寻找两个单元格,而这两个单元格上都包含有一个数对(两个数字),且这个数对不会出现在该行,列或区块的其他单元格上。
然而,应用隐式数对法却要困难得多,因为它与显式数对法不同的是,包含有数对的单元格的候选数中可能还包含有其他的数字。
先看下图:
可以看到,在行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}。
总结一下,隐式数对的条件是,在同一行,列或区块中,如果一个数对(两个数字)正好只出现且都出现在两个单元格中,则这两个单元格的候选数中的其他数字可以被删除。
隐式数对不象显式数对法那么容易发现,所以在解题时需要相对的耐心和细心。
与显式数对法不同的是,隐式数对法只影响出现隐式数对的单元格,而不影响其所在行,列或区块的其他单元格,这是因为这些其他的单元格中都不包含有这个数对。
但通过隐式数对法删减了候选数后,隐式数对将转化为显式数对,可能会为其他的行,列或区块应用各种候选数删减法创造条件。
隐式三数集法(HiddenTriplet)
与隐式数对法类似,这次需要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},或
......
具体分析先看下图:
在行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。
这样,就符合了隐式三数集法的基本条件,不在这个三数集内的数字将从这三个单元格的候选数中删除。
隐式三数集法属于难度比较高的方法,在处理一般谜题时较少碰到。
隐式三数集法只影响包含隐式三数集的三个单元格,与隐式数对法相似,删减的结果是把隐式三数集转换为显式三数集,并可能为使用其他的候选数删减法创造条件。
隐式四数集法(HiddenQuad)
这是一个极少用到的方法,因为它的条件比较难以满足。
与隐式三数集法类似,这次需要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},或
......
象这样的组合可能会有很多。
具体分析先看下图:
在行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。
这样,就符合了隐式四数集法的基本条件,不在这个四数集内的数字将从这四个单元格的候选数中删除。
当然,在区块中也可应用隐式四数集法,因为鲜少有这样的例子,且与上面介绍的行与列中的隐式四数集类似,所以这里不再举例。
隐式四数集法只影响包含隐式四数集的四个单元格,与隐式数对法相似,删减的结果是把隐式四数集转换成显式四数集,并可能为使用其他的候选数删减法创造条件。
这个方法一般在解决较为复杂的谜题时才有可能用到。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 矩形 对角线