关闭

关闭

封号提示

内容

首页 数独解题方法.doc

数独解题方法.doc

数独解题方法.doc

上传者: 睿睿_2328 2017-08-25 评分 5 0 206 28 938 暂无简介 简介 举报

简介:本文档为《数独解题方法doc》,可适用于游戏领域,主题内容包含数独解题方法大全作者:扬子活力论坛泥瓦匠整理:隱讀書生数独这个数字解谜游戏完全不必要用到算术!会用到的只是推理与逻辑。解题方法分两大类:直观法和候选符等。

数独解题方法大全作者:扬子活力论坛泥瓦匠整理:隱讀書生数独这个数字解谜游戏完全不必要用到算术!会用到的只是推理与逻辑。解题方法分两大类:直观法和候选数法。直观法就是不需要任何辅助工具从接到数独谜题的那一刻起就可以立即开始解题。绝不猜测。数独直观法解题技巧主要有:唯一解法、基础摒除法、区块摒除法、唯余解法、矩形摒除法、单元摒除法,余数测试法。候选数法就是解数独题目需先建立候选数列表根据各种条件逐步安全的清除每个宫格候选数的不可能取值的候选数从而达到解题的目的。使用候选数法一般能解比较复杂的数独题目但是候选数法的使用没用直观法那么直接需要先建立一个候选数列表的准备过程。所以实际使用时可以先利用直观法进行解题到无法用直观法解题时再使用候选数方法解题。候选数法解题的过程就是逐渐排除不合适的候选数的过程所以在进行候选数删除的时候一定要小心确定安全的删除不合适的候选数否则很多时候只有重新做题了。有了计算机软件的帮助使得候选数表的维护变得轻松起来。数独候选数法解题技巧主要有:唯一候选数法、隐性唯一候选数法、区块删减法、数对删减法、隐性数对删减法、三链数删减法、隐性三链数删减法、矩形顶点删减法、三链列删减法、关键数删减法、关连数删减法。一、直观法:、唯一解法:当某行已填数字的宫格达到个那么该行剩余宫格能填的数字就只剩下那个还没出现过的数字了。成为行唯一解。当某列已填数字的宫格达到个那么该列剩余宫格能填的数字就只剩下那个还没出现过的数字了。成为列唯一解。当某九宫格已填数字的宫格达到个那么该九宫格剩余宫格能填的数字就只剩下那个还没出现过的数字了。成为九宫格唯一解。下面是例题:A行已经添入个数字A行只有数字没有出现过所以A=这是行唯一解。第列已经添入个数字第列只有数字没有出现过所以E=这是列唯一解。 在A所在九宫格区域已经添入个数字只有数字没有出现过所以A=这是九宫格唯一解。、基础摒除法基础摒除法就是利用~的数字在每一行、每一列、每一个九宫格都只能出现一次的规则进行解题的方法。基础摒除法可以分为行摒除、列摒除、九宫格摒除。实际寻找解的过程为:  寻找九宫格摒除解:找到了某数在某一个九宫格可填入的位置只余一个的情形意即找到了该数在该九宫格中的填入位置。  寻找列摒除解:找到了某数在某列可填入的位置只余一个的情形意即找到了该数在该列中的填入位置。  寻找行摒除解:找到了某数在某行可填入的位置只余一个的情形意即找到了该数在该行中的填入位置。利用基础摒除法解题的过程就是依次从数字~在行、列、九宫格寻找能放入该数唯一的一个位置。需要综合用到行摒除、列摒除、九宫格摒除的方法。看能用基础摒除法确定B2、C8、E7、F6、I5的数字吗?题目如下:A=则A行其它格排除9G=第列排除数字9D=第列排除数字9。见下图由基础摒除法第A所在的九宫格内9只有一个唯一的位置即确定B=。见下图A=则列其它格排除9G=第G行排除数字9H=第H行排除数字9。见下图 由基础摒除法第G所在的九宫格内9只有一个唯一的位置即确定I=。见下图A=则列其它格排除9D=第D行排除数字9I=第列排除数字9。见下图由基础摒除法第D所在的九宫格内9只有一个唯一的位置即确定F=。见下图A=则A行其它格排除9B=第B行排除数字9H=第列排除数字9。见下图由基础摒除法第A所在的九宫格内9只有一个唯一的位置即确定C=。见下图C=则列其它格排除9D=第D行排除数字9F=第F行排除数字9H=第列排除数字9。见下图由基础摒除法第D所在的九宫格内9只有一个唯一的位置即确定E=。、区块摒除法区块摒除法是基础摒除法的提升方法是直观法中使用频率最高的方法之一。所谓区块就是将行分成个三个相连的小方块构成列也是分成个三个相连的小方块构成。九宫格同样被看成由个三个相连的小方块构成如下面示意图:区块摒除法的核心思想如下面解释(以行为例)对于在列也是相同的道理 假如(G~G)黄色区域区块其中之一是数字。则(H~H)蓝色区域可能含有数字。否则(I~I)绿色区域含有数字。假定我们已确定(G~G)黄色区域区块其中之一是数字。(H~H)蓝色区域含有数字。则:在(I~I)绿色区域一定含有数字。如果再通过其它方法确定(I~I)绿色区域中某两个宫格不能为数字则就能确定数字在(I~I)区块的具体位置。下面举一些例子  能使用区块摒除法确定F的数字吗D=则E~E蓝色区块或F~F绿色区块必包含数字。 又有B=利用列摒除法E、F不能为数字有FF已填有数字所以E~E蓝色区块必有数字 由上面得出黄色区块,蓝色区块包含数字,这是典型的区块摒除法,得到绿色区块必包含数字 又G=,F已添入数字,所以F=、唯余解法唯余解法就是某宫格可以添入的数已经排除了个那么这个宫格的数字就只能添入那个没有出现的数字。唯余解法道理非常简单但在实际使用是比较困难要注意识别。A=其实这就是唯余解法的原理很简单吧。但是实际使用时就不会容易发现了。能使用唯余解法确定B的值吗呵呵等于。 能确定E、A、B、C的值吗由区块摒除法可以得出E=。在区块摒除法没有举这个例子这里补充。由唯余解法C=。 同样可得出B=A=。、矩形摒除法矩形摒除法是比较高级的排除方法虽然矩形摒除法的原理非常简单在实际使用时比较难于观察出来。矩形摒除法的原理如下:如上图如果在第列我们确定数字只能在B或H出现。在第列数字只能在B或H出现。则BHBH构成矩形符合矩形摒除法的条件。由上可以得出数字仅可能出现在(BH)上或者出现在(BH)上无论出现上面的那一种情况我们都可以推断出B行H行的红色区域都不能再为数字了。下面举一个使用矩形摒除法的例子由C=我们可以判断在第列数字只能出现在A和H。又第列数字只能出现在A和H由AHAH形成矩形符合矩形摒除法的条件由矩形摒除法得到H不可能是又根据C=所以G=、单元摒除法单元摒除法是比较基本的排除方法,下面举例解释能确定A的数字吗由D=得出D不等于H=得出G、H、I均不等于显然A= 、余数测试法所谓余数测试法就是在某行或列九宫格所填数字比较多剩余个或个时在剩余宫格添入值进行测试的解题方法。 我们看B行B可能添入的数为或者我们从开始测试。 我们在B添入进行测试得到左图没有得出出错的推断所以B=可能是正确的判断如果能判断出B则才能肯定B=。所以下面我们还需要用B=进行测试 在B添入推出B=。观察C行CCC必含有数字。证明B=是错误的。从而得出B= 二、候选数法:、唯一候选数法候选数法解题的过程就是逐渐排除不合适的候选数的过程当某个宫格的候选数排除到只有一个数的时候那么这个数就是该宫格的唯一的一个候选数这个候选数就是解了。我们可以排除D为的可能经过候选数的安全删除后D的候选数变为这个唯一候选数了。、隐性唯一候选数法当某个数字在某一列各宫格的候选数中只出现一次时那么这个数字就是这一列的唯一候选数了。这个宫格的值就可以确定为该数字。这时因为按照数独游戏的规则要求每一列都应该包含数字~而其它宫格的候选数都不含有该数则该数不可能出现在其它的宫格那么就只能出现在这个宫格了。对于唯一候选数出现行九宫格的情况处理方法完全相同这是制作好的一张候选数表注意观察BBD可以看出在第列数字只在D出现。在第列数字只在B出现。在B所处的九宫格里数字只有在B出现。  所以ldquordquo是第列的隐形唯一候选数。ldquordquo是第列的隐形唯一候选数。ldquordquo是A九宫格的隐形唯一候选数。所以确定D=B=B= 、三链数删减法找出某一列、某一行或某一个九宫格中的某三个宫格候选数中相异的数字不超过个的情形进而将这个数字自其它宫格的候选数中删减掉的方法就叫做三链数删减法。三链数删减法的原理如下面图示在H行HHH的候选数()()()构成三链数那么这三个数在H行将只能出现在HHH那么本行其它宫格就可以删除这个候选数了。这是三链数发生在行的情况。在G所在九宫格GHI的候选数()()()构成三链数那么这三个数在这个九宫格将只能出现在GHI那么本九宫格其它宫格就可以删除这个候选数了。这是三链数发生在九宫格的情况。三链数是数对的扩展我们在对上面的三链数进行扩展得到右边的特殊的三链数只要保证在个宫格内其包含的候选数也为个就都符合我们的要求比如()()都符合要求。我们进一步再扩充发现只要在N个宫格内其包含的候选数也恰为N个那么处理和三链数是相同的道理这样就形成了四链数比如()()等。甚至可以扩充到五链数七链数(虽然在实际解题中作用不大了)。平时我们用到最多的就是三链数四链数了。 在A所在九宫格我们看到B~B形成三链数则本九宫格其它宫格就可以去除候选数这样就得到C=。 同上面完全相同的一副图在A行A~A形成由构成的三链数排除本行其它宫格的候选数后得到A=。 、隐性三链数删减法隐性三链数是从隐性数对发展而来的。在某行存在三个数字出现在相同的宫格内在本行的其它宫格均不包含这三个数字我们称这个数对是隐形三链数。那么这三个宫格的候选数中的其它数字都可以排除。当隐形三链数出现在列九宫格处理方法是完全相同的。我们进一步扩充在某行(列九宫格)存在N个数字出现在相同的宫格内在本行的其它宫格均不包含这N个数字我们称这个数对是隐形N链数。那么这N个宫格的候选数中的其它数字都可以排除在中间九宫格候选数ldquordquoldquordquoldquordquo仅出现在EEF形成隐形三链数所以在EEF可以排除其它候选数得到F=。、矩形顶点删减法矩形顶点删减法和直观法讲到的矩形摒除法分析方法是一样的。矩形顶点删减法在识别时比较不容易找到所以最好先使用其它的方法。如上图如果在第列候选数ldquordquo只能在B或H出现。在第列候选数ldquordquo只能在B或H出现。则BHBH构成矩形符合矩形顶点删减法的条件。由上可以得出数字ldquordquo仅可能出现在(BH)上或者出现在(BH)上无论出现上面的那一种情况我们都可以推断出B行H行的红色区域都不能再为数字了。可以将红色的宫格的候选数中去除数字ldquordquo。举例说明如下:在第列数字ldquordquo仅在A、H出现和第列数字ldquordquo仅在A、H出现A、HA、H构成矩形符合矩形顶点删减法要求则红色宫格应排除候选数ldquordquo、三链列删减法三链列删减法是矩形顶点删减法的扩展如果不清除矩形顶点删减法可以参考矩形顶点删减法以便于更容易理解本节内容。利用ldquo找出某个数字在某三列仅出现在相同三行的情形进而将该数字自这三行其他宫格候选数中删减掉rdquo或ldquo找出某个数字在某三行仅出现在相同三列的情形进而将该数字自这三列其他宫格候选数中删减掉rdquo的方法就叫做三链列删减法。如果数字ldquordquo可能出现在B行、E行、G行的黄色宫格则符合ldquo某个数字在某三列仅出现在相同三行的情形rdquo符合三链列删减法的要求。则红色宫格均不包含候选数ldquordquo。 这是前图的一个变形。其中一行的ldquordquo只能放在这一行的两个位置。 处理和上图一样红色宫格均可以排除候选数ldquordquo。 举例说明:数字在第列第列第列。均出现在AB,I行。其中在第列仅出现B,I行仍然符合三链列删减法的要求。 则红色宫格均可以排除候选数 、关键数删减法在进入到解题后期利用前面讲到的唯一候选数法、隐性唯一候选数法、区块删减法、数对删减法、隐性数对删减法、三链数删减法、隐性三链数删减法、矩形顶点删减法、三链列删减法都无法有进展的时候可以考虑使用关键数删减法。关键数删减法就是在后期找到一个数这个数在行(或列九宫格)仅出现两次的数字。我们假定这个数在其中一个宫格类继续求解如果发生错误则确定我们的假设错误。如果继续求解仍然出现困难不妨假设这个数在另外一个宫格看能不能得到错误。这就是关键数删减法。关键数删减法的本质是让我们一个个去测试逐渐排除不可能的候选数从而求解的过程。这种解法就暂时不举例子了PAGE

类似资料

编辑推荐

洪武四年辛亥进士登科录.pdf

辽宁一宫三陵介绍.doc

斯塔尔夫人《论德国》.pdf

索达吉堪布 观胜义无缘而忏悔.doc

《CCNA学习指南》英文第7版.pdf

职业精品

精彩专题

上传我的资料

精选资料

热门资料排行换一换

  • 《隔帘花影》.pdf

  • 《古文观止》.pdf

  • 《菜根谭》.pdf

  • The Lord of the …

  • English for Prof…

  • 好玩的数学:乐在其中的数学.pdf

  • 郑天挺:清史探微.pdf

  • 建筑电气技术.pdf

  • [理论力学第六版第一册].王铎.…

  • 资料评价:

    / 21
    所需积分:1 立即下载

    意见
    反馈

    返回
    顶部