切换到宽版
  • 3327阅读
  • 7回复

[课堂知识][智力游戏策划]九宫数独3×3 [复制链接]

上一主题 下一主题
离线游海
 

发帖
3592
金钱
14543
贡献值
200
交易币
278
好评度
496
家乡
广东、韶关市、始兴县、清化人
性别
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-11-12
大家玩过数独游戏吗?这可是时下很流行的智力游戏。 ggc?J<Dv  
  ggc?J<Dv  
所谓数独游戏就是每一行、每一列都由1~9九个数组成,且不能重复,9行×9列共81格分成九个3行×3列的九宫,每宫里也是由1~9九个数组成,且不能重复,所以答案是唯一的。 ggc?J<Dv  
  ggc?J<Dv  
无论有没有玩过,大家都来试试下面的这道九宫数独3×3吧? ggc?J<Dv  
  ggc?J<Dv  
第一题
0
1
2
3
4
5
6
4
8
9
A
 
7
 
5
 
 
 
B
 
 
4
2
 
3
 
C
3
 
6
9
 
 
D
4
 
 
2
9
 
8
E
1
 
7
 
 
 
6
F
 
 
 
5
G
 
 
 
6
 
 
4
 
H
8
2
 
 
 
 
I
 
 
 
8
1
 
7
 
第二题
0
1
2
3
4
5
6
7
8
9
A
 
 
8
9
 
5
1
B
7
 
 
3
 
 
 
C
 
 
 
4
6
 
 
D
4
 
5
1
 
 
3
9
E
9
 
 
 
F
1
8
7
3
 
 
 
G
9
 
 
7
1
 
 
 
H
 
 
 
2
 
6
8
I
 
 
 
7
 
 
ggc?J<Dv  
第三题
0
1
2
3
4
5
6
7
8
9
A
 
7
 
5
 
 
 
 
 
B
 
 
4
2
 
 
 
3
 
C
3
 
6
 
 
 
9
 
 
D
4
 
 
2
9
8
E
1
 
7
 
 
 
6
F
 
 
 
 
 
 
5
 
 
G
 
 
 
6
 
4
 
H
8
2
 
 
 
 
I
 
 
 
8
1
 
 
7
 
ggc?J<Dv  
ggc?J<Dv  
ggc?J<Dv  
第四题
0
1
2
3
4
5
6
7
8
9
A
 
 
 
2
 
 
 
 
8
B
 
5
 
1
 
 
6
3
C
 
 
3
 
8
 
7
 
 
D
4
8
 
 
 
2
5
 
E
 
 
 
1
 
6
F
 
 
9
7
 
 
 
1
2
G
 
 
7
 
2
9
 
 
H
3
9
 
7
 
4
 
I
5
 
 
 
 
9
 
 
 
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
中华游氏网欢迎您:www.chineseyou.com  
离线游大亮

发帖
7461
金钱
12
贡献值
3313
交易币
246
好评度
586
家乡
江西省抚州市南城县新丰街镇梅溪村界潭堡
性别
只看该作者 沙发  发表于: 2009-11-12
得看看!
真诚相识,真诚相见,真诚相遇,真诚相助。
离线游智钟

发帖
1012
金钱
462
贡献值
129
交易币
2
好评度
255
家乡
福建省建阳市漳墩镇凤凰村
性别
只看该作者 板凳  发表于: 2009-11-12
这个好象不会很难吧 ggc?J<Dv  
ggc?J<Dv  
把每一个空格有可能的数字写下来 ggc?J<Dv  
ggc?J<Dv  
然后在整理一下好象就差不多了 ggc?J<Dv  
ggc?J<Dv  
就是要有一定的时间就是了
欢迎大家加入《福建游氏群》
群号是:43281971
群主QQ:512488858
离线游智钟

发帖
1012
金钱
462
贡献值
129
交易币
2
好评度
255
家乡
福建省建阳市漳墩镇凤凰村
性别
只看该作者 地板  发表于: 2009-11-12
那一位宗亲用我说的方法试一下 ggc?J<Dv  
看一下可不可以
欢迎大家加入《福建游氏群》
群号是:43281971
群主QQ:512488858
离线游均平

发帖
4766
金钱
259777
贡献值
2608
交易币
277
好评度
1063
家乡
广东省河源市龙川县车田镇樟州村
性别
只看该作者 4楼 发表于: 2009-12-13
数独终盘的排列组合 ggc?J<Dv  
  数独中的数字排列千变万化,那么究竟有多少种终盘的数字组合呢? ggc?J<Dv  
  6,670,903,752,021,072,936,960(约有6.67×10的21次方)种组合,2005年由Bertram Felgenhauer和Frazer Jarvis计算出该数字,如果将重复(如数字交换、对称等)不计算,那么有5,472,730,538个组合。数独终盘的组合数量都如此惊人,那么数独题目数量就更加不计其数了,因为每个数独终盘都可以用挖数的方法出很多个不同的数独题目。 ggc?J<Dv  
数独的基本元素 ggc?J<Dv  
  数独基本元素示意图单元格:数独中最小的单元,标准数独中共有81个; ggc?J<Dv  
  行:横向9个单元格的集合; ggc?J<Dv  
  列:纵向9个单元格的集合; ggc?J<Dv  
  宫:粗黑线划分的区域,标准数独中为3×3的9个单元格的集合; ggc?J<Dv  
  已知数:数独初始盘面给出的数字; ggc?J<Dv  
  候选数:每个空单元格中可以填入的数字。 ggc?J<Dv  
数独的基本规则 ggc?J<Dv  
  标准数独的规则为:数独每行、每列及每宫填入数字1-9且不能重复。 ggc?J<Dv  
基本解法举例 ggc?J<Dv  
  数独解法全是由规则衍生出来的,基本解法分为两类思路,一类为排除法,一类为唯一法。更复杂的解法,最终也会归结到这两大类中。 下边以图示简单介绍几种解法,只要你花几分钟看一遍,马上就可以开始做数独了。 ggc?J<Dv  
基础摒除法 ggc?J<Dv  
  基础摒除法就是利用1 ~ 9 的数字在每一行、每一列、每一宫都只能出现一次的规则进行解题的方法。基础摒除法可以分为行摒除、列摒除、九宫格摒除。 ggc?J<Dv  
  实际寻找解的过程为: ggc?J<Dv  
  寻找九宫格摒除解:找到了某数在某一个九宫格可填入的位置只余一个的情形;意即找到了 该数在该九宫格中的填入位置。 ggc?J<Dv  
  寻找列摒除解:找到了某数在某列可填入的位置只余一个的情形;意即找到了该数在该列中的填入位置。 ggc?J<Dv  
  寻找行摒除解:找到了某数在某行可填入的位置只余一个的情形;意即找到了该数在该行中的填入位置。 ggc?J<Dv  
  基础摒除法的提升方法是区块摒除法,是直观法中使用频率最高的方法之一. ggc?J<Dv  
唯一解法 ggc?J<Dv  
  当某行已填数字的宫格达到8个,那么该行剩余宫格能填的数字就只剩下那个还没出现过的数字了。成为行唯一解. ggc?J<Dv  
  当某列已填数字的宫格达到8个,那么该列剩余宫格能填的数字就只剩下那个还没出现过的数字了。成为列唯一解. ggc?J<Dv  
  当某九宫格已填数字的宫格达到8个,那么该九宫格剩余宫格能填的数字就只剩下那个还没出现过的数字了。成为九宫格唯一解. ggc?J<Dv  
唯余解法 ggc?J<Dv  
  唯余解法就是某宫格可以添入的数已经排除了8个,那么这个宫格的数字就只能添入那个没有出现的数字. ggc?J<Dv  
区块摒除法 ggc?J<Dv  
  区块摒除法是基础摒除法的提升方法,是直观法中使用频率最高余数测试法 ggc?J<Dv  
  所谓余数测试法就是在某行或列,九宫格所填数字比较多,剩余2个或3个时,在剩余宫格添入值进行测试的解题方法. ggc?J<Dv  
隐性唯一候选数法 ggc?J<Dv  
  当某个数字在某一列各宫格的候选数中只出现一次时,那么这个数字就是这一列的唯一候选数了.这个宫格的值就可以确定为该数字. 这时因为,按照数独游戏的规则要求每一列都应该包含数字1~9,而其它宫格的候选数都不含有该数,则该数不可能出现在其它的宫格,那么就只能出现在这个宫格了. 对于唯一候选数出现行,九宫格的情况,处理方法完全相同。 ggc?J<Dv  
三链数删减法 ggc?J<Dv  
  找出某一列、某一行或某一个九宫格中的某三个宫格候选数中,相异的数字不超过3个的情形, 进而将这3个数字自其它宫格的候选数中删减掉的方法就叫做三链数删减法。 ggc?J<Dv  
隐性三链数删减法 ggc?J<Dv  
  在某行,存在三个数字出现在相同的宫格内,在本行的其它宫格均不包含这三个数字,我们称这个数对是隐形三链数.那么这三个宫格的候选数中的其它数字都可以排除. ggc?J<Dv  
  当隐形三链数出现在列,九宫格,处理方法是完全相同的. ggc?J<Dv  
  ------------------------------------------------------ ggc?J<Dv  
  修改为:在某行,存在三个候选数字分别出现在三个宫格内, ggc?J<Dv  
  在本行的其它宫格均不包含这三个数字,我们称这个数对是隐形三链数.那么这三个宫格的其它候选数都可以排除. ggc?J<Dv  
  当隐形三链数出现在列,九宫格,处理方法是完全相同的 ggc?J<Dv  
  或者: 利用“找出某3个数字仅出现在某行、某列或某一个九宫格的某三个宫格候选数中的情形,进而将这三个宫格的候选数删减成该3个数字”的方法就叫做隐性三链数删减法(Hidden Triples)。 ggc?J<Dv  
矩形顶点删减法 ggc?J<Dv  
  矩形顶点删减法和直观法讲到的矩形摒除法分析方法是一样的。矩形顶点删减法在识别时比较不容易找到,所以最好先使用其它的方法。 ggc?J<Dv  
三链列删减法 ggc?J<Dv  
  三链列删减法是矩形顶点删减法的扩展,如果不清楚矩形顶点删减法,可以参考矩形顶点删减法,以便于更容易理解本节内容。 利用“找出某个数字在某三列仅出现在相同三行的情形,进而将该数字自这三行其他宫格候选数中删减掉”; 或“找出某个数字在某三行仅出现在相同三列的情形,进而将该数字自这三列其他宫格候选数中删减掉”的方法 就叫做三链列删减法。 ggc?J<Dv  
关键数删减法 ggc?J<Dv  
  在进入到解题后期,利用前面讲到的唯一候选数法、隐性唯一候选数法、 区块删减法、数对删减法、隐性数对删减法、 三链数删减法、隐性三链数删减法、矩形顶点删减法、 三链列删减法都无法有进展的时候,可以考虑使用关键数删减法。关键数删减法就是在后期找到一个数,这个数在行(或列,九宫格)仅出现两次的数字。我们假定这个数在其中一个宫格类,继续求解,如果发生错误,则确定我们的假设错误。如果继续求解仍然出现困难,不妨假设这个数在另外一个宫格,看能不能得到错误。这就是关键数删减法. ggc?J<Dv  
  排除法 ggc?J<Dv  
  当某一列,某一行或某一宫里已填7个数字时,可采用排除法,排除不可能出现在这个格子的数,从而确定格子里应该填什么数。比如某一行已填1,3,4,5,7,8,9,还剩2,6,而其中一个空格所在的列上已有了2,可知这个空格里不可能是2,那么另外一个空格里一定是2,那么这个空格里一定是6。 #;nYg?d=  
  当某一列,某一行或某一宫里已填6个数字时,也可采用排除法。
知足常乐
离线游均平

发帖
4766
金钱
259777
贡献值
2608
交易币
277
好评度
1063
家乡
广东省河源市龙川县车田镇樟州村
性别
只看该作者 5楼 发表于: 2009-12-13
数独的难度 #;nYg?d=  
  数独的难度不好评价,因为它的各种局面互不相关,你别想用一种方法解决所有数独,这也是它的魅力所在,有人爱玩数独,因为他上瘾了,真的欲罢不能。 #;nYg?d=  
  数独的推理性强,像一些数学思想,推理,假设,反证(找矛盾)都有影子,换成计算机,它也做类似的事情,推理和假设变成搜索,反证变成回溯,做一件数学工作,难度就体现在这些基本的工作重复了多少,越多越难,如果推两下就出结果,那就容易,所以…… #;nYg?d=  
  就一般性的数独难度,拿两个指标来衡量,搜索次数S和回溯次数T,T越大越难,但和S也有关系,应该描述成回溯率,比如同样是回溯了10次,一个是20次的搜索,另一个是80次的搜索,那难度应该不同。换个思路,T可以看成是无效搜索,它一定是S的一子集,即T<=S,如果T=S就表示无解,回退到了一开始的情况,而难度应该和有效搜索有关系,有效搜索比率就定义为难度系数,即H=(S-T)/S,它是[0,1]内的小数,它越小越难,那对一个难度的评价,可以取它的倒数,或者负对数,怎么表示好,看实验情况。 #;nYg?d=  
  其它因素。科学的评价,应该要考虑其它因素,像空格数,做为初学者就会觉得很重要,还有各个空格的不确定度,但是这些因素都会或多或少的影响到S和T。这里评价的前提是按照同样的搜索算法,那个算法和不确定度有关系,所以也可以反映出来。 #;nYg?d=  
  总结出来,评价的具体方法是,运用偶的搜索算法试解一个数独,在调用dfs时S计数加一,在dfs退出时T计数加一,在搜索到第一个解时停止统计,计算H,给出S,T和H。
知足常乐
离线游大亮

发帖
7461
金钱
12
贡献值
3313
交易币
246
好评度
586
家乡
江西省抚州市南城县新丰街镇梅溪村界潭堡
性别
只看该作者 6楼 发表于: 2009-12-25
其实就是一个九宫,反复几次,但相互依存。
真诚相识,真诚相见,真诚相遇,真诚相助。
离线游新源

发帖
8918
金钱
128578
贡献值
2526
交易币
0
好评度
1269
家乡
福建省上杭县同康村
性别
只看该作者 7楼 发表于: 2014-01-05
伤脑
因为一个游字,紧紧的把我们连在一起
快速回复
限100 字节
 
上一个 下一个