数独解法七种解法:前言数独这个数字解谜游戏,完全不必要用到算术!会用到的只是推理与逻辑。
刚开始接触数独时,即使是只须用到唯一解技巧的简易级谜题,就已可让我们焦头烂额了,但是随着我们深陷数独的迷人世界之后,这类简易级的数独谜题必定在短时间内难再使我们获得征服的满足。
于是,当我们逐步深入、进阶到更难的游戏后,我们将会需要发展龈?多的解谜技巧。
虽然最好的技巧便是我们自己发现的窍门,这样我们很容易??能记住它们,运用自如,不需要别人来耳提面命。
但是如果完全不去观摩学习他人发展出来的技巧,而全靠自己摸索,那将是一个非常坚苦的挑战,也不是正确的学习之道!所以让我们一齐来探讨数独的解谜方法吧!数独的解谜技巧,刚开始发展时,以直观式的唯一解及摒除法为主,对于初入门的玩家来说,这也是一般人较容易理解、接受的方法,对于一般简易级或中级的数独谜题,如果能灵活运用此二法则,通常已游刃有余。
1.唯一解法当数独谜题中的某一个宫格因为所处的列、行或九宫格已出现过的数字已达8 个,那么这个宫格所能填入的数字就剩下这个还没出现过的数字了。
<图1> (9, 8)出现唯一解了<图1>是最明显的唯一解出现时机,请看第8 行,由(1,8) ~(8,8) 都已填入数字了,只剩(9,8)还是空白,此时(9,8)中应填入的数字,当然就是第8 行中还没出现过的数字了!请一个个数字核对一下,哦!是数字8 还没出现过,所以(9,8) 中该填入的数字就是数字了。
8出现唯一解了2> (8, 9)<图<图2>是另一个明显出现唯一解的情形,请看第8 列,由(8,1) ~(8,8) 都已填入数字了,只剩(8,9)还是空白,此时(8, 9)中应填入的数字,当然就是第8 列中还没出现过的数字中该填入的数字就是9) (8, 还没出现过,所以9 哦!是数字了!请一个个数字核对一下,9 了。
数字出现唯一解了图3> (7, 5)<<图3>是另一种明显出现唯一解的情形,请看下中九宫格,在这个九宫格中除了(7, 5)还是空白外,其他宫格都已填有数字了,所以(7, 5)中应填入的数字,当然就是下中九宫格中还没出现过的数字了!请一个个数字核对一下,哦!是数字 1还没出现过,所以(7, 5)了。
中该填入的数字就是数字14> 一般情形下的唯一解<图类似<图1>~<图3>这种明显出现唯一解的情形,在一般情形之下及解题初期是不太可能出现的!<图4>是一个最典型的简易级数独谜题,如果单纯观察某一个行、列或九宫格,没有一处是已出现8 个数字的,难道如此就无解了吗?非也!非也!在此图中,出现唯一解的宫格其实有 3 处之多!你能找出来吗?没错,在一般情形之下及解题初期,唯一解的寻找必须综合所处的行、列及九宫格三者,同时过滤筛选出已出现的数字才行!如果漏掉其一,可能就无法找出唯一解的出现位目前已出现的唯一解在哪儿吧:中4> 图<置了。
现在且不忙着填入数字,先来找找看第一个唯一解位置在(2, 3):(2, 3) 所处的第 2 列中已出现的数字是:9、3、5、7。
所处的第 3 行中已出现的数字是:4、2、6、8。
至于所处的上左九宫格中,已出现的数字是:2、9、4。
所以综合而言,受其所处位置的行、列及九宫格影响,不得再使用并填入(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>哇!又有唯一候选数出现了呢!没错,一般简易级的数独谜题,如果使用直观式的唯一解法及摒除法来解题,即使是数独老手,也要花费相当的工夫才能完成;但是如果采用唯一候选数法,从候选数表制作完成开始,唯一候选数将一个一个接连不断的出现,轻轻松松的。
解成完的1> 图< 是3> 图<!啦题解成完以可就.<图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.隐性数对删减法概说遇到了高级、困难级的数独谜题,使得唯一候选数法和隐性唯一候选数法黔驴技穷的时候,就是各种删减法上场的时机了。