找回密码
 ╱人◕‿‿◕人╲订下契约(注册新用户)

QQ登录

只需一步,快速开始

查看: 6006|回复: 85

[谜题巧思] 要成为扫雷高手,先练好逻辑吧

[复制链接]

该用户从未签到

397

主题

61

好友

11万

积分

荣誉会员

地下研究所 所长

积分
115586
发表于 2011-8-17 13:32:07 | 显示全部楼层 |阅读模式

╱人◕‿‿◕人╲定下契约

您需要 登录 才可以下载或查看,没有账号?╱人◕‿‿◕人╲订下契约(注册新用户)

×

转自科学松鼠会

扫雷作为策略游戏,需要游戏者精确的判断。现在扫雷高级的官方最快纪录是33.95秒,中级则是由一个波兰玩家保持的8.5秒。而初级纪录是1秒,世界上很多人达到了这一点。在1秒的时间里完成初级扫雷,据测算概率在0.00058%至0.00119%之间(属于运气题),最可能的方法是直接点击四个角的方块。而本文所作的事情,则是将雷与雷之间的规律给你揪出来,并且深入思考其中的内涵。让你以后面对扫雷时,缩短与记录的差距,战无不胜!

从简单雷区入手
下图是一个初级的雷区,并且标注了两颗雷的位置,你能将剩下的地雷扫描出来吗?
1.png
经过逐一排查,可以很轻松的确定雷区中的6颗地雷所在位置:
2.png
再来看一个简单的“雷区”:
3.png
通过逐步扫描每一个方块会发现:首先最左边的和最右边的两个格子都一定是地雷,从左数第二个空格子和从右数第二个空格子也都是地雷,由于数字1的关系,从左数第3个格子和从右数第3个格子都不是地雷,翻开一定是数字1……这样一直下去,最后你会发现最中间的两个空格子,不管有没有地雷,都和周围格子上的数字不符。也就是说这样的雷区有bug,是无解的。

雷区中的逻辑门
怎么判断一个雷区是否有bug?又怎么判断雷区中地雷的具体位置呢?难道一定要从头到尾将雷区扫描一遍吗?
其实这些雷区里其实藏着一个规律。我们用数学方法来分析了上例的雷区:
在之前提到的这两个雷区里,把还没有翻开的格子交叉标记上字母x和x’。可以看到:当x的格子有雷时,x’格子一定没有地雷,反之亦然。如果将最左边的空格子作为输入,把最右边的格子作为输出,输入结果和输出结果一定是一样或者相反的。如果是相反的,这相当于一个NOT(“非”)门电子元件。如果是一样的,就有趣了,这样的一片雷区就具备了电路导线的性质!
在这里,雷区被看成了一个数字逻辑电路。执行这些“或”、“与”、“非”等逻辑运算的电路则被称为——逻辑门。任何复杂的逻辑电路都可由这些逻辑门组成。
逻辑门是集成电路上的基本组件。简单的逻辑门可由晶体管组成。这些晶体管的组合可以使代表两种型号的高低电平在通过它们后产生信号。而高低电平可以分别代表逻辑上的真假或二进制中的0和1,从而实现逻辑运算。具体到扫雷游戏里,也就是说,逻辑门可以用于判断一系列格子中的地雷的具体位置,而且它如同电路传导一样,精确而迅速。
常见的(也是扫雷中用到的)逻辑门包括“与”门、“或”门、“非”门等。将它们组合使用就可以实现更复杂的运算——完成复杂情形下的扫雷,这种方法比按照规则缓慢推进的扫雷方法要节省很多时间。

复杂雷区中的精确判断
在简单的雷区中小试牛刀后,带着发现的规律,让我们进行一次实战演习。下图是高级扫雷游戏中的一个典型的雷区:
7.png
你能在不翻开格子的情况下,直接指出黄格子中有无地雷吗? 如果将雷区随意改变一点——左上角的一个格子下移一位,结果又如何呢?
8.png
你可能需要考量全局,从某个点开始逐步推理,将雷区全部扫描一遍,才能判断。而当雷区任意改变一点时,你都要重新来过,才能再次解答。这无疑是一种巨大成本负担。
实际上我们可以很快速地给出答案:第一个雷区的黄格子中无雷。而第二个雷区的黄格子中一定有雷。
这是怎么做到的?其实将上述的逻辑门引入到这个复杂的雷区中,一切都会变得简单而清晰起来。
雷区内靠近边界、可以直接确定是地雷的位置都插上了标示旗,剩下的位置标上了不同的字母。把一个有地雷格子看作1,没有地雷的看作0。最左面的格子(u、v)作为输入,最右面的格子(t)作为输出。按照扫雷游戏的规则,经过一步步推算,它们之间的关系就是:
( u , v , t ) = ( 1 , 1 , 1 ) 或 ( 1 , 0 , 0 ) 或 ( 0 , 1 , 0 ) 或 ( 0 , 0 , 0 )
显然,这个雷区被归纳成了一个AND门,它不仅轻松化解了这个扫雷难题,而且把雷区的规律揭示出来了。如此一来,当你掌握扫雷中这些逻辑门规律并加以练习后,就能够达到精确、快速的“机械化”扫雷水准。而到那时,一个新纪录或许就会诞生了。

数学家的扫雷研究
将扫雷问题抽象化从而缩短游戏时间的人,也不仅仅是扫雷发烧玩家。一些数学家也十分关注这个游戏背后的数学意义。
英国一位数学家用扫雷游戏中的逻辑规律构建了一系列电子元件,用电子电路模拟雷区。他试图将一个的给定的雷区图案交由计算机来判断是否可解。如果随着格子数量的增加,电脑的计算量增长不是很快,就是P问题,如果计算量增加的很快,就是NP完全问题。计算机判断雷区是否可解,需要这类问题属于P问题才可以。
对于几种基本的电路元件(AND、OR、NOT),如果将很多个这样的元件组合起来,相互连接,就会产生很多个输入、输出口。判断最后哪些输出结果可以产生,哪些不可以产生的这类问题,被称为SAT问题,它属于一个经典的NP完全问题。
而英国数学家的这个问题在一些时候等同于一个复杂电子电路的SAT问题,也就是NP完全问题。由此看来,面对一个上千上万个格子的巨型雷区,不要说去完成所有扫雷任务,就仅仅判断它是不是可解的,都可能会是计算机也承受不了的的大难题。


回复

使用道具 举报

该用户从未签到

235

主题

242

好友

6万

积分

第三章

双子党头顶青天

积分
60400
发表于 2011-8-17 13:44:23 | 显示全部楼层
一直不知道扫雷究竟应该怎么玩的人路过

点评

直覺  发表于 2012-11-6 19:19
回复 支持 1 反对 0

使用道具 举报

该用户从未签到

1

主题

1

好友

1万

积分

第一章

积分
17812
发表于 2011-8-17 13:47:08 | 显示全部楼层
好复杂 还是简单的玩完算了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

1

好友

4849

积分

序章

积分
4849
发表于 2011-8-17 13:57:09 | 显示全部楼层
本帖最后由 LittLe 于 2011-8-17 13:57 编辑

扫雷真的不错!很锻炼逻辑推理。
但是排查的时候还是要靠点儿运气呢哎呀呀。

这个贴有点儿微高深!
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

128

主题

85

好友

3万

积分

第二章

积分
36830
发表于 2011-8-17 14:05:05 | 显示全部楼层
我晕了,不是LZ自己写的,肯定是转的!
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

42

主题

16

好友

1万

积分

第一章

积分
12461
发表于 2011-8-17 14:06:54 | 显示全部楼层
从来没玩过关的表示不懂。。。。
苦逼兔子社区一日游、、
回复 支持 反对

使用道具 举报

该用户从未签到

40

主题

21

好友

2万

积分

第一章

积分
22851
发表于 2011-8-17 14:38:07 | 显示全部楼层
=1458=自己写得也没人看
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

9

好友

7713

积分

序章

积分
7713
发表于 2011-8-17 17:26:12 | 显示全部楼层

知道数字的意义时就会玩了。。
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

15

主题

93

好友

4万

积分

第二章

积分
45094
发表于 2012-3-8 17:30:50 | 显示全部楼层
这东西,很多人都不会玩啊
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

326

主题

204

好友

5万

积分

第三章

积分
51487
发表于 2012-3-8 21:11:42 | 显示全部楼层
你淫了  我玩扫雷完全是胡点的
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

388

主题

2042

好友

10万

积分

懒人

积分
104579
发表于 2012-3-8 21:38:14 | 显示全部楼层
超时空传送

签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

388

主题

2042

好友

10万

积分

懒人

积分
104579
发表于 2012-3-8 21:40:32 | 显示全部楼层
403 你所找的loli不在线
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

3

主题

28

好友

1万

积分

第一章

积分
17352
发表于 2012-3-9 01:23:45 | 显示全部楼层
对于扫雷,我只相信运气(简单模式最短2s完的路过~~~)
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

17

主题

44

好友

2万

积分

第一章

积分
21798
发表于 2012-3-9 13:17:32 | 显示全部楼层
什么玩意..
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

6

好友

6771

积分

序章

积分
6771
发表于 2012-3-9 16:55:32 | 显示全部楼层
高级居然可以30多秒,神了~~131秒的飘过,其实有时候,扫雷真的需要运气,但一般一局最多两个雷是需要运气的,其他的都是靠推理~~
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

本版积分规则

小黑屋|手机版|技术宅(Z站|基宅) ( 粤ICP备18082987号-1 )

GMT+8, 2024-12-22 20:58 , Processed in 0.190426 second(s), 49 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表