数独的7种解法精编版

数独的7种解法精编版
数独的7种解法精编版

数独解法

七种解法:

前言

数独这个数字解谜游戏,完全不必要用到算术!会用到的只是推理与逻辑。刚开始接触数独时,即使是只须用到" 唯一解"技巧的简易级谜题,就已可让我们焦头烂额了,但是随着我们深陷数独的迷人世界之后,这类简易级的数独谜题必定在短时间内难再使我们获得征服的满足。于是,当我们逐步深入、进阶到更难的游戏后,我们将会需要发展龈?多的解谜技巧。虽然最好的技巧便是我们自己发现的窍门,这样我们很容易?? 能记住它们,运用自如,

不需要别人来耳提面命。但是如果完全不去观摩学习他人发展出来的技巧,而全靠自己摸索,那将是一个非常坚苦的挑战,也不是正确的学习之道!所以让我们一齐来探讨数独的解谜方法吧!

数独的解谜技巧,刚开始发展时,以直观式的唯一解及摒除法为主,对于初入门的玩家来说,这也是一般人较容易理解、接受的方法,对于一般简易级或中级的数独谜题,如果能灵活运用此二法则,通常已游刃有余。

1.唯一解法

当数独谜题中的某一个宫格因为所处的列、行或九宫格已出现过的数字已达8 个,那么

<图1> (9, 8) 出现唯一解了

<图1>是最明显的唯一解出现时机,请看第8 行,由(1,8) ~(8,8) 都已填入数字了,

只剩(9,8)还是空白,此时(9,8)中应填入的数字,当然就是第8 行中还没出现过的数字了!

请一个个数字核对一下,哦!是数字8 还没出现过,所以(9,8) 中该填入的数字就是数字

<图2> (8, 9) 出现唯一解了

<图2>是另一个明显出现唯一解的情形,请看第8 列,由(8,1) ~(8,8) 都已填入数字了,只剩(8,9) 还是空白,此时(8, 9)中应填入的数字,当然就是第8 列中还没出现过的数字了!请一个个数字核对一下,哦!是数字9 还没出现过,所以(8, 9) 中该填入的数字就是

<图 3> (7, 5) 出现唯一解了

<图 3> 是另一种明显出现唯一解的情形,请看下中九宫格,在这个九宫格中除了

(7, 5) 还是空白外,其他宫格 都已填有数字了,所以 (7, 5) 中应填入的数字,当然就是下中九宫格

<图 4> 一般情形下的唯一解

类似 <图 1>~ <图 3>这种明显出现唯一解的情形,在一般情形之下及解题初期是不太 可能出现的! <图 4> 是一个最典型的简易级数独谜题,如果单纯观察某一个行、列或九宫 格,没有一处是已出现 8 个数字的, 难道如此就无解了吗?非也!非也!在此图中,出现 唯一解的宫格其实有 3 处之多!你能找出来吗?

没错,在一般情形之下及解题初期,唯一解的寻找必须综合所处的行、列及九宫格 三者,同时过滤筛

选出已出现 的数字才行! 如果漏掉其一, 可能就无法找出唯一解的出现位 置了。现在且不忙着填入数字,先来找找看 <图 4> 中 目前已出现的唯一解在哪儿吧:

第一个唯一解位置在 (2, 3) :(2, 3) 所处的第 2 列中已出现的数字是: 9、3、5、7。所 处的第 3 行中 已出现的数字是: 4 、2 、6、8。至于所处的上左九宫格中,已出现的数字是: 2、 9、4。所以综合而言, 受其所

数字 9 了。 中还没出现过的数字了!请一个个数字核对一下,

哦!是数字 1 还没出现过,所以 (7, 5) 中该填入的数字就是数字

处位置的行、列及九宫格影响,不得再使用并填入(2, 3) 的数字计有:2、3、4、5、6、7、8、9。能用来填入的数字确实只剩数字1 这个唯一的解了。

第二个唯一解位置在(8, 7) :(8, 7) 所处的第8 列中已出现的数字是:1、2、8、6。所处的第7 行中已出现的数字是:3 、9 、5、4。至于所处的下右九宫格中,已出现的数字是:4、6、5。所以综合而言,受其所处位置的行、列及九宫格影响,不得再使用并填入(8, 7) 的数字计有:1、2、3、4、5、6、8、9。能用来填入的数字确实只剩数字7 这个唯一的解了。

第三个唯一解位置在(5, 5):(5, 5) 所处的第5 列中已出现的数字是:1、7。所处的第

5 行中已出现的数字是:2、5。至于所处的中央九宫格中,已出现的数字是:3、6、8、9。

所以综合而言,受其所处位置的行、列及九宫格影响,不得再使用并填入(5, 5) 的数字计有:1、2、3、5、6、7、8、9。能用来填入的数字确实只剩数字 4 这个唯一的解了。

以上所谓的三个唯一解位置,是以<图4> 现况未填入任何数字之前而言,如果开始填入数字,出现唯一解的位置可能将随之增加。例:当(8, 7) 填入数字7 之后,(7, 7) 将出现唯一解1;如果再将数字1 填入(7, 7) ,在(7, 8) 又将出现唯一解3;..................................................................................................... 如此不断循环下去,

就可以将整个谜题解出了。

2. 唯一候选数法

概说

依照候选数法概说一文中,候选数表的制作规则, 我们可以知道:可以填入某一 个宫格 的数字,一定会列于该宫格的候选数中;不在候选数中的数字,就不能填入该宫格中。

所以如果在候选数表中发现某一个宫格的候选数仅有 1 个数字, 那就是表示: 不必再考 虑了!这个宫格就是 只能填入这个数字啦! 如果填入别的数字, 就会违反数独的填制规则的。

利用 “找出候选数表中, 候选数仅有 1 个数字的宫格来, 并填入该候选数 ”的方法就叫做 唯一候选数法 (Singles Candidature, sole Candidate) 。

<图 1> 数独谜题的候选数表

<图 1> 是我们在候选数法概说一文中完成的候选数表,其中有好几个宫格的候选数

只有 1 个,所以可以利用唯一候选数法来进行填制。先还不要填入数字,我们先来找找看, 有哪些宫格有 唯一候选数?

唯一候选数法示例

在(2, 7) 有唯一候选数7 。

在(5, 5) 有唯一候选数5 。

在(8, 3) 有唯一候选数3 。

哇!同时出现了3 个唯一候选数啊!那么,先填入哪一个会不会影响填制结果呢?当然

不会了,只要你高兴,喜欢先填哪一个都没问题的。

好,就在这3 个宫格中填入他们的唯一候选数吧,填制结果如<图2> :

<图2>

哇!又有唯一候选数出现了呢!没错,一般简易级的数独谜题,如果使用直观式的唯一解法及摒除法来解题,即使是数独老手,也要花费相当的工夫才能完成;但是如果采用唯一候选数法,从候选数表制作完成开始,唯一候选数将一个一个接连不断的出现,轻轻松松的就可以完成解题啦!< 图3> 是< 图1> 的完成解。

<图3> 完成解

3.隐性三链数删减法

概说

遇到了高级、困难级的数独谜题,使得唯一候选数法和隐性唯一候选数法黔驴技穷的时候,就是各种删减法上场的时机了。在各种的删减法中,哪一个要先用是随个人之喜好的,并无限制。本页介绍的例子当然可用其他删减法完成解题,但还是要以隐性三链数删减法优先??!

<图1>

请看<图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> 就是发生在列的例子了,其他的情况举例如下:

<图2>

<图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;出现了唯一候选数啦!

<图3>

<图3> 是隐性三链数删减发生在九宫格的例子:图中中央九宫格的数字 2 、5、9 只出

现在(5, 4) 、(5, 6) 及(6, 4) 这三个宫格的候选数中,所以可以将三个宫格候选数中2、5、9

以外的数字安全的删减掉,(5, 4) 的候选数删减成2、5、9;(5, 6)的候选数删减成2、5;(6, 4) 的候选数删减成9;出现了唯一候选数啦!

<图4>

像<图1>~<图3>这样只经一次删减就出现下一个解的情况当然不错了,但有时可没法这样顺心,<图4>就是一个例子。下一个解将出现在(5, 6) 这个宫格,你能找出该填入什么数字吗?

以目前所学到的方法,要解出下一个解,需要二个步骤:

先看中左九宫格吧!由于只剩(5, 1)~(5, 3)这个区块尚未填入数字,所以可用区块删减法将第5 列其他区块候选数中的1、3、4 全部删减掉,但实际上仅能删到(5, 4) 及(5, 6) 候选数的数字4 而已。

接下来请观察第6 行!由于数字1、4、9 只出现在(2, 6)、(8, 6)及(9, 6) 这三个宫格的候选数中[因为(5, 6)的候选数在上一步骤中已被删减为5、8 了],所以可用隐性三链数删减将三个宫格候选数中1、4、9 以外的数字安全的删减掉,(2, 6)的候选数删减成1、4、9;(9, 6)的候选数没变;(8, 6) 的候选数则由2、4、5、8、9 删减成4、9;由于5 被删减掉了,使得(5, 6) 出现了行隐性唯一候选数5啦!

4.隐性数对删减法

概说

遇到了高级、困难级的数独谜题,使得唯一候选数法和隐性唯一候选数法黔驴技穷的时

候,就是各种删减法上场的时机了。在各种的删减法中,哪一个要先用是随个人之喜好的,

并无限制。本页介绍的当然就要以隐性数对删减法优先?? !

<图1>

请看<图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) 这三个c 格候选数中的数字8 删减掉。隐性数对删减法示例隐性数对删减法一共有3 种状况:第一

种发生在行、第二种是发生在列、第三种则发生

在九宫格。< 图1> 就是发生在九宫格的例子了,其他的情况举例如下:

<图2>

<图2> 是隐性数对删减发生在行的例子:图中第2 行的数对4 、6 只出现在

(9, 2) 这两个宫格的候选数中,所以可以将(3, 2) 及(9, 2)的候选数安全的删减成数对而经此一删,(3, 3) 宫格出现了列隐性唯一候选数1 啦!

<图3>(3, 2)及4、6;

<图3>是隐性数对删减发生在列的例子:图中第7 列的数对4、7 只出现在(7, 1)及(7, 8) 这两个宫格的候选数中,所以可以将(7, 1) 及(7, 8)的候选数安全的删减成数对4、7;

而经此一删,(8, 1) 宫格出现了行隐性唯一候选数2 啦!

三链列删减法

概说

遇到了高级、困难级的数独谜题,使得唯一候选数法和隐性唯一候选数法黔驴技穷的时候,就是各种删减法上场的时机了。在各种的删减法中,哪一个要先用是随个人之喜好的,并无限制。本页介绍的例子当然可用其他删减法完成解题,且本删减法成立的条件和其他方法相比稍嫌繁杂,但为了介绍,在进行解题时还是要以三链列删减法优先??!

<图1>

1、5、8 行的宫格候选数中;这

时三链列删减法的条件已成立了!这表示第 1 行、第5 行及第8 行的数字 5 将只能被请看<图1>第1、4、6 列的数字5 ,都只出现在第填到第1 、4、6 列了,因为:第1 列的数字5 只出

现在(1, 1)及(1, 8) ,所以数字5 只能填到这两个宫格;

先假设第1 列的数字5 将被填到(1, 1),第1 行就不能再填数字5 了,所以第4 列的数字5 只好填到(4, 5) ,第6 列的数字5 只好填到(6, 8) ;

另外,假设第1 列的数字5 将被填到(1, 8) ,第8 行就不能再填数字5 了,所以第6 列的数字5 只好填到(6, 1)或(6, 5) ;

如果第6 列的数字5 填到(6, 1) ,第4 列的数字5 就要填到(4, 5);

如果第6 列的数字5 填到(6, 5) ,第4 列的数字5 就要填到(4, 1);不论哪一种情况发生,第1、5、8 行的数字5 一定要填在第1、4、6 列的交点,别的宫格已不能再使用数字5 来填入了,所以若其他宫格的候选数中还有数字5,全部是多余无

用的,可以毫不考虑的把它们删减掉。于是(5, 1) 、(5, 5) 、(9, 5)和(1, 8) 、(2, 8)这五个宫格候选数中的5 都可被安全的删减掉;其中(9, 5)的候选数少了数字5,将使得(9, 4)出现列隐性唯一候选数5 ,于是可用隐性唯一候选数法来填入下一个解了。

整理一下:

当某个数字在某三列仅出现在相同的三行时,就可以把这三行其他宫格候选数中的该数字删减掉。

同理,当某个数字在某三行仅出现在相同的三列时,就可以把这三列其他宫格候选数中的该数字删减掉。

利用“找出某个数字在某三列仅出现在相同三行的情形,进而将该数字自这三行其他宫格候选数中删减掉”;或“找出某个数字在某三行仅出现在相同三列的情形,进而将该数字自这三列其他宫格候选数中删减掉”的方法就叫做三链列删减法(Swordfish) 。

本删减法其实是矩形顶点删减法的推广,如果你愿意的话,还可以继续推广:

四链列删减法:利用“找出某个数字在某四列仅出现在相同四行的情形,进而将该数字自这四行其他宫格候选数中删减掉”;或“找出某个数字在某四行仅出现在相同四列的情形,进而将

该数字自这四列其他宫格候选数中删减掉”的方法

五链列删减法:利用“找出某个数字在某五列仅出现在相同五行的情形,进而将该数字自这五行其他宫格候选数中删减掉”;或“找出某个数字在某五行仅出现在相同五列的情形,进而将

该数字自这五列其他宫格候选数中删减掉”的方法

六链列删减法:............. 不过如果真的这样做,实际应用时,能够用上的机率大概不多就是了。

遇到了高级、困难级的数独谜题,使得唯一候选数法和隐性唯一候选数法黔驴技穷的时候,虽然你可以优先使用三链列删减法来寻找下一个解;但大部分的人在使用删减法的优先顺序上,通常都会将三链列删减法排在稍后一点,为什么要如此安排,在实际使用一段时间之后,相信你自能体会了,但这个方法又是不可或缺的,如果不会运用本删减法,有很多高级的数独谜题就将无解了。

三链列删减法示例

三链列删减法只有2 种状况:第一种的删减发生在行、第二种的删减发生在列。<图1> 就是删减发生在行的例子了,第二种的情况举例如下:

<图2>

<图2> 是三链列删减发生在列的例子:图中第3、5、8 行的数字2 只出现在第3、4 、5 列,所以可以将数字2 自(4, 6) 、(5, 6) 的候选数中安全的删减掉,其中(5, 6) 的候选数由2、5 删减成5 时,出现唯一候选数啦!

5.区块删减法

概说

遇到了高级、困难级的数独谜题时,唯一候选数法和隐性唯一候选数法仍有其黔驴技穷的时候;这时就是区块删减法上场的时机了,往后将要介绍的数对删减法(Naked Pairs) 、隐性数对删减法(Hidden Pairs) 、三链数删减法(Naked Triples) 、隐性三链数删减法(Hidden Triples) 、矩形顶点删减法(X-Wing) 、三链列删减法(Swordfish) 都具有类似的特性:使用这些技巧的目的仅在删减候选数的数目,删减之后,还是得使用唯一候选数法和隐性唯一候选数法来找出下一个解并填入数字的。

当使用唯一候选数法或隐性唯一候选数法找不出下一个解时,到底该先使用哪一个删减法呢?随您高兴的用吧!如果你比较擅长使用数对删减法,那就先用数对删减法吧!如果你认为区块删减法比较好用,那就先用数对删减法吧!........................................................................................... ;介绍时总有先后的次序,但并不

表示先介绍的就较好用或必须先用哦!只要能达到:“安全删减掉候选数,并找出下一个解的目的,使用哪一种删减法都是可以的。

<图1>

请看<图1>,这时若使用唯一候选数法或隐性唯一候选数法是找不出下一个解来的!就先来试试区块

相关主题
相关文档
最新文档