计算数独有什么方法

2022-09-11 18:52

2个回答
数独(すうどく,Sūdoku)是一种运用纸、笔进行演算的逻辑游戏。玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含1-9,不重复。
数独盘面是个九宫,每一宫又分为九个小格。在这八十一格中给出一定的已知数字和解题条件,利用逻辑和推理,在其他的空格上填入1-9的数字。使1-9每个数字在每一行、每一列和每一宫中都只出现一次,所以又称“九宫格”。
【基本方法】

解题的本质有二:隐性唯一解(Hidden Single)及显性唯一解(Naked Single),他们的名称是在候选数法的基础上命名的。
解题必须以逻辑为依归,猜测的方法被称为“暴力型”解法(Brute Force),这不是提倡数独的本意。
根据解题本质发展出来的基本解题方法有二种:

摒除法
摒除法:用数字去找单元内唯一可填空格,称为摒除法,数字可填唯一空格称为摒余解(隐性唯一解)。
根据不同的作用范围,摒余解可分为下述三种:
数字可填唯一空格在「宫」单元称为宫摒余解(Hidden Single in Box),这种解法称宫摒除法。
数字可填唯一空格在「行」单元称为行摒余解(Hidden Single in Row),这种解法称行摒除法。
数字可填唯一空格在「列」单元称为列摒余解(Hidden Single in Column),这种解法称列摒除法。
行摒余解和列摒余解合称行列摒余解(Hidden Single in Line)。
得到行列摒余解的方法称为行列摒除法。

余数法
Peer等位群格位
余数法:用格位去找唯一可填数字,称为余数法,格位唯一可填数字称为唯余解(Naked Single)。
余数法是删减等位群格位(Peer)已出现的数字的方法,每一格位的等位群格位有 20 个。
依解题填制的过程可区分为直观法与候选数法。

直观法
直观法就是不做任何记号,直接从数独的盘势观察线索,推论答案的方法。

候选数法
候选数法就是删减等位群格位已出现的数字,将剩余可填数字填入空格做为解题线索的参考,可填数字称为候选数(Candidates,或称备选数)。
直观法和候选数法只是填制时候是否有注记的区别,依照个人习惯而定,并非鉴定题目难度或技巧难度的标准,无论是难题或是简单题都可上述方法填制,一般程序解题以候选数法较多。
【进阶解法】
上述方法称为基础解法(Basic Techniques),其他所有的解法称为进阶解法(Advanced Techniques),是在补基本解法之不足,所以又称辅助解法。
进阶解法包括:区块摒除法(Locked Candidates)、数组法(Subset)、四角对角线(X-Wing)、唯一矩形(Unique Rectangle)、全双值坟墓(Bivalue Universal Grave)、单数链(X-Chain)、异数链(XY-Chain)及其他数链的高级技巧等等。已发展出来的方法有近百种之多。
其中前两种加上基础解法为一般数独书中介绍并使用的方法,同时也是大部分人可以理解并掌握的数独解题技法。
通过基础解法出数只需一种解法,摒除法或唯余法,超出此范围而需要施加进阶解法时,解题点需要进阶解法协助基础解法来满足隐性唯一或显性唯一才能出数,该解题点的解法需要多个步骤协力完成,因此称做组合解法。

相对概率
相对概率不是真实的概率,而是用于同一格中的几个数字之间相互比较出现的可能。
相对概率 = 九宫格出现的概率 × 行出现的概率 × 列出现的概率
九宫格出现的概率:如果九宫格中有2个格可能出现1,目标格可能的数字为1、2、3,另一个格可能出现的数字为1、4,那么:目标格中的1在九宫格出现的概率 = 目标格中出现1的概率 × (1 - 另一个格中出现1的概率),得1/3 × (1-1/2) = 1/6。
注意:1-1/2表示另一个格不出现1的概率,1/3 × (1-1/2) 的意思就是在另一个格不出现1的情况下,目标格出现1的概率。
如果九宫格中有三个格可能出现1,目标格可能的数字为1、5、6,另一个格可能出现的数字为1、7,还有一个格可能出现的数字为1、8、9,得1/3 × (1-1/2) × (1-1/3) = 1/9。依此类推。
行出现的概率和列出现的概率与九宫格出现的概率的算法原理相同。最后,把三个概率相乘,得到相对概率,把目标格中3个数字的相对概率进行对比,相对概率越大,出现的可能性越大。

区块摒除法
区块摒除法包括宫区块摒除法(Pointing)与行列区块摒除法(Claiming)。
在基础题里,利用区块摒除可以替代一些基础解法的观察,或辅助基础解法寻找焦点。
在非基础题里,区块可以隐藏任何其他结构,简单的可以把基础解法隐藏起来,难的可以隐藏数对等等其他进阶技巧。
例如:
区块摒除法
首先数字6对第五宫摒除,得到第五宫的6在R4C5或者R6C5。
不论是在R4C5或者R6C5,C5的其他格都不能再有数字6。(R4C5与R6C5就是数字6的区块,这也是区块摒除作用的观点)
数字6对第二宫摒除,得解R1C4=6。
数独解法全是由规则衍生出来的,基本解法分为两类思路,一类为排除法,一类为唯一法。更复杂的解法,最终也会归结到这两大类中。 基础摒除法   基础摒除法就是利用1 ~ 9 的数字在每一行、每一列、每一宫都只能出现一次的规则进行解题的方法。基础摒除法可以分为行摒除、列摒除、九宫格摒除。   实际寻找解的过程为:   寻找九宫格摒除解:找到了某数在某一个九宫格可填入的位置只余一个的情形;意即找到了 该数在该九宫格中的填入位置。   寻找列摒除解:找到了某数在某列可填入的位置只余一个的情形;意即找到了该数在该列中的填入位置。   寻找行摒除解:找到了某数在某行可填入的位置只余一个的情形;意即找到了该数在该行中的填入位置。   基础摒除法的提升方法是区块摒除法,是直观法中使用频率最高的方法之一. 唯一解法   当某列已填数字的宫格达到8个,那么该列剩余宫格能填的数字就只剩下那个还没出现过的数字了。成为列唯一解.   当某九宫格已填数字的宫格达到8个,那么该九宫格剩余宫格能填的数字就只剩下那个还没出现过的数字了。成为九宫格唯一解. 唯余解法   唯余解法就是某宫格可以添入的数已经排除了8个,那么这个宫格的数字就只能添入那个没有出现的数字. 区块摒除法   区块摒除法是基础摒除法的提升方法,是直观法中使用频率最高的方法之一. 余数测试法   所谓余数测试法就是在某行或列,九宫格所填数字比较多,剩余2个或3个时,在剩余宫格添入值进行测试的解题方法. 隐性唯一候选数法   当某个数字在某一列各宫格的候选数中只出现一次时,那么这个数字就是这一列的唯一候选数了.这个宫格的值就可以确定为该数字. 这是因为,按照数独游戏的规则要求每一列都应该包含数字1~9,而其它宫格的候选数都不含有该数,则该数不可能出现在其它的宫格,那么就只能出现在这个宫格了. 对于唯一候选数出现行,九宫格的情况,处理方法完全相同。 三链数删减法   找出某一列、某一行或某一个九宫格中的某三个宫格候选数中,相异的数字不超过3个的情形, 进而将这3个数字自其它宫格的候选数中删减掉的方法就叫做三链数删减法。 隐性三链数删减法   在某行,存在三个数字出现在相同的宫格内,在本行的其它宫格均不包含这三个数字,我们称这个数对是隐形三链数.那么这三个宫格的候选数中的其它数字都可以排除.   当隐形三链数出现在列,九宫格,处理方法是完全相同的.   ------------------------------------------   修改为:在某行,存在三个候选数字分别出现在三个宫格内,   在本行的其它宫格均不包含这三个数字,我们称这个数对是隐形三链数.那么这三个宫格的其它候选数都可以排除.   当隐形三链数出现在列,九宫格,处理方法是完全相同的   或者: 利用“找出某3个数字仅出现在某行、某列或某一个九宫格的某三个宫格候选数中的情形,进而将这三个宫格的候选数删减成该3个数字”的方法就叫做隐性三链数删减法(Hidden Triples)。 矩形顶点删减法   矩形顶点删减法和直观法讲到的矩形摒除法分析方法是一样的。矩形顶点删减法在识别时比较不容易找到,所以最好先使用其它的方法。 三链列删减法   三链列删减法是矩形顶点删减法的扩展,如果不清楚矩形顶点删减法,可以参考矩形顶点删减法,以便于更容易理解本节内容。 利用“找出某个数字在某三列仅出现在相同三行的情形,进而将该数字自这三行其他宫格候选数中删减掉”; 或“找出某个数字在某三行仅出现在相同三列的情形,进而将该数字自这三列其他宫格候选数中删减掉”的方法 就叫做三链列删减法。 关键数删减法   在进入到解题后期,利用前面讲到的唯一候选数法、隐性唯一候选数法、 区块删减法、数对删减法、隐性数对删减法、 三链数删减法、隐性三链数删减法、矩形顶点删减法、 三链列删减法都无法有进展的时候,可以考虑使用关键数删减法。关键数删减法就是在后期找到一个数,这个数在行(或列,九宫格)仅出现两次的数字。我们假定这个数在其中一个宫格类,继续求解,如果发生错误,则确定我们的假设错误。如果继续求解仍然出现困难,不妨假设这个数在另外一个宫格,看能不能得到错误。这就是关键数删减法. 编辑本段排除法   当某一列,某一行或某一宫里已填7个数字时,可采用排除法,排除不可能出现在这个格子的数,从而确定格子里应该填什么数。比如某一行已填1,3,4,5,7,8,9,还剩2,6,而其中一个空格所在的列上已有了2,可知这个空格里不可能是2,那么另外一个空格里一定是2,那么这个空格里一定是6。   当某一列,某一行或某一宫里已填6个数字时,也可采用排除法。
相关问答
数独的计算公式是什么
2个回答2022-12-13 09:50
首先1-9在本游戏中的每一行,每一行,每一个九宫格中不能重复出现 1。因为同一行不能有两个相同的数字,所以当某个数字曾在某行出现过时,该行就不能有相同的数字出现。 2。因为同一列不能有两个相同的数字,...
全文
数独计算方法
3个回答2022-09-21 14:15
对于数独游戏的解法,通常采用"直观法(Direct Elimination Techniques)" 和 "候选数法(Candidates Elimination Techniques)". 直观法...
全文
为什么我不算计别人,别人却算计我
1个回答2022-10-01 13:35
想要不被算计,只有两种:1,你比别人都能算计(但是你不想成为这样的人,所以排除) 2,你站在绝对强势的地方,不怕别人算计。 是啊,我身边也是呢,就连我奶奶都算计我家唯一的一套房子,,呵呵,那又能怎样...
全文
有计算的算计 打一成语
1个回答2024-03-08 07:00
精打细算 jīng dǎ xì suàn [释义] 精:精心;打:计划;规划;细:细密。精心地计划;详细地打算。指在生活或使用人力、物力上精心安排;不使其浪费。 [正音] 精;不能读作“jīn...
全文
在计算机系统中,独立于计算机系统的模型是什么
1个回答2023-10-23 17:18
在数据库系统中,独立于计算机系统的是E-R模型
计算和算计意思相同吗
2个回答2023-01-07 11:05
不同。计算指用心或其他工具计数,中性词。算计指心中盘算某事,打算去做某事,多指不好的事,贬意词。
世界最快的计算机每秒能计算几次
1个回答2022-12-23 13:10
应该是几千万亿次吧
又一部动漫,讲的是一个女孩在超级计算机里,计算机能干扰世界,几个孩子去计算机的
1个回答2024-03-04 18:47
楼上无知了 的确有部动画 就叫 hack hack系列的动画主要说的是一个游戏世界 发生异常 控制游戏的AI电脑使得玩家失去灵魂 变成植物人 一帮玩家救回这些人的故事 大致...
全文
计算和算计有什么区别
1个回答2022-09-23 16:06
计算的意思有三:一是根据已知数通过数学运算求得未知数;二是考虑;筹划;三是算计的意思,暗中谋划损害别人。 算计的意思是四:一是计算数目;二是考虑,计划;三是猜测,估计;四是暗中谋划损害别人。通过看字典...
全文
幼儿园计算题的简单计算方法
1个回答2024-03-09 13:34
幼儿园计算题的简单计算方法如下: 1、数数与读数。 教孩子计算以前,先让孩子学会数数与读数,这是孩子学习计算不可或缺的条件,家长可以先让孩子学会数数,并认识数字。对于孩子来说,学习数数和读数...
全文