书城社会科学教师公文包-趣味数学
16365300000005

第5章 游戏中巧妙绝伦(1)

猜帽色

这是一个有趣的智力游戏。

老师为了测试甲乙丙丁四名学生的分析推理能力,拿了五顶式样相同的帽子给他们看,并强调说:“这里有两顶白帽,一顶红帽,一顶黄帽,一顶蓝帽”。接着他让四人依序坐在四级台阶上,然后叫他们闭上眼睛,又替每人戴上一顶帽子。最后,他让学生们张开眼睛,并判断自己头上戴的帽子是什么颜色。

结果是出人意外的。虽说坐在后面的人看得见前面的人所戴帽子的颜色,但甲、乙、丙三人看了看并想了想,都摇头说猜不出来。某丁坐在最前面,他看不到别人的帽色,但此时却发话了,说他业已猜到自己所戴的帽子颜色。

某丁是如何断定自己的帽色呢?可能聪明的读者已经猜出了游戏的谜底。其实某丁的判断并不难,他是这样思考的:

“某甲得天独厚坐得最高,能看到其余三人的帽子,他为什么说猜不出来呢?肯定他看到了前面有人戴着白帽。因为假如前面的人都戴杂色帽的话,那么他就能猜出自己所戴的是非白帽而莫属了。再说某乙,她可是个聪明人,某甲的想法,她自然了如指掌。那么她为什么也说猜不到呢?一定是她也看到了前面有人戴着白帽。不然的话,她就会从某甲的态度和其他人的帽色,判断自己戴着白帽。最后说某丙,她的智商绝不比某乙低,可她为什么也说猜不到呢!理由只能是一个,就是她看到了我头上戴着白帽。”就这样,某丁从众人的否定中对自己的帽色作了肯定!下面是另一类有趣的“猜帽色”问题。

老师为了辨别他的三个得意门生中谁更聪明些,而采用了以下的方法:事先准备好5顶帽子,其中3顶是白的,2顶是黑的。他先把这些帽子让三个人都看了看,然后要他们闭上眼睛,又替每人戴上一顶帽子。实际上老师让每人戴的都是白帽,而将黑帽子藏了起来。最后再让他们张开眼晴,并判断自己头上戴的帽子是什么颜色。

三位学生互相看了看,都犹豫了一会,然后又几乎同时判定出自己头上戴着白色的帽。

那么,这三位学生是怎样推断出自己的帽色的呢?原来他们用的是“分析否定信息”的方法。谜底是这样的:

三个人为什么都犹豫了一会呢?这只能说明他们都没有人看到两顶黑帽,也就是说三人中至多只能有一人戴黑帽。这一点在犹豫的一刹那,三个聪明的学生当然都意识到了。此时某甲想:“我头上戴的如果是黑帽的话,那么某乙某丙应当猜出他们自己戴着的白帽了,因为黑帽不可能有两人戴。然而乙、丙都在犹豫,可见我是戴白帽了!”与此同时,某乙某丙也都这样想着,因此三人几乎同时脱口而出,猜着了自己的帽色。

十五点

有一种15点游戏,这种游戏由两个人来玩,玩法是两人各持黑白棋子中的一种(每种棋子需要5枚),轮流往写有1-9的一张卡片上放棋子,每人每次只能放一枚,每个格内放过以后就不能再放。谁先把加起来等于15的五个数盖住,谁就获胜。下面是A、B两人对弈的一盘。A持黑子,B持白子,A先放。

①A把棋子放在9上;②B把棋子放在6上;③A把棋子放在4上。

④B必须把棋子放在2上,否则A就可以取胜;⑤A必须把棋子放在7上,否则B就可以取胜了。

1234●56○789●12○34●56○7●89●1○2○34●5●6○7●8○9●⑥B把棋子放在8上;⑦A把棋子放在5上;⑧B把棋子放在1上。

A用棋子盖住的数字有9、7、4、5,而这四个数中任何三个数之和都不等于15。B用棋子盖住的数字有8、6、2、1,其中8+6+1=15,所以B取得了胜利。

玩这种游戏有没有必然取胜的方法呢?先分析一下1-9之间三个数和是15的情况:

1+5+9=152+6+7=151+6+8=153+4+8=152+4+9=153+5+7=152+5+8=154+5+6=15如果把这8种情况都熟记在心中,那就可以根据对方盖住的数字和自己盖住的数字,来争取胜利。

有没有更方便的办法呢?我们先看下面的“井”字游戏。很多人都玩过这种游戏,两人轮流往“井”字格里放棋子,谁的三枚棋子先连成一行(横行、竖行、对角线均可)谁就获胜。

下面三个图表示持黑子者先走,至此无论持白子者怎么放,持黑子者都能取得胜利。

现在我们再研究一下3阶方阵:它的每行,每列以及两条对角线上三个数字之和都是15,共有8个算式,这8个算式正好是我们前边提到的1-9之间三个数字之和,是15的8个算式。

如果依照玩“井”字游戏那样对照3阶方阵15点游戏,就可获得取胜618753294的方法。若游戏的双方都掌握了这个要领,那么就可以走成平棋而不致失败。

现在分析一下开始所举的15点游戏的一个例子,把A、B两人的放法移到“井”字格上,并把3阶方阵中的各数写在“井”字格里。

我们不难看出,在图三的第⑥步中(即B把棋子放在8上),B已设下了埋伏,第7步不论A怎么走,B都能取得胜利。

上面给出的3阶方阵可以经过旋转镜面反射,得到8种不同形状的3阶方阵。在玩15点游戏时利用其中的任何一种都可以。

宁蒙

一种受人喜爱的对策游戏的魅力在于,对策的双方都有取胜的机会。人人都可以运用自己的智慧,谋求取胜的策略;人人都希望自己能比对手技高一筹。倘若一种对策游戏,对策双方对取胜之道都一清二楚,大家都按某种固定的规则去应付对方,双方间的秘密已荡然无存。

这样的游戏必定索然无味,对策本身也就失去了魅力。

数学家的兴趣则是完全另外一回事,他们竭尽心思想弄清各种游戏的取胜策略或取胜的可能性大小。因为他们认为,从研讨对策模型所获得的数学方法,远比对策中的胜负要重要得多。不过,即使数学家们已经得出准确结论的东西,也未必能为世人所尽知。人们依旧津津乐道地玩他们自己的游戏!公元1912年,德国数学家策梅罗(Zermelo,1871~1953)研究了国际象棋中的对策,证明了某三种全局着法中,必定存在一种不依赖对方怎样行动,总能取胜或下成和局的着法!但这丝毫没有影响人们对于国际象棋的爱好,世界性的比赛依然一个接着一个!还有一种极为有趣的火柴游戏,数学家们对它的研究早已一清二楚,但至今仍然深深地吸引着许多青少年爱好者,成为他们课余饭后的一种娱乐。这种游戏源于我们中国,大约一百年前传入欧洲,取名“宁蒙”,也叫中国二人游戏(ChineseGameofNim)。

游戏的方法是这样的:有若干堆火柴,每堆火柴的数目是任意的。现有A、B两人轮流地取这些火柴,每人只能从某堆中取去若干根火柴,也可以整堆全部取走,但不允许跨堆取,即不能一次向两堆中拿。约定谁拿掉最后一根火柴就算谁嬴。

数学家们已经完全掌握了这种两人游戏的制胜诀窍。为了让读者充分了解取胜的奥妙,我们先从游戏中的获胜位置讲起。为叙述方便,我们用记号(p,q,r,…,s)表示对策中火柴的状态。例如(2,2)表示有两堆火柴,每堆各有两根;(1,2,3)表示有三堆火柴,各堆分别为一根、二根和三根等等。

很明显,(1,1)是一种获胜位置,这是可以直接加以验证的。(2,2)也是一种获胜位置。事实上当A拿成(2,2)后,无论B怎样应付都有A胜(见上图)。同样,(1,2,3)也是获胜位置。

当A拿成(1,2,3)后,B可能拿成以下几种情形:

1°B拿成(2,3),A拿成(2,2)·胜;2°B拿成(1,2,2),A拿成(2,2)·胜;3°B拿成(1,1,3),A拿成(1,1)·胜;4°B拿成(1,3),A拿成(1,1)·胜;5°B拿成(1,2,1),A拿成(1,1)·胜;6°B拿成(1,2),A拿成(1,1)·胜。

同样分析可以知道(n,n)·及(1,2n,2n+1)·等都是获胜位置。那么一般地,怎样的位置才是获胜位置呢?把每一堆火柴的数目用二进制数表示出来,写成一行。于是,有几堆火柴就有几行二进制数码。例如(2,2)、(1,2,3)、(3,6,7)和(4,5,6,7)等状态,可以相应写出:

1010〖-〗偶偶11011〖-〗偶偶11110111〖-〗偶奇偶100101110111〖-〗偶偶偶把各行数对齐,并将各列数码相加(不进位),把各自结果的奇偶性写在该列的下方。如果得到的全是偶的,则相应的火柴状态称为正确的状态。数学家告诉我们,正确的状态是获胜位置,不正确的状态就不是获胜位置。

道理并不难,假定A拿成了一种正确状态,这时各堆火柴的数目所写成的二进制数各列之和均为偶数。现在轮到B拿,B不可避免地要动到某行二进位数,从而使这一行的一些1变成0,而另一些0变成1。这就使得一些列的和由偶变为奇,从而由正确状态变为不正确状态。

反过来,如果B已经拿成不正确状态,比如拿成偶,偶,奇,偶,奇,偶。

这表明在右起第二列和第四列内,至少各有一个1,此时有以下两种可能性:

(1)上述两个“1”在同一个二进位数内,即××1×1×则A只要从这一个二进位数相应的那堆火柴里,取走1010(2)=10根,这一行的数就变为××0×0×上式有“×”的地方,数字不变。这样,A拿后的火柴状态变为正确状态。这时相应二进位数各列之和,包括第二列与第四列,都变为偶数。

(2)上述两个“1”不在同一行,而在两个不同的行:

××1×0×××0×1×由于1000(2)-0010(2)=8-2=6=0110(2)也就是说,当从上一行相应的堆取走6根火柴时,上面两行将变为如下状态:

××0×1×××0×1×式中有“×”的地方,数字都不变。从而各列之和全为偶数。即此时A已拿成正确状态。

综合以上两种情形,说明如果B拿成不正确状态,则A一定有办法把它拿回到正确状态。而A一旦拿成正确状态,轮到B拿就只能破坏这种状态,这就是说,只要A在游戏的某个时刻把握住了正确状态,它实际上已经稳操胜券了!我想聪明的读者大约都已掌握了火柴游戏的取胜秘诀。不过,如果对方是生手,你完全不必如临大敌。因为开始时每堆火柴数目很多,堆数也很多,你完全可以随心所欲地拿。等火柴拿得差不多时,再看准那些形如:(2,2),(1,2,3),(n,n),(1,2n,2n+1)。之类基本获胜位置或它们的组合,你的胜利是完全不成问题的!

摆硬币

对数学家来说,一种有意义的对策或游戏,往往不必进行到最后,便能洞悉最终的结局,有时甚至一开初就能捕捉住决胜的机遇。

下面是一个著名的古典对策游戏:两个人坐在一张普通的圆桌子旁,轮流往桌面上摆硬币,双方约定,所放的硬币必须是同样币值的,且均须平放而不许重叠。谁在桌上放下最后一枚硬币,他就是胜利者。

对这个问题,数学家们将作何评论呢?他们会毫不迟疑地说:“要是我,一定选择先放!”在数学家看来,整个对策游戏处于对称状态。如若把第一枚硬币摆在圆桌的中央,然后按“对称”原则,每当对方放下一枚硬币的时候,我们就在圆桌中心为轴心,与硬币对称的位置下也放一枚。只要对方尚有地方放,我方也一定会有对称的地方放,直到对方无处可放为止。这种游戏的获胜策略,在数学家的脑海里是无与伦比的清晰。

冯·诺依曼(JohnVonNeumann,1903~1957)是当代杰出的数学家,对策论的创始人。有一次,有人向他请教一个游戏问题:九张扑克牌,分别是A(作为一点)、2、3、…、9。两人轮流取一张牌,已取走的牌不能重新放回去,谁手中有三张牌的点数加起来会等于15,就算谁嬴。问要怎样取牌才能获胜呢?冯·诺依曼教授想了一分钟,说道:“唷!这个游戏倒有点意思。先走的人略占便宜,但是后走的人如果应付得当,一定可以打成平局。”经教授点破后,请教的人终于恍然大悟。

那么在冯·诺依曼教授的眼里,这是怎样的一个问题呢?大家一定还记得《数学世界的“海市蜃楼”》一节里讲到的幻方“洛书”吧!游戏中要求拿到的三张牌的点数为15,实则就是要尽量使自己所拿的三张牌,恰好是洛书中的某行、某列或对角线上的三个数字。294753618这样,我们所讲的对策问题,跟大家所熟悉的“吃#字”游戏,是完全一样的。“吃井字”的玩法是:两人轮流在一个井字格里分别画“○”或“×”,谁能把自己所画的“○”或“×”连成一直线,谁就算赢。

1907年,数学家威索夫(Wythoff)发明了一项两个人玩的游戏。在这个游戏中,两人轮流从甲乙两堆火柴中移走一些火柴。开始时每堆火柴的数目是任意的,比如各为p和q。我们用有序数偶(p、q)来表示此时火柴的状态。

游戏的规则是这样的,每次可用以下三种方法之一移动火柴。

(1)从甲堆中移走一些火柴;(2)从乙堆中移走一些火柴;(3)从两堆中各移走数目相同的火柴。

用代数方法表达这些规则就是,把(p,q)变成下列三种有序数偶之一:(p-t,q),(p,q-t),(p-t,q-t)。由于规定每次移动至少要有一根火柴,所以t≥1。不过t的选取取决于参加游戏的人,甚至可以取走整个一堆,只是谁取走最后一根火柴算谁赢。

例如,开始游戏时的火柴状态为(17,14),由A先拿:

A拿成(16,13),B拿成(9,13);A拿成(9,7),B拿成(6,7);A拿成(4,7),B拿成(4,2);A拿成(1,2),B拿成(1,1),(0,1),(0,2)或(1,0);A拿成(0,0)*获胜。

不难看到,A达到打有“”号的数偶(1,2)是关键的一着,因为此时A实际已经取胜,此后B无论怎样应对,都难免于失败。所以(1,2)我们称为获胜位置。当然,(0,0)更是获胜位置。

从最末一个获胜位置(0,0)开始,我们可以推出如下一张获胜位置表,这张表可以通过逐一尝试到:

倒算顺序获胜位置(p,q)pq|p-q|1(0,0)0002(1,2)1213(3,5)3524(4,7)4735(6,10)61046(8,13)81357(9,15)91568(11,18)111879(12,20)12208例如,当A拿成(3,5)时,此后无论B怎样应付都有:

B(3,4);A(1,2)*胜;B(3,3);A(0,0)胜;B(3,2);A(2,1)*胜;B(3,1);A(2,1)*胜;B(3,0);A(0,0)胜;B(2,5);A(2,1)*胜;B(1,5);A(1,2)*胜;B(0,5);A(0,0)胜。

因此得出(3,5)也是一个获胜位置,等等。可以看出,上表中的p、q有以下规律:

(1)表中的p-q栏,按自然顺序递推;(2)除0以外,p、q两栏的数字,既不重复又不遗漏地包含了所有的自然数;(3)表中某个获胜位置的p值,恰是前面所有获胜位置中尚未出现过的最小自然数。

根据上面三条,我们能够把获胜位置的表,无限制地延续下去。如表中紧接着未写出的获胜位置(m,n)可以这样推出:首先m应是前面没出现过的最小整数,即得m=14,又n-m=9,得n=23。从而,表中下一个获胜位置为(14,23)。如此等等。

威索夫教授证明了:一旦某甲达到了某个获胜位置,那么某乙接下去绝不可能达到表中的其他获胜位置。反过来,如果某乙所达的位置不在表中,则某甲接下去一定有办法把它拿成表中的获胜位置。也就是说,某甲一旦拿成获胜位置,那么实际上他已经稳操胜券。

魔术猜姓