数独技巧1.doc
《数独技巧1.doc》由会员分享,可在线阅读,更多相关《数独技巧1.doc(65页珍藏版)》请在三一办公上搜索。
1、数独技巧(Sudoku Strategies)对于数独游戏的解法,通常采用直观法(Direct Elimination Techniques) 和 候选数法(Candidates Elimination Techniques).直观法(Direct Elimination Techniques),顾名思义,就是通过对谜题中现有的数字进行分析,继而逐一确定剩余空格中的数字的方法。它是最常用并且相对简单的方法,对于比较容易的谜题,可以快速求解并收到良好的效果。但是遇到比较复杂的题目,直观法(Direct Elimination Techniques)就稍显力不从心了。候选数法(Candidates
2、 Elimination Techniques), 是先在所有空白的单元格中写上所有可能出现的数字,然后通过一些常用的算法来删减候选数,最终获得唯一确定的候选数。候选数法(Candidates Elimination Techniques)被广泛使用在电脑生成谜题及解题的实践中,这不仅因为它编程相对容易,而且它的算法也在不断增加,使它的解题效率和能力都得以大力提高。推荐资料: 数独(SuDoku)介绍 直观法(Direct Elimination Techniques) 候选数法(Candidates Elimination Techniques) 数独(SuDoku)介绍 2007-7-18
3、 51487数独(日语:数独)是一种源自18世纪末的瑞士,后在美国发展、并在日本得以发扬光大的数学智力拼图游戏。拼图是九宫格(即3格宽3格高)的正方形状,每一格又细分为一个九宫格。在每一个小九宫格中,分别填上1至9的数字,让整个大九宫格每一列、每一行的数字都不重复。 数独的玩法逻辑简单,数字排列方式千变万化。不少教育者认为数独是锻炼脑筋的好方法。 历史 如今数独的雏型首先于1970年代由美国的一家数学逻辑游戏杂志发表,当时名为Number Place。现今流行的数独于1984年由日本游戏杂志通信发表并得了现时的名称。数独本是“独立的数字”的省略,因为每一个方格都填上一个个位数。 数独冲出日本成
4、为英国当下的流行游戏,多得曾任香港高等法院法官的高乐德(Wayne Gould)。2004年,他在日本旅行的时候,发现杂志的这款游戏,便带回伦敦向泰晤士报推介并获得接纳。英国每日邮报也于三日后开始连载,使数独在英国正式掀起热潮。其他国家和地区受其影响也开始连载数独。数独术语 要理解如何对一个数独题求解,我们先来介绍一些在本网站中使用的术语。 单元格和值 一个数独谜题通常包含有9x9=81个单元格,每个单元格仅能填写一个值。对一个未完成的数独题,有些单元格中已经填入了值,另外的单元格则为空,等待解题者来完成。行和列 习惯上,横为行,纵为列,在这里也不例外。行由横向的9个单元格组成,而列由纵向的9
5、个单元格组成。很明显,整个谜题由9行和9列组成。为了避免混淆,这里用大写英文字母和数字分别表示行和列。例如,单元格G6指的是行G和第6列交界处的单元格,它已填入了值7。区块 术语区块指的是起始于特定位置的9个相邻的单元格组。在上图中,区块用交替相间的背景颜色来注明。例如,对于最左上角的区块,我们表示为起始于A1的区块。单元 任何一行,一列或一个区块都是一个单元。每个单元都必须包含全部但不重复的数字1到9。数独题目难度 很多人认为数独题目的难度取决于已填入谜题中的数字的数量,其实这并不尽然。一般来说,填入的数字越多,题目就越容易求解。然而实际上,有很多填入数字多的题目比填入数字少的题目要难得多。
6、这就需要有其他的方法来确定的难度。在应用中使用得比较多的一种方法是看看要解决一道数独题目需要用到哪些数独技巧。极简单的题目用到的可能只是最基本的技巧。而相对复杂的题目可能要用到十分高深的解题方法。通过这样来设定游戏的难度相对而言较为客观。数独的变化 人们总是不满足于已有的一切。同样,对于普遍使用的9x9谜题而言,大量涌现的变形数独题也在不断丰富着数独家族。一种比较常见的数独变形是大小上的改变。现在已有的大小包括:4x4,6x6,12x12,16x16,25x25,甚至还有100x100。另一种数独变形题是在原数独规则的基础上加入其他的规则。譬如X形数独就要求除原来的数独规则外,连主对角线上的单
7、元格也要满足数字1到9的唯一性和完整性。而杀手数独则要求每个“区”(虚线环绕的一组单元格)中的值必须唯一且总和等于区的右上角所指定的数字。 直观法(Direct Elimination Techniques) 2007-11-23 23919经常在报章杂志上看到的数独谜题,一般就算再难都可以用直观法来解决。它不需要象候选数法(Candidates Elimination Techniques)那样在每个空白的单元格中用铅笔填上一大堆候选数。你只要有相对锐利的眼光和一定的逻辑分析能力,就可以准确地把空余的数字逐个填出来。实际上,直观法就是对数独游戏规则的充分利用。虽然它并不如候选数法(Candi
8、dates Elimination Techniques)那样强大,但通常要想体会解决数独谜题的乐趣,使用直观法却是不二之选。直观法(Direct Elimination Techniques)具有以下的特点:1. 轻松上手。 即便是数独新手,在拿到谜题的一刹那,就可以用直观法来解题了。 2. 无需辅助。 在纸上解题时一般只需要一支钢笔就可以。因为是通过推理和逻辑分析来确定哪个格填哪个数,或是哪个数填在哪个格里,所以基本不需要猜测。 3. 容易掌握。 对于直观法(Direct Elimination Techniques)中应用的各种算法,可以很快掌握并应用于实际中。 4. 相对简单。比起候选
9、数法(Candidates Elimination Techniques),它的算法相对比较简单,当然能解决的谜题的复杂度也相对要低。 在直观法(Direct Elimination Techniques)中,常用的算法包括:1. 单元唯一法 ( Sole Position Technique ) 单元唯一法 ( Sole Position Technique ) 2007-11-23 28075这应该算是直观法中最简单的方法了。基本上只需要看谜题,推理分析一概都用不上,这是因为要使用它所需满足的条件十分明显。同样,也正是因为它简单,所以只能处理很简单的谜题,或是在处理较复杂谜题的后期才用得上
10、。 我们先来看一个例子:在上图中,观察行B,可以看到除了B3外,其他所有的单元格中都已有了数字,根据数独游戏的规则,即每行,列或区块中不能有重复的数字,则B3中能填入的数字只能是行B中所未出现过的,也就是数字3。所以可以毫不犹豫地在B3中填入3。这就是单元唯一法在行中的应用。这里的单元(Unit, or group),指的是行,列或区块。所以有三种情况:1. 当某行有8个单元格中已有数字,或 2. 当某列有8个单元格中已有数字,或 3. 当某区块有8个单元格中已有数字。 无论是哪种情况,我们都可以很快地在该行,列或区块剩余的空格中填入该单元还未出现过的数字。下面是单元唯一法在列中的应用: 在第
11、7列中,只有F7未填入数字,且这一列中数字8还未出现过。所以F7 = 8。在区块中也是一样:在起始于D7的区块中,只有E7还未填入数字,且这个区块中数字5还未出现过,所以可以马上在E7中填入5。单元唯一法在解题初期应用的几率并不高,而在解题后期,随着越来越多的单元格填上了数字,使得应用这一方法的条件也逐渐得以满足。 2. 单元排除法 ( Basic Elimination Technique ) 单元排除法 ( Basic Elimination Technique ) 2007-11-23 16522单元排除法是直观法中最常用的方法,也是在平常解决数独谜题时使用最频繁的方法。使用得当的话,甚
12、至可以单独处理中等难度的谜题。使用单元排除法的目的就是要在某一单元(即行,列或区块)中找到能填入某一数字的唯一位置,换句话说,就是把单元中其他的空白位置都排除掉。它对应于候选数法中的隐式唯一法。那么要如何排除其余的空格呢?当然还是不能忘了游戏规则,即行,列或区块中不能有重复的数字。从另一个角度来理解,就是1. 如果某行中已经有了某一数字,则该行中的其他位置不可能再出现这一数字。 2. 如果某列中已经有了某一数字,则该列中的其他位置不可能再出现这一数字。 3. 如果某区块中已经有了某一数字,则该区块中的其他位置不可能再出现这一数字。 单纯理解上面的规则还是不足以解题,但是在实践中这些规则却可以交
13、叉使用。在实际解题过程中,应用最多也最方便的是对区块的单元排除法,我们可以先看下面这个例子:对于起始于D1的区块,其未填数字的空格有6个之多,如果不使用单元排除法,是很难为这一区块填入任何数字的。这时我们就可以利用行,列及区块的相互关系,即一个单元格既在某一行上,也同时在某一列上以及某一区块中的这种关系来解题。观察数字9在谜题中的位置,可以看到它出现在B2,A4,C7,D8,I1和H9。而这些位置中,只有B2,D8和I1与起始于D1的区块有关联。因为I1=9,它所在的第1列上的其他单元格中不可能再出现9, 而区块中的D1和F1正好也在第1列上,所以这两个单元格填入9的可能性被排除。同理,因为B
14、2=9,它所在的第2列中的其他单元格不可能再填入9,而区块中的D2和E2也正好在第2列上,因此,这两个单元格填入9的可能性也被排除掉了。再看行D,因为D8=9,所以该行上的D1,D2和D3也不可能再填入9,而这些单元格正好也在起始于D1的区块中。所以,这个区块中能填入数字9的位置就只剩下了E3,这样就通过排除法找到了答案,即E3=9。下面再看一个在行中使用单元排除法的例子:在谜题中观察数字4和行H,在行H有5个空单元格无法确定数字,但是C3位置上的4使得其所在的第3列中的其他单元格上不能再出现4,所以H3不能填入4。I4上的4使得其所在的区块中也不能再填入4,它帮助行H排除了两个单元格H4和H
15、6,而第8列上的E8中的数字4使得同样位于这一列上的H8也排除了填入4的可能。这样,行H中能填入4的位置就只剩下H9了。在列中也可以使用单元排除法:在第7列中,我们试图确定能填入数字1的位置。在行B中,数字1已经出现在B2上,所以B7不可能再填入数字1了。而位于D8的数字1也使得F7排除了填入数字1的可能,因为它们位于同一区块中。这样,第7列上就只有A7能填入数字1了。 通过上面的示例,可以看到,要对区块使用单元排除法,需要观察与该区块相交的行和列。要对行使用单元排除法,需要观察与该行相交的区块和列。要对列使用单元排除法,需要观察与该列相交的区块和行。 在实际解题过程中,行,列和区块之间的关系
16、并不象上面这些图中所示的那么明显,所以需要一定的眼力和细心观察。一般来说,先看哪个数字在谜题中出现得最多,就从哪个数字开始下手,找到还未填入这个数字的单元(行,列或区块),利用已填入该数字的单元格与单元之间的关系,看能不能排除一些不可能填入该数字的位置,直到剩下唯一的位置。如果害怕搞不清已经处理过哪些数字的话,可以从数字1开始,从左上角的区块开始一直检查到右下角的区块,看能不能在这些区块中应用单元排除法。然后测试数字2,以此类推。 单元排除法是应用得最多的直观法,虽然在实践中经常会因为粗心而漏掉很多使用这一方法的机会,但只要勤加练习,就可以运用自如。 3. 区块排除法 ( Block Elim
17、ination Technique ) 区块排除法 ( Block Elimination Technique ) 2007-11-23 17887区块排除法是直观法中进阶的技法。虽然它的应用范围不如单元排除法那样广泛,但用它可能找到用单元排除法无法找到的解。有时在遇到困难无法继续时,只要用一次区块排除法,接下去解题就会势如破竹了。区块排除法实际上是利用区块与行或列之间的关系来实现的,这一点与单元排除法颇为相似。然而,它实际上是一种模糊排除法,也就是说,它并不象单元排除法那样利用谜题中现有的确定数字对行,列或区块进行排除,而是在不确定数字的具体位置的情况下进行排除的。这句话听起来似乎不好理解,
18、让我们先从一个例子入手,看看区块排除法是怎么应用的。对于上面这个谜题,用基本的单元排除法或是单元唯一法都无法再找到解。这时可以尝试使用区块排除法。 我们先从填入数字最多的区块着手,也就是起始于G4的区块,该区块中只有H6和I5为空,且剩余数字1和2还未填入。这样,我们可以想办法确定这两个数字的位置。观察全局,可以看到D2=2,根据单元排除法,它所在的第2列上不能再出现数字2,所以H2和I2将不能填入2,这使得起始于G1的区块中数字2可能出现的位置仅剩下I1和I3,见下图:虽然我们无法确定2在起始于G1的区块中的确定位置,但幸运的是,能填入2的位置正好都在行I上,也就是说,无论2在I1还是在I3
19、,行I的其他单元格中将不可能再出现数字2,所以可以毫不犹豫地排除在I5填入2的可能性,这样,对于起始于G4的区块而言,能填入数字2的位置就只剩下H6了。所以H6=2。接下来,当然毫无疑问,利用单元唯一法,在I5填入数字1。先小结一下上面的求解方法:解题时,实际上是在对目标区块(主区块)有影响的区块(辅助区块)中应用单元单元排除法,使辅助区块满足某些条件并能参与对主区块的数字排除。实际应用中,可能出现下面四种情况:1. 当某数字在某个区块中可填入的位置正好都在同一行上,因为该区块中必须要有该数字,所以这一行中不在该区块内的单元格上将不能再出现该数字。 2. 当某数字在某个区块中可填入的位置正好都
20、在同一列上,因为该区块中必须要有该数字,所以这一列中不在该区块内的单元格上将不能再出现该数字。 3. 当某数字在某行中可填入的位置正好都在同一区块上,因为该行中必须要有该数字,所以该区块中不在该行内的单元格上将不能再出现该数字。 4. 当某数字在某列中可填入的位置正好都在同一区块上,因为该列中必须要有该数字,所以该区块中不在该列内的单元格上将不能再出现该数字。 其中1,2两种情况相对常见,也比较容易判断。上面的示例就是第1种情况。下面我们会看到第2种情况的例子:虽然在起始于A7的区块中,未填入数字的空单元格多达4个,但我们还是可以轻松地确定数字5的位置。这是因为在起始于G7的区块中,我们欣喜地
21、发现数字5可能出现的位置正好都在第8列上,这时5的确切位置已经不重要了,因为它已经满足了上面介绍的第2种情况的条件,因此可以参与对起始于A7的区块进行数字排除了。在它的影响下,A8和B8中填入数字5的可能性已经不存在,因为它们都在第8列上。这样,在起始于A7的区块中,数字5能填入的位置只剩下A9和C9了。这时,我们再利用单元排除法,通过A4位置上的数字5再消除其所在行A上的A9,最终得到能填入5的唯一位置C9。下面看几个比较少见的例子在行C上,数字3的位置可以通过下面的方法来确定:先看行B,利用单元排除法,通过H2和F3位置上的3进行列排除,得到行B中能填入3的位置为B4和B5。碰巧的是,这两
22、个单元格都在起始于A4的区块中,这时已经满足了上述情况3的条件。利用单元排除法的区块排除,则行C上的C4和C5都不能再填入3;再加上F3的列排除的共同努力,最终确定数字3在行C上的唯一位置就是C1。第4种情况的例子如下:在这个示例中,只是使用单元排除法和单元唯一法到这一步就继续不下去了。要想求得数字8在第6列的位置,就必须要借助区块排除法。先看第4列,通过位于C3和I8的数字8的行排除,使8在第4列可能填入的位置只剩下D4和F4,而这两个单元格正好都在起始于D4的区块中。因为第4列不能没有数字8,而数字8如果填在区块中的其他位置(如D6,E6或F6)时将迫使D4和F4上不能再填入8,这样会导致
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 技巧
链接地址:https://www.31ppt.com/p-4171174.html