扫雷吧 关注:37,019贴子:142,483

【纯学术】扫雷的概率计算

只看楼主收藏回复

此乃纯学术贴,如果是为了练速度的请立刻跳过。
为什么发此贴?因为有那么一部分人,他们对扫雷的态度就像所谓的作研究一样,绞尽脑汁去推导一些结论,殊不知以这样的方式去研究,根本体会不到扫雷作为一款游戏的乐趣。
如果此贴违背了吧规,请吧主立刻删除,本人在此表示歉意。
有些人喜欢用扫雷研究所谓的“概率大小”,然后以此为乐,并且认为这样能提高速度,但实际上相反,为什么?大脑能快速定性分析,但不擅长定量分析(很多扫雷高手的见解更加深刻,本人没资格发表高见)
当然有人会问:是非雷的具体概率能不能算?当然能,而且还有完整的方法去计算,但这里有一个前提:你大脑是否有那么快的运算速度?你为此提升速度是否合算?
下面公布个人的方法,也许有人有更好的,乐意的话可以私下里交流,不过我个人认为自己的思路经得起推敲。
这个方法其实是从以前大一时学的“线性代数”中获得的灵感,其中也有独创的成分,在这里先给出基本思路。
先摘取吧友“中国力量在哪里”的图进行分析:

将空方块的格子标注x1-x7,先假定分析的地图为x1-x7围起来的3*5的区域,剩余雷数不算。
提醒初学者:对于这里的每个数字,它们都可以用来判断空格的雷数,前提是减去那些已经标上的雷。
两个旗上面那个3,它周围可以判断左边三个空,减去已确定的雷,可以列方程
x1+x2+x3=1
这里,x1,x2,x3的值只能是0或1。
再看它上面那个3,通过判断可以列方程
x2+x3+x4=1
x2,x3,x4满足同上条件。
以此类推,上面那个2,通过判断可以列方程
x3+x4+x5+x6+x7=1
x3-x7满足条件相同。
然后用上面三个式子列出方程组:
x1+x2+x3=1 ①
x2+x3+x4=1 ②
x3+x4+x5+x6+x7=1 ③
因为系数个数大于方程个数,所以是不定方程组,因此有无穷多组实数解,但是在这里有一个实际的限定条件,所有的解都只有0和1两种情况,所以解的总数是有限的。
可以通过假设、列举、排除,或者其他方法,将所有的解集求出来。
x1=1,x2=0,x3=0,x4=1,x5=0,x6=0,x7=0;
x1=0,x2=1,x3=0,x4=0,x5=1,x6=0,x7=0;
x1=0,x2=1,x3=0,x4=0,x5=0,x6=1,x7=0;
x1=0,x2=1,x3=0,x4=0,x5=0,x6=0,x7=1;
x1=0,x2=0,x3=1,x4=0,x5=0,x6=0,x7=0;
总共只有5组解,这里面的每组解都是在前面的一组方程组的限定条件下得到的,没有任何其他干预条件,因此5组解的情况都会发生,并且是等概率的。
因此,对于其中单个解为1或为0的次数,也就是是雷和非雷的情况,是所有该事件发生数量的总和。其发生的概率,就是发生次数除以总次数的值。
也就是x1是雷的概率1/5=20%,x2是雷的概率3/5=60%,x3是雷的概率1/5=20%,依此类推,算得后面发生概率都是20%。
当把条件扩大至x7右边四个格子,此方法仍然适用,将后面的空格也列为系数x8,x9,x10,x11,根据能够判断空格内有多少雷的每个数字,列出所有对应的方程组,同样有非0即1的限定条件,所以解的个数是有限的,并且也可以根据如上方法计算出概率的大小。在此不列出结果,有兴趣请自己计算。
有人会问,那外面不确定的雷呢?其实更容易处理。那些能够通过数字判断的空格,都可以成为方程的因子,每个数字所能判断的空格都构成一条方程。由于外界唯一的制约因素是等概率的随机数,所以外界的空格不能给内部的空格施加条件影响。反过来内部空格能给外部施加的影响是,它们里面雷的总数不一样,会影响外界的雷数,而且影响的概率是由解里面出现雷的个数的次数的概率决定的(以上看不懂的请跳过)
如果一定要计算外界空格对内部空格的微弱影响(当然在游戏即将结局时影响会较大),那么有一种万全的方法:列一个方程组,里面的项数是所有未确定的格子,后面的常数(专业点说就是系数增广矩阵的最后一列)就是剩余的未确定的雷数。然后把这个方程和前面的方程联立。也就是x1+x2+...+x(剩余空格总数)=剩余雷数,只要你有大把的时间去计算方程组的所有解,你可以得到准确的理论值。
仅仅估计外面雷的概率,那根据剩余雷数的所有情况发生的概率,用外界的剩余雷和剩余空格列个组合式,然后把每个剩余雷情况的概率都乘以对应的组合式,得到的就是外界是雷的总概率。
至于这些概率都有什么规律?对不起,我没作过研究,无可奉告,请自行通过量化运算进行数值分析。
通过上面的分析,大家可以看到,如果通过人脑对扫雷所有局面都进行概率的量化,是多么浪费时间的一种事。当然,如果你是千古奇人,有惊人的天赋,在训练之后能在0.1-0.3秒内,完成全图扫描,剩余雷估计,看遍所有数字制约,列式子,假设和排除计算出解集,计算每项出现1的次数,再利用解集数量计算概率,最后准确找出概率值最小的点,那么,算你NB,你比机器运算还快还准,地球不是你呆的地方。当然,吧里有位高人写过简单的粗略估计扫雷概率的教程,具有实际价值,适用于训练到中期对扫雷水平的进一步提高。但对于致力于死钻牛角尖进行海量思考分析的同志,建议自己去研究,不要在吧里发帖误导初学者。
以上是个人对扫雷概率的纯理论分析方法的总结。扫雷是一款游戏,游戏的魅力不在于为某个问题钻牛角尖,而是怎么体会到其中的美感和在各方面的进步,更重要的是学会一些人性的道理(有人之前说过这些意思,在这就不卖弄了)。因此我的帖子对于想练扫雷的朋友们没有任何作用,只是想让一些人从歧途中走出来,认真地学习别人的思路和经验,寻求更快的提高。
具体怎么提高?本人愚钝,除了会认真学习别人的经验并提高以外,不会写扫雷经验谈和教程。在扫雷网上和吧里,有很多牛人写的通俗易懂的教程,大家可以参考。



1楼2012-07-31 12:50回复
    勉强看懂了。。


    IP属地:广东3楼2012-07-31 12:58
    回复
      支持,力挺。楼主说的太好了,我也想说的,可惜没有这么好的文笔。就如楼主说的,中国力量在哪里 这个人太过自以为是,而这种太过坚持自己说法,而不接受他人建议的人,真的很难有什么大成就。虽然说他有没有什么成就跟我没关系。但是我真是看不顺眼。


      IP属地:广东来自Android客户端4楼2012-07-31 13:51
      收起回复
        看起来不错的样子 留名再看>_<


        IP属地:加拿大5楼2012-07-31 13:56
        回复
          别人给你意见,却把人说成是装×,不高明?@中国力量在哪里 你总说别人讲话咄咄逼人,那你有没有想过,当别人给你善意的建议,而不合你胃口的时候,你会用更咄咄逼人的语气来回复,来掩饰自己。从你发表的那篇《不知道还有多少人喜欢不插旗……》那帖子来看,我猜你是个不愿接受批评建议,并逃避自己错误,谁给你台阶或者哪里有台阶你就哪里下的人。或许我说错了,或许我说过分了,但是我所说的就是你给我的印象。


          IP属地:广东来自Android客户端6楼2012-07-31 14:02
          回复
            呵呵。。还集体来讨伐啊?笑了

            其实你们误会了,我也在追求速度,只可惜速度还不够快。。
            @Apologize_10 @凌风寒霜之剑
            


            7楼2012-07-31 17:10
            收起回复
              你算错了-,-


              8楼2012-07-31 17:14
              收起回复

                楼主到底想证明什么呢?


                9楼2012-07-31 17:17
                回复

                  我再解释一次,2左边那两个黄色是雷的概率小于1/3,这是概率常识。
                  而不是你说的那什么1/2


                  10楼2012-07-31 17:18
                  收起回复
                    呃,提醒大家注意不要人身攻击之类。。。end


                    IP属地:北京11楼2012-07-31 17:23
                    收起回复
                      http://tieba.baidu.com/p/1647466181?pid=20748696746&cid=0#20748696746
                      这个是我算概率的方法,我觉得出了雷数分布的几种可能性之外,还有一个影响概率的重要的因素,引骁扬的话来说:
                      也可以这样理解:99颗雷分布在480个格子里面其实还是比较稀疏的,所以两个相邻数字更倾向于共用同一个雷
                      许多类似的局部都可以用相同的方法处理。。。
                      回复


                      12楼2012-07-31 17:31
                      收起回复

                        @中国力量在哪里
                        比速度你又失算了,我就用这个吧里相对较弱的成绩就能稳稳地秒掉你。
                        提醒你,吧里高级速度最快的41秒,前面回你贴的人,大部分都具有50-60秒的实力,但都没有像你这么嚣张的。
                        另外,那些图贴上来你觉得有意思吗?绕这种文字游戏,我说的是黑色,蓝色,紫色里面那个2,你又在说什么?我的第一步分析已经说到这里,并且后面也作了纠正。另外,我能写得出帖子上的这些内容,你又能说出什么来?语言的巨人,思想的矮子!在那个贴的后面重复我的思考内容,你的行为和剽窃有何区别?
                        另外,在那个图里面写上“笑了”两个字,很明显,你和网络暴民的思想如出一辙,没有任何建设性的思维,别的我就不多说了。
                        


                        13楼2012-07-31 17:46
                        收起回复
                          @凌风寒霜之剑
                          建议楼主,讨论的话应该针对观点,而不是针对个人。


                          14楼2012-07-31 17:47
                          收起回复

                            楼主自代表大多数吧友对我反咬一口,当真让人长见识啊。。
                            哈哈 另外本帖,9楼10楼,您老的高见至今让我叹为观止。


                            16楼2012-07-31 18:24
                            收起回复
                              很深奥。


                              IP属地:河北来自手机贴吧17楼2012-07-31 19:37
                              回复