快斗 发表于 2010-6-9 09:53:14

显隐式法大全

本帖最后由 ⊿轶舍人 于 2010-6-9 11:35 编辑


显式四数集法 (Naked Quad)

与隐式数对法类似,这次需要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}中的任何数字都只出现在,和的候选数中,其中包含了数字5和9;包含了数字8和9;而中包含了数字5和8。这说明数字5,8和9只能填入这三个单元格中,所以其他候选数不能出现在这三个单元格中。因此数字1和3将从的候选数中删除,而数字3和4将从的候选数中删除。

下面是隐式三数集在列中的例子:

在第7列中,三数集{3, 7, 9}中的任何数字都只出现在,和的候选数中,其中包含了数字3和7;包含了数字3和9,而包含了数字3,7和9。这样,就符合了隐式三数集法的基本条件,不在这个三数集内的数字将从这三个单元格的候选数中删除。

隐式三数集还有可能发生在区块内:

在起始于的区块中,三数集{3,6,7}中的任何数字都只出现在,和的候选数中,其中包含了数字3,6和7;包含了数字3和7,而包含了数字3和6。这样,就符合了隐式三数集法的基本条件,不在这个三数集内的数字将从这三个单元格的候选数中删除。
隐式三数集法属于难度比较高的方法,在处理一般谜题时较少碰到。隐式三数集法只影响包含隐式三数集的三个单元格,与隐式数对法相似,删减的结果是把隐式三数集转换为显式三数集,并可能为使用其他的候选数删减法创造条件。

快斗 发表于 2010-6-9 09:54:00

隐式数对法

本帖最后由 ⊿轶舍人 于 2010-6-9 10:12 编辑

对比显式数对法,隐式数对法也需要在同一行,列或区块中寻找两个单元格,而这两个单元格上都包含有一个数对(两个数字),且这个数对不会出现在该行,列或区块的其他单元格上。然而,应用隐式数对法却要困难得多,因为它与显式数对法不同的是,包含有数对的单元格的候选数中可能还包含有其他的数字。

先看下图:

可以看到,在行A中,数对{3, 6}只出现在和的候选数中,也就是说,数字3和6不可能再出现在该行的其他单元格中,这是因为这两个单元格中必然只能填入3和6,否则该行将缺少这两个数字。这样,如果=3,则=6;反之,如果=6,则=3,不会再有其他的情况。所以我们可以放心地把其他的数字从这两个单元格的候选数中删除。

下面是隐式数对在列中的例子:

在第1列中,数对{2, 9}只出现在和的候选数中,这样就符合了上面所述的隐式数对的条件,所以可以很安全地把其他数字从这两个单元格的候选数中删除,使这两个单元格中只保留了显式数对{2, 9}。

在区块中也是如此:

在起始于的区块中,数对{2, 8}只出现在和的候选数中,所以这两个单元格上其他的候选数将被删除,而只保留了数对{2, 8}。
总结一下,隐式数对的条件是,在同一行,列或区块中,如果一个数对(两个数字)正好只出现且都出现在两个单元格中,则这两个单元格的候选数中的其他数字可以被删除。
隐式数对不象显式数对法那么容易发现,所以在解题时需要相对的耐心和细心。与显式数对法不同的是,隐式数对法只影响出现隐式数对的单元格,而不影响其所在行,列或区块的其他单元格,这是因为这些其他的单元格中都不包含有这个数对。但通过隐式数对法删减了候选数后,隐式数对将转化为显式数对,可能会为其他的行,列或区块应用各种候选数删减法创造条件。

快斗 发表于 2010-6-9 11:04:21

显式唯一法 (Naked Single)

本帖最后由 ⊿轶舍人 于 2010-6-9 11:15 编辑

这是候选数删减法中最简单的一种方法,就是扫描候选数栅格表,如果哪个单元格中只剩下一个候选数,就可应用显式唯一法,在该单元格中填入这个数字,并在相应行,列和区块的候选数中删除该数字。

在下面的图中:

单元格有唯一的候选数1,则毫无疑问地把数字1填入该单元格中,并扫描其所在行,列和区块的候选数中有无数字1:

如果有,则把1从这些单元格的候选数中删除:

显式唯一法虽然简单,但却是最有效的候选数删减法之一;尤其在谜题相对简单时,有时单单使用显式唯一法就可以解题。

快斗 发表于 2010-6-9 11:05:08

隐式唯一法 (Hidden Single)

本帖最后由 ⊿轶舍人 于 2010-6-9 11:14 编辑

见文知义,隐式唯一法也是唯一候选数法的一种,但它肯定不如显式唯一法那样显而易见。我们知道,如果某一个单元格中只有一个候选数字,这时可以毫不犹豫地填入它;但是有没有这种情况,即使某个单元格中有不止一个候选数字,我们也可以轻易地推断出这个单元格的正确解答呢?

考虑下面的情况:

在第7列中,单元格中虽然有多个候选数,但观察整列后我们发现,只有这个单元格中有数字6。根据数独游戏的规则,每一列中都必须要有从1到9的所有数字,而同时6却只能出现在这个单元格中,所以很显然=6。当然,别忘了把6从所在的行,列和区块中删除。

同样,在下图中:

观察行B后我们发现,只有单元格中含有数字7。同理,是该行中唯一可以填入数字7的单元格,所以=7。另外,我们还要扫描相应行,列和区块,删除其中的候选数7。

当然,这种隐藏的唯一候选数也可能躲在区块中,看下图:

对于起始于的区块而言,数字8只出现在单元格的候选数中,所以=8。从相应行,列和区块,删除其中的候选数8。
隐式唯一法是显式唯一法的有力补充,很多稍复杂的题都可以在这两种方法的交替使用下得以解决。

快斗 发表于 2010-6-9 11:05:56

显式数对法 (Naked Pair)

本帖最后由 ⊿轶舍人 于 2010-6-9 11:13 编辑

显式数对法在很多谜题中都可以得到应用,它的条件比较容易满足,而且显而易见。

先看下图:

在行E中,和中候选数只有两个,且都是2和3,即构成一个{2, 3}的数对。这使得该行中其他单元格中不能再出现2或3。为什么呢,因为假设=2,则一定要填3;反之,假设=3,则则一定填2,不会再出现其他的情况。所以2和3必然不能成为该行中其他单元格的候选数。这样,,和的候选数中都不能再有2和3。

对于列也是这样:

在第3列中,数对{6, 8}只出现且都出现在和中,所以其他单元格里都不能再有这两个数字。这样,的候选数中将删除6和8,而的候选数中将删除8。

同样,别忘了还有区块:

观察起始于的区块,可以发现和中含有数对{2, 4},这样,该区块中其他的单元格里都不能再有数字2和4,这次受影响的有4个单元格,分别是,,和。
总结一下显式数对的条件,也就是,在一个行,列或区块中,如果有两个单元格都包含且只包含相同的两个候选数,则这两个候选数字不能再出现在该行,列或区块的其他单元格的候选数中。

快斗 发表于 2010-6-9 11:06:45

显式三数集法 (Naked Triplet)

本帖最后由 ⊿轶舍人 于 2010-6-9 11:11 编辑

显式三数集法并不如显式数对法那样常见,但它们的原理却很相似。显式数对法要求同样的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,这时就可应用显式唯一法了。

看下图:

在行D中,,和中分别包含候选数集{3, 5, 9},{3, 5, 9}和{5, 9},根据上面的知识,可以判断出这是一个显式三数集,因此数字3,5和9不可能再出现在行内其他的单元格中,所以和的候选数中的3,5和9将被删除。

下面是列中的显式三数集的例子:

在第2列中,,和中分别包含候选数集{2, 6},{2, 5}和{2, 5, 6},所以数字2,5和6只能在这三个单元格中分别填入,而不可能填入到该列的其他单元格中,因此,和的候选数中的2,5和6将被删除。
细心的朋友可能还发现,,和不仅都在第2列中,而且又恰好都在起始于的区块中,对于数字5,已经符合区块删减法的条件,可惜的是,第2列中其他单元格的候选数中都没有5可以删减。
同样,显式三数集还有在区块中的可能:

在起始于的区块中,和中分别包含了候选数集{4, 9},{4, 8, 9}和{8, 9},这样区块中其他的单元格中不能再填入数字4,8和9,可以删减的单元格是和。

快斗 发表于 2010-6-9 11:36:52

隐式三数集法 (Hidden Triplet)

本帖最后由 ⊿轶舍人 于 2010-6-9 11:39 编辑

与隐式数对法类似,这次需要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}中的任何数字都只出现在,和的候选数中,其中包含了数字5和9;包含了数字8和9;而中包含了数字5和8。这说明数字5,8和9只能填入这三个单元格中,所以其他候选数不能出现在这三个单元格中。因此数字1和3将从的候选数中删除,而数字3和4将从的候选数中删除。

下面是隐式三数集在列中的例子:

在第7列中,三数集{3, 7, 9}中的任何数字都只出现在,和的候选数中,其中包含了数字3和7;包含了数字3和9,而包含了数字3,7和9。这样,就符合了隐式三数集法的基本条件,不在这个三数集内的数字将从这三个单元格的候选数中删除。

隐式三数集还有可能发生在区块内:

在起始于的区块中,三数集{3,6,7}中的任何数字都只出现在,和的候选数中,其中包含了数字3,6和7;包含了数字3和7,而包含了数字3和6。这样,就符合了隐式三数集法的基本条件,不在这个三数集内的数字将从这三个单元格的候选数中删除。
隐式三数集法属于难度比较高的方法,在处理一般谜题时较少碰到。隐式三数集法只影响包含隐式三数集的三个单元格,与隐式数对法相似,删减的结果是把隐式三数集转换为显式三数集,并可能为使用其他的候选数删减法创造条件。

快斗 发表于 2010-6-9 11:37:37

隐式四数集法 (Hidden Quad)

本帖最后由 ⊿轶舍人 于 2010-6-9 11:38 编辑

这是一个极少用到的方法,因为它的条件比较难以满足。与隐式三数集法类似,这次需要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}中的任何数字都只出现在,,和的候选数中,其中包含了数字2和4;包含了数字2,4和8;包含了数字4和9,而包含了数字2,8和9。这样,就符合了隐式四数集法的基本条件,不在这个四数集内的数字将从这四个单元格的候选数中删除。
当然,我们也可以看到,即使不用隐式四数集法,由于和形成了明显的显式数对,同样也可用显式数对法对该行其他单元格候选数的删减。这里,我们为了讲解隐式四数集法,所以优先使用该方法。这也说明能应用这种方法的机会很少,因为经过很多较简单方法对候选数进行多番删减以后,已经较难满足隐式四数集的基本条件。
同样,下面的谜题,我们本来可以用显式数对法来解决,但这里暂时优先使用隐式四数集法:

在第6列中,四数集{1, 4, 8, 9}中的任何数字都只出现在,,和的候选数中,其中包含了数字1和4;包含了数字1,8和9;包含了数字4和9,而包含了数字8和9。这样,就符合了隐式四数集法的基本条件,不在这个四数集内的数字将从这四个单元格的候选数中删除。
当然,在区块中也可应用隐式四数集法,因为鲜少有这样的例子,且与上面介绍的行与列中的隐式四数集类似,所以这里不再举例。
隐式四数集法只影响包含隐式四数集的四个单元格,与隐式数对法相似,删减的结果是把隐式四数集转换成显式四数集,并可能为使用其他的候选数删减法创造条件。这个方法一般在解决较为复杂的谜题时才有可能用到。

嗜睡的工藤 发表于 2010-6-29 15:58:28

我头昏了数独也太麻烦了 我只管填我知道的其他的我就不管了

董灵钺 发表于 2010-7-18 15:27:42

…………………………晕了{:8_493:}
页: [1] 2
查看完整版本: 显隐式法大全