求解两个数独难题求解

数独解题方法大全_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
数独解题方法大全
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
下载文档到电脑,查找使用更方便
还剩18页未读,继续阅读
你可能喜欢求这两道数独题答案!_百度知道
求这两道数独题答案!
//b://g://g.jpg" />谢谢./zhidao/wh%3D450%2C600/sign=b9e5dd9079addb43f68bd9/730e0cf3d7ca7bcbfcd3b5b1bb096b63f724a880.jpg" esrc="/zhidao/wh%3D450%2C600/sign=/zhidao/pic/item//zhidao/pic/item//zhidao/wh%3D600%2C800/sign=2a615deadf812/b151fa1b2d0d432b738bd4b21ce58c.hiphotos.baidu.baidu.jpg" /><img class="ikqb_img" src="http
提问者评价
来自团队:
其他类似问题
为您推荐:
数独的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁数独解题技巧 2_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
数独解题技巧 2
上传于||文档简介
&&小&#8203;学&#8203;数&#8203;独&#8203;学&#8203;习
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩11页未读,继续阅读
你可能喜欢700万小时搞定最小数独问题 | 科学人 | 果壳网 科技有意思
700万小时搞定最小数独问题
本文作者:sqybi
刚刚迈入 2012 年,数学界就有一个不大不小的收获。三位爱尔兰数学家发表了一篇论文,证明了数独至少需要 17 个初始数字才有唯一解。这个问题很难吗?其实一点也不,计算机才花了 700 万小时的 CPU 时间(CPU时间指CPU上执行指定代码的时钟周期数乘以每个时钟周期的时间长度)就搞定了这道数独题。这 700 万个小时它了做了什么?是三位数学家的方法很笨才导致算了这么久吗?实际上,这个时间已经不算长了。看看死理性派的详细介绍你就知道了。
数独游戏和长久以来的世界难题
18 世纪末,瑞士数学家欧拉发明了一种叫做“拉丁方阵(Latin Square)”的游戏。虽然最初这个游戏并没有风靡起来,但随着时间的推移,在 20 世纪 70 年代的美国,这个游戏以“数字拼图(Number Place)”的名字迅速流行起来,之后逐渐流传到日本、英国,到现在已经成为了红遍全球的智力游戏。
数独游戏基本规则是这样的:在一个九宫格中给出一些初始数字。玩家需要在九宫格内填入缺失的数字(1 - 9),保证:
每一行的 9 个数字各不相同
每一列的 9 个数字各不相同
每一个用粗线标识出的 3 × 3 的小正方形内 9 个数字也各不相同
虽然规则非常简单,但其中包含的信息却毫不简单。数学家 Bertram Felgenhauer 在 2005 年证明,数独的解共有 9! × 722 × 27 × 27,704,267,971 种不同的可能组合,上面这个乘式的最后一个数还是一个质数。
一个经典的数独。图像来源:wikipedia
而如此多变的变化,无疑也给数学家们出了不少难题。其中一个被讨论了很久的问题是, 至少给定多少个初始数字,数独才会有唯一解? 此前已经有人给出了一些包含 17 个初始数字的数独,并利用计算机证明了其解是唯一的(对于某个给定了 17 个初始数字的数独,计算机枚举了所有可能的排列情况,只找到一个解),从而证明了 17 个初始数字的数独是可以存在唯一解的。但是长久以来都没有人知道, 16 个初始数字的数独是否存在唯一解。终于,在 2012 的元旦,都柏林大学(University College Dublin)的数学家们给出了 答案:16 个初始数字的数独不存在唯一解。
有没有解试出来
消息一出,媒体争相报道,报道中不乏复杂的算法、超级计算机等“虽然不知道在说什么,但看起来很厉害”的词汇。事实上,研究人员用来证明这个问题的方法用一个字就可以总结,那就是——试。
解决这个问题几位数学家最初的想法非常可爱: 只要把每一种有 16 个初始数字的数独都尝试着填一遍,自然就知道答案了。
但很可惜,因为数独的组合实在是太多了,所以即使是现在最快的计算机,也不可能在我们的有生之年穷尽所有的组合。因此,必须用一些数学的方法来减少尝试的次数,这个想法才能够实现。
他们发现,数独虽然有很多种可能的组合,但是其中一些其实是等价的。如下图,可以看到交换第一列和第二列对整个数独并没有影响。实际上任意一个合法数独的解交换两列后,都可以构成一个新的合法数独,而这个新数独和原数独就可以看做是等价的。
两种等价的数独组合
三位数学家总结了数独的 4 种等价变换:
⒈ 列与列的重新排列(例如上图)
⒉ 行与行的重新排列
⒊ 数字 1 到 9 的重新排列。如把原先是 1 的位置都填上 2,然后把原先是 2 的位置都填上……直到把原先是 9 的位置都填上 1 等
⒋ 网格的变换。如整个数独顺时针旋转90度,整个数独做镜像对称等
在 2006 年已经有数学家证明,排除以上几种重复后,数独总共有 5,475,730,538 个等价类。因为每个等价类里的任意一种情况都可以通过这个等价类中的其它情况经由以上 4 种变换得到,所以对每个等价类来说,我们只要考虑一种情况即可。如此一来,有非常多的组合都被我们直接排除了,计算量大大减小。
让枚举量少一点,再少一点
虽然等价类的数量已经降低到了可以接受的范围,但问题还远没有结束。因为在选择了某个等价类中的一种情形之后,我们还需要验证这个情形的 81 个数字中是否可以选出 16 个,使得以这 16 个数为初始数字的数独有唯一解。
如果检查所有的可能情况,对于每一个等价类,我们要检查的次数就是:
这显然很不幸:好不容易通过排除等价变换的方法把计算量减下去,怎么能在这里再加回来呢!所以这又需要数学家再做一些工作,把 3.4 × 10 16 这个数减小,让枚举量少一点,再少一点。
因此,几位数学家利用了 “不可避免集”的概念:如下图所示,如果表示颜色的 4 个数字中任何一个都没有在初始数字中给出,那么这个数独一定没有唯一解——因为在没有给出的情况下这 4 个数字都是由玩家填进去的,玩家既可以以左图的方式填入这 4 个数字,也可以以右图的方式填入,而得到的两个解都是合法的。具有这种属性的数个方格就叫做不可避免集,一旦出现了不可避免集,我们就必须要在其中至少选出一个格子用来填写初始数字。
不可避免集
不可避免集大大化简计算量
在论文中,数学家们采用了 Ed Russell 总结的一套不可避免集的模板,总共记录了 525 种不同的不可避免集。因为一开始所说的 4 种等价变换对不可避免集也适用,所以他们对不可避免集进行了一些标准化的处理,以保证这 525 种不可避免集互相之间不能通过 4 种等价变换得到。
此时,枚举算法就被改造成这样:数学家给所有的不可避免集都设定一个状态,分为“被击中”或“未被击中”两种。初始时九宫格 81 个方格内都没有填入数字,所有不可避免集的初始状态均为“未被击中”。之后开始每次选择一个最小的未被击中的不可避免集,枚举其中的每个格子。即每次选择不可避免集中的一个格子填充初始数字,直至试完不可避免集中的所有空格。同时将这个不可避免集标记为“被击中”状态,每次枚举都有 4 种可能。
● 如果这个格子也出现在了其它不可避免集中,那么将这些被涉及到的不可避免集也标记为“被击中”状态;
● 如果枚举了 16 个格子后还有不可避免集未被击中,说明以这 16 个格子为初始状态的数独一定没有唯一解;
● 恰好枚举了 16 个格子后所有的不可避免集全部被击中;
● 如果枚举了不到 16 个格子后所有不可避免集已经全部被击中,则从剩下的所有格子中再枚举几个格子使初始填充了数字的格子达到 16 个。
完成上面这个工作后,就要用解数独的程序来验证所有枚举的情况是否有唯一解。为了进一步加快枚举速度,数学家们还加入了一些可行性剪枝和最优化剪枝,如提前判断“当前情况下已经不可能击中所有不可避免集”并终止枚举等。
在这一系列优化之后,算法的复杂度终于降低到了可以接受的范围内。但即使这样,整个计算过程还是耗费了 700 万小时的 CPU 时间。幸而这个算法最终给出了一个确定的结果:所有仅包含 16 个初始数字的数独,都不存在唯一解!
暴力与美学的结合
当然,上述结果的正确性还有待其他科学家进一步验证,因为算法耗时极高,所以验证过程也需要花费比较长的时间。但无论这次 3 位数学家给出的结论正确与否,随着验算结果的公布,这个问题终将得到一个解答。
粗略看来,这个算法的实现是非常暴力和机械化的:尝试每一种可能的情况。但是在实现的过程中,数学家们又在借助于数学的力量,不断地试图减少枚举的数量,最终将不可能的事情化为了现实。怪不得西澳大利亚大学的数学家 Gordon Royle 这样评价道:“这个挑战性的问题让人们把计算的能力和数学的技巧发挥到了极限,这就像是在攀登最高耸的山峰。”
现在关于数独的 puzzle 越来越难越来越精彩了。你做过的最难的数独是什么?在这里抛一块砖:
参考资料: There is no 16-Clue Sudoku: Solving the Sudoku Minimum Number of Clues Problem
你可能感兴趣
看不懂。?
这个答案给我。
你们这些人类都在用计算机做神马啊!
求17个数字的数独。。
700万小时我还是利用这个时间去冬眠吧
经济学爱好者
为什么最后一题只有16个数?
计算机科学与工程专业本科生,口琴控,动漫迷
的回应:为什么最后一题只有16个数?因为有附加条件。。。
求非穷举证明的方法~
计算机科学与工程专业本科生,口琴控,动漫迷
的回应:求非穷举证明的方法~如果有的话就不用这么累了!
计算机科学与工程专业本科生,口琴控,动漫迷
的回应:700万小时我还是利用这个时间去冬眠吧700万小时是CPU时间。。。有好多好多的CPU们一起努力工作呢☆
什么叫“700 万小时的 CPU 时间”700万小时是29.17万天是0.08万年是800年啊
计算机科学与工程专业本科生,口琴控,动漫迷
的回应:什么叫“700 万小时的 CPU 时间”700万小时是29.17万天是0.08万年是800年啊CPU时间指CPU上执行指定代码的时钟周期数乘以每个时钟周期的时间长度。。。如果有10000个CPU同时运行代码,那么700万小时的CPU时间只要一个月就可以跑完了。
的回应:这个答案给我。
的回应:求17个数字的数独。。你去找
的回应:为什么最后一题只有16个数?你来都来了,就不能推荐一下么……
声明不是我解出来的
经济学爱好者
的回应:因为有附加条件。。。也就是说,看起来是限制条件,其实反而提供了额外信息,降低了复杂度。
“让枚举量少一点,再少一点”里的图中右边那货也是合法的?
的回应:声明不是我解出来的用PS稍微写好看一点……慢了五分钟解出来啊
的回应:“让枚举量少一点,再少一点”里的图中右边那货也是合法的?THX 哎呀 谢谢谢谢 马上来改
楼主最后一题
的回应:声明不是我解出来的原来我慢了好多啊引用
的回应:用PS稍微写好看一点……慢了五分钟解出来啊
物理学专业,维基百科小组管理员
LZ可以参考一下信息学奥赛里的相关资料,这里积累了很多关于数独的问题
的回应:LZ可以参考一下信息学奥赛里的相关资料,这里积累了很多关于数独的问题DLX =v=
计算机科学与工程专业本科生,口琴控,动漫迷
的回应:DLX =v=引用
的回应:LZ可以参考一下信息学奥赛里的相关资料,这里积累了很多关于数独的问题想当初那篇论文还是我翻译的。。。哈哈哈口胡了,其实是吴豪同学完成了最主要的工作,我只是帮忙翻译一小部分然后校对一下啥的。。。顺便@ 下楼上的童鞋
如果有兴趣的话可以看一下这篇Knuth的论文 这个算法用在解数独上效果还是不错的
的回应:想当初那篇论文还是我翻译的。。。哈哈哈口胡了,其实是吴豪同学完成了最主要的工作,我只是帮忙翻译一小部分然后校对一下啥的。。。顺便@ 下楼上的童鞋
如果有兴趣的话可以看一下这篇Knuth的论文 这个算法用在解数独上效果还是不错的 ForbiddenYou don't have permission to access /works/dlxcn/ on this server.Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
配图让数独控伤不起啊,有木有....
计算机科学与工程专业本科生,口琴控,动漫迷
的回应:ForbiddenYou don't have permission to access /works/dlxcn/ on this server.Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.Ctrl+F5刷新下呢。。。我貌似设置了不能外链。。。囧
物理学专业,维基百科小组管理员
的回应:想当初那篇论文还是我翻译的。。。哈哈哈口胡了,其实是吴豪同学完成了最主要的工作,我只是帮忙翻译一小部分然后校对一下啥的。。。顺便@ 下楼上的童鞋
如果有兴趣的话可以看一下这篇Knuth的论文 这个算法用在解数独上效果还是不错的 2个月前刚刚参加完信息学竞赛,现在已经淡出了……顺便看到一眼……想起来了,等将来有机会我会看的,嗯
的回应:你们这些人类都在用计算机做神马啊!难道你不是人类吗?
显示所有评论
(C)2015果壳网&京ICP备号-2&京公网安备内容字号:
段落设置:
字体设置:
精准搜索请尝试:
迄今难度最大的数独游戏被中国网友破解(图)
来源:扬子晚报作者:扬子晚报责编:小兽
数独是一种运用纸、笔进行演算的逻辑游戏。玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含1-9,不重复。每一道合格的数独谜题都有且仅有唯一答案,推理方法也以此为基础,任何无解或多解的题目都是不合格的。
“芬兰数学家因卡拉花费3个月设计出了世界上迄今难度最大的数独游戏,而且它只有一个答案。因卡拉说只有思考能力最快、头脑最聪明的人才能破解这个游戏。”这是英国《每日邮报》近日的一篇报道,扬子晚报新浪官方微博随后发布了这道“最难”的数独题。7月2日晚,网友@gkzhong在评论中贴出正确答案。记者采访到这位牛人,他给出的解题秘诀是:会推理数独,会写程序,能把推理的逻辑转换为计算机的实现。
芬兰数学家3个月设计出“最难数独”
近日,微博上疯传一道数独题目,扬子晚报官方微博也进行了转发,微博内容是:“据英国《每日邮报》6月30日报道,芬兰数学家因卡拉花费3个月设计出了世界上迄今难度最大的数独游戏,而且它只有一个答案,因卡拉说只有思考能力最快、头脑最聪明的人才能破解。
详细的报道中说,通常这种游戏的难度被分为1到5级,但因卡拉表示他设计的这个游戏的难度实际达到了11级,其中最难的部分要求玩家提前想到10个数字的填写。因卡拉说,自己不敢肯定这是否永远会是世界最难解的数独,但他自信这是迄今为止被设计出来的最难的一个。
芬兰数学家、花费三个月、难度11级……这些关键词一罗列,让网友顿时对这道数独题有了很高期待。有人抱怨称,一眼望去,一个也填不上;也有网友果断收藏,等空闲了再去研究。网友“我只是徐国彬”竟然还在微博上和朋友打赌:“从现在开始,24小时之内他解不出这个数独,就要在下学期帮我洗衫一个星期。否则我帮他洗衫一个星期。”
(芬兰数学家设计的题目和网友答案)
技术男解出题目将答案@本报官微
就在大部分网友还处在“膜拜最难数独题”的时候,7月2日晚,一位名叫“gkzhong”的网友在扬子晚报新浪官微上贴出了自己的答案:“递归(递归作为一种算法在程序设计语言中广泛应用。递归的方法是程序设计中有效的方法,采用递归编写程序能使程序变得简洁和清晰――编者注),300毫秒”,后面附上了数独数字排列。网友纷纷惊叹牛人的解题速度,并称:“芬兰数学家设计三个月的数独都被你解决了,了不起!”
记者联系到这位智慧网友,名叫钟广凯,小钟是广东人,在北京已经工作五年了,家里的宝宝刚刚4个月。小钟微博上自称“一个有态度的程序员”。据他介绍,自己曾先后就职于网易担任财经技术Leader,网易微博架构设计,从网易离开后便加入到雪球创业团队,担任技术总监,架构师。
说起玩数独,这位28岁的大男孩告诉记者,“高中时候在报纸或者杂志上看到会玩玩,以后就几乎没再玩过。”关于这次的数独题目,他觉得没什么特别的技巧,只是借助计算机完成演算而已。
据悉,小钟在高中时代还没系统学习过编程,现在自己熟悉了很多程序知识,很容易想到把人推算的过程交由计算机完成,推理的逻辑还是一样的,只是计算机的速度和人的速度比较起来快了很多。
“而且程序计算好了不会出错,人推理还容易出错。我这次推算着填每个格子都是相同的方法。推算用任何种语言都可以实现的,用递归循环最基础的东西。”
这次数独的程序算法大概是这样的:比如你看倒数第二个格子,可以放的是2,5,7,然后将2放入,继续推导其它格子(比如倒数最后一个格子),如此一层一层深入,如果遇到冲突,往上返回一层继续推导,直到结束,这个逻辑如果用人推理的话会非常麻烦,所以借助程序来演算,方便很多。据小钟介绍,昨天看到这题目时先是在纸上进行推导,找出信息最多的单元进行广度优先,推完几个小格后,觉得嵌套太深,很难回溯,又不愿放弃,就改用程序推算,算法还是刚才的逻辑,用递归来实现。
那么,是不是不懂程序的人就没有办法解答了呢?小钟告诉记者:“不懂程序的人也想得到,可能很多人也是这样推算的,只是这道题这种方式推算的难度比较大,深入的层次比较多。简单的题是推算有限个步骤就可以逐渐确定,但这题诱入得太深,回溯就很艰难。”
最后,小钟还总结了一下解答这到数独题目需要具备的素质:会推理数独,会写程序,能把推理的逻辑转换为计算机的实现。据了解,C++、c语言、java、vb&这些计算机语言都可以进行这个数独的推演。
不止一名网友贴出答案
记者调查发现,除了2日晚上小钟贴出答案,其实早在7月1日中午,网友“jiangxj”也贴出了自己的答案。答案和小钟是一样的。至于推演过程,并没有太多的透露。
有网友的注意力不在题目本身,而是对于难度等级产生了质疑。记者注意到,新浪账户@独数之道官方微博也对难度等级进行了辟谣:“这两天微博上转的很多的一则关于数独的新闻,称芬兰Arto&Inkala又出了一道11星的数独题,声称是世界最难数独。但是他在接受报纸的访问时,说的是他相信目前没有找到最难的数独,数独难度评价的标准还未建立,即使是目前gsf、hodoku、se等的评级标准下,他认为这些评级标准中最难的题还是没找到。”微信搜索“IT之家”关注抢6s大礼!下载IT之家客户端()也可参与评论抽楼层大奖!
软媒旗下软件:||||||||
IT之家,软媒旗下科技门户网站 - 爱科技,爱这里。
Copyright (C) , All Rights Reserved.
版权所有 鲁ICP备号}

我要回帖

更多关于 数独求解 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信