【入门】数独的候选数法解题技巧——第一课

miscute (·鷇)
【A+研究所】荣誉会员☆网校制霸
圈内达人
307 4 3
发表于:2015-09-27 05:09 [只看楼主] [划词开启]


数独的候选数法解题技巧——第一课


对于解决数独谜题,最常使用的方法就是直观法候选数法。在谜题相对简单时,直观法可以取得相当好的效果。但是如果谜题比较复杂,直观法的效果就十分有限,即使通过试探性填数也不一定能够解题,而这时候选数法却可以很好地发挥作用。

候选数法(Candidates Elimination Techniques)是先在所有空白的单元格中写上所有可能出现的数字,然后通过一些常用的算法来删减候选数,最终获得唯一确定的候选数。候选数法(Candidates Elimination Techniques)被广泛使用在电脑生成谜题及解题的实践中,这不仅因为它编程相对容易,而且它的算法也在不断增加,使它的解题效率和能力都得以大力提高。


如果用候选数法来解题,必须首先准备一张如下图所示的候选数栅格表:


初始化时,每个单元格中都包含了1至9所有的数字,它表示该单元格中在解题时还可以选择填入的数字。很明显,不在候选数中的数字是不能够填入该单元格中的。如果某一单元格中已填入一个确定的数字,则根据数独游戏的规则,即该单元格所在行,列及区块中都不能再出现这个数字,则该数字应从这些单元格中的候选数字中去除。对于下面的这个谜题:


每填入一个数字时,都要将该单元格中的候选数全部删除,同时扫描其所在行,列和区块,看它们所覆盖的单元格上的候选数中有无该数字:


如果有,就把该数字从候选数中删除:


同理,填入谜题中其他的初始数字,并删除这些数字各自所在行,列和区块候选数中的该数字,可以得到下面的候选数栅格表:


注意,填入数字的顺序与最终的候选数栅格表无关。

这时,我们发现每个单元格中的候选数已经比最初少了许多,真是一个令人兴奋的开始。随后,我们将辅以各种候选数删减技巧,进一步减少候选数的个数,当某单元格中只剩下唯一的候选数时,该单元格就得到了它的唯一解。细心的朋友已经发现,在上面的候选数栅格表中,单元格[I1]中已经剩下唯一候选数1,这时我们就可以通过显式唯一法来解题了。

这节课大家都看明白了吧?显式唯一法将在下节课带给大家~


选编自网络.


本帖来源社刊

分类: 入门教学
全部回复 (4)

  • 3

    点赞

  • 收藏

  • 扫一扫分享朋友圈

    二维码

  • 分享

课程推荐

需要先加入社团哦

编辑标签

最多可添加10个标签,不同标签用英文逗号分开

保存

编辑官方标签

最多可添加10个官方标签,不同标签用英文逗号分开

保存
知道了

复制到我的社团