快捷导航
0 998

数独游戏的基本解法

kepu007 于2017-4-26 16:42:50发表 显示全部楼层
发新帖

精彩推荐

更多> 更多>

精品专区

  • 幼儿园缎带做花的教程 简单缎带花怎么做图
  • 落叶手工作品图片 简单把树叶做成美丽的挂
  • 幼儿园手工制作水母挂饰的方法简单又可爱

收藏 跳转到指定楼层
数独是一种源自 18 世纪末的瑞士,后在美国发展、并在日本发扬光大的数学智力拼图游戏。

传统的数独游戏是将一个大正方形划成3×3的九个九宫格,每个九宫格又由3行3列共9个小方格构成,这样整个大正方形形成一个9×9的方格群。在这个大正方形内填满1-9的数字,要求大正方形每一行、每一列及每个九宫格内均必须包括1到9的每一个数字,既不能遗漏也不能重复。

数独的玩法逻辑简单,数字排列方式千变万化。不少教育者认为数独是锻炼脑筋的好方法。

唯一解法

如果某行已填数字的单元格达到8个,那么该行剩余单元格能填的数字就只剩下那个还没出现过的数字;同理, 如果某列已填数字的单元格达到8个,那么该列剩余单元格能填的数字就只剩下那个还没出现过的数字;如果某九宫格已填数字的单元格达到8个,那么该九宫格剩余单元格能填的数字就只剩下那个还没出现过的数字。

这应该算是直观法中最简单的方法了。基本上只需要看谜题,推理分析一概都用不上,这是因为要使用它所需满足的条件十分明显。同样,也正是因为它简单,所以只能处理很简单的谜题,或是在处理较复杂谜题的后期才用得上。

如图,观察D7-F9这个九宫格,我们发现除了E7单元格以外其余的八个单元格已经填入了1、2、3、4、6、7、8、9,还有5没有填写,所以5就应该填入E7单元格。这是九宫格唯一解法。
















基础摒弃法

基础摒除法是直观法中最常用的方法,也是在平常解决数独谜题时使用最频繁的方法。单元排除法使用得当的话,甚至可以单独处理中等难度的谜题。

使用单元排除法的目的就是要在某一单元(即行,列或区块)中找到能填入某一数字的唯一位置,换句话说,就是把单元中其他的空白位置都排除掉。

那么要如何排除其余的空格呢?当然还是不能忘了游戏规则,由于1-9的数字在每一行、每一列、每一个九宫格都要出现且只能出现一次,

所以:

如果某行中已经有了某一数字,则该行中的其他位置不可能再出现这一数字;

如果某列中已经有了某一数字,则该列中的其他位置不可能再出现这一数字;

如果某区块中已经有了某一数字,则该区块中的其他位置不可能再出现这一数字。

基础摒除法可以分为行摒除、列摒除和九宫格摒除。

如图,观察第7列。由于B2单元格有数字1,所以行B其他所有单元格都不能填入1;由于F4单元格有数字1,所以行F其他所有单元格都不能填入1。这样第7列只有A7单元格能够填入数字1。所以A7单元格的答案是1。

















唯余解法

唯余解法是直观法中较不常用的方法。虽然它很容易被理解,然而在实践中,却不易看出能够使用这个方法的条件是否得以满足,从而使这个方法的应用受到限制。

与唯一解法相比,唯余解法是确定某个单元格能填什么数的方法,而唯一解法是确定某个数能填在哪个单元格的方法。另外,应用唯一解法的条件十分简单,几乎一目了然。

如图,观察G9单元格。由于行G已经填入3、5、6、7、8、9,所以G9单元格不能再填入这六个数字;又由于第9列已经填入1、5、7、8,所以G9单元格不能再填入这四个数字;由于G7-I9九宫格内已经填入1、3、4、5、7、8,所以G9单元格不能再填入这六个数字。综合来看,就说明G9单元格不能填入1、3、4、5、6、7、8、9这八个数字,那样G9单元就只能填写2,所以G9单元格的答案是2。
















区块摒弃法

区块摒除法是直观法中进阶的技法。虽然它的应用范围不如基础摒除法那样广泛,但用它可能找到用基础摒除法无法找到的解。有时在遇到困难无法继续时,只要用一次区块摒除法,接下去解题就会势如破竹了。

当某数字在某个九宫格中可填入的位置正好都在同一行上,因为该九宫格中必须要有该数字,所以这一行中不在该九宫格内的单元格上将不能再出现该数字。

当某数字在某个九宫格中可填入的位置正好都在同一列上,因为该九宫格中必须要有该数字,所以这一列中不在该九宫格内的单元格上将不能再出现该数字。

当某数字在某行中可填入的位置正好都在同一九宫格上,因为该行中必须要有该数字,所以该九宫格中不在该行内的单元格上将不能再出现该数字。

当某数字在某列中可填入的位置正好都在同一九宫格上,因为该列中必须要有该数字,所以该九宫格中不在该列内的单元格上将不能再出现该数字。

区块摒除法实际上是利用区块与行或列之间的关系来实现的,这一点与基础摒除法颇为相似。然而,它实际上是一种模糊排除法,也就是说,它并不象基础摒除法那样利用谜题中现有的确定数字对行,列或九宫格进行排除,而是在不确定数字的具体位置的情况下进行排除的。

如图,能否判断B6单元格应该填入什么数字?

由于C3单元格填入数字8,所以行C其它所有单元格不能再填入8;由于I8单元格填入数字8,所以行I其它所有单元格不能再填入8。对于第4列,数字8只能填入D4单元格或F4单元格,而无论是填入D4还是F4,D4-F6九宫格内其它单元格不能再填入数字8。对于第6列,数字8只能填入B6单元格,所以B6单元格的答案是8。






























组合摒弃法

组合摒除法和区块摒除法一样,都是直观法中进阶的技法。组合摒除法,顾名思义,要考虑到某种组合。这里的组合既包括区块与区块的组合,也包括单元格与单元格的组合,利用组合的关联与排斥的关系而进行某种排除。它也是一种模糊摒除法,同样是在不确定数字的具体位置的情况下进行排除的。

如果在横向并行的两个九宫格中,某个数字可能填入的位置正好都分别占据相同的两行,则这两行可以被用来对横向并行的另一九宫格做行摒除。

如果在纵向并行的两个九宫格中,某个数字可能填入的位置正好都分别占据相同的两列,则这两列可以被用来对纵向并行的另一九宫格做列摒除。

如图,如何判断数字1应该填入D4-F6九宫格内哪个位置?

由于I2单元格填入数字1,所以第2列其它单元格不能再填入数字1,所以对于D1-F3九宫格,数字1只能填入D1单元格、D3单元格和E1单元格;由于H7单元格填入数字1,所以第7列其它单元格不能再填入数字1,由于A9单元格填入数字1,所以第9列其它单元格不能再填入数字1,对于D7-F9九宫格,数字1只能填入D8单元格或E8单元格。由于D1-F3九宫格和D7-F9九宫格的互相影响,所以在这两个九宫格内数字1分别填入行D和行E,所以对于D4-F6单元格,数字1不能填入行D和行E。由于G4单元格填入数字1,所以第4列其它单元格不能填入数字1。对于D4-F6九宫格,数字1只能填入F6单元格,也就是说F6单元格的答案是1。





























矩形摒除法

矩形摒除法的原理类似于组合摒除法,是专门针对某个数字可能填入的位置刚好构成一个矩形的四个顶点时使用的摒除法。

如果一个数字在某两行中能填入的位置正好在同样的两列中,则这两列的其他的单元格中将不可能再出现这个数字;

如果一个数字在某两列中能填入的位置正好在同样的两行中,则这两行的其他的单元格中将不可能再出现这个数字。

如图,如何判断G1-I3九宫格内数字4的位置?

由于D6单元格填入数字4,所以第6列其它单元格不能填入6,对于行F,数字4只能填入F1单元格或F3单元格。由于C5单元格填入数字4,所以A4-C6九宫格其它单元格不能填入数字4;由于H8单元格填入数字4,第8列其它单元格不能再填入数字4,对于行B,数字4只能填入B1单元格或B3单元格。于是数字4在行B和行F能填入的所在列只能是第1列和第3列。所以在其他行,数字4不能填入第1列和第3列。由于I4单元格填入数字4,所以行I其它单元格都不能再填入数字4;由于H8单元格填入数字4,所以行H其它单元格都不能再填入数字4。对于G1-I3九宫格,数字4只能填入G2单元格,所以G2单元格的答案是4。
















梅森: 比起任何特殊的科学理论来,对人类的价值观影响更大的恐怕还是科学的方法。  
回复

使用道具 举报

共 0 个关于数独游戏的基本解法的回复 最后回复于2017-4-26 16:42:50

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2014 蝌蚪五线谱
快速回复 返回顶部 返回列表