#如何动手学数学# 策略游戏2
组合饼
一. 游戏规则:
1. 有两个玩家。 玩家A来摆几种颜色的饼。每种颜色为一堆。每堆只能有1,2,或3个饼。
2. 玩家B决定谁来先拿。
3. 两个人轮流拿,每次只能拿一个颜色堆里面的1个,2个或全部的饼。
4. 拿到最后一个饼的玩家赢了。
二. 样例游戏的流程:
下面我们来解释一下一个样例游戏。如图1所示:
玩家A(Zack),把8个饼,分成了三个颜色堆。然后玩家B(Allanna)决定自己先拿,于是拿走了红色的一堆的全部饼。Zack拿了绿色的一个。然后Allanna拿了紫色的一个。Zack又拿了绿色的一个。Allanna拿了剩下的紫色的两个,于是她赢了。
三. 一堆饼游戏的最简单的样例:
下面我们用倒推法,看看这个游戏最简单的方式是怎么玩的。如图2所示
1. 图2左上角第一种情况,如果玩家A摆出两堆,每堆各一个饼。那么玩家B肯定赢了。
因为玩家B可以选择后拿,玩家A必须拿一个,那么玩家B就拿到了最后一个了。
2. 如果是图2的上排中间的情况,玩家A摆出两堆,每堆各两个饼。那么玩家B也肯定赢了。她还是选择让玩家A先拿。
如果玩家A拿了其中一堆的全部(也就是两个饼),玩家B拿另一堆全部,就赢了。
如果玩家A拿了其中一堆的一个(比如红色的一个),那么玩家B拿另一堆的一个(紫色的一个)。那么就划归到了情况1(一堆一个),无论玩家A拿哪个,玩家B都赢了。
3. 如果是图2右上的情况,玩家A摆出两堆,一堆一个饼,另一堆两个。
玩家B只能选择自己先拿,并且拿一堆两个的其中一个,剩下的选择都会输。
4. 如果是图2左下的情况,玩家A摆出两堆,一堆两个饼,一堆三个。
那么玩家B只能选择自己先拿,并且拿多的那堆(紫色)的一个。这样就变成情况2(两堆每堆各两个,且轮到对方拿)
否则玩家B就输了。
5. 如果是图2右下的情况,玩家A摆出两堆,一堆三个饼。
那么玩家B要选择自己后拿,这样怎么都是赢的。
因为如果玩家A拿其中一堆的三个,玩家B就拿另一堆,就赢了。
如果玩家A拿其中一堆的两个,玩家B就拿另一堆的两个,变成了情况1,也赢了。
如果玩家A拿其中一堆的一个,玩家B就拿另一堆的另一个,变成了情况2, 也赢了。
三. 赢的策略
从上面的倒推解法来看,如果有两堆饼,且每堆饼的数量是相等的。那么后拿的那个人,总有办法赢。
从这件事,我们可以发现一个总是赢的策略,那就是如果有偶数堆的饼,其中成对的出现相等堆(比如两堆一个的,两堆两个的,两堆三个的,相等堆是成对出现的),那么后拿的那个人,只要总是模仿前一个人的玩法,就一定能赢。
也就是说,如果先拿的人拿了一堆,那么后拿的人,就去拿其成对的相等堆。
如果先拿的人拿了某3个堆的两个,那么后拿的人就去拿另一个三个堆的两个。
如果先拿的人拿了某堆的一个,那么后拿的人就去拿另一堆的一个。
这种对称的解法,后手来山寨先手,样例如图3所示。
四. 推广策略
当桌子上不是偶数堆的饼,堆与堆之间也不是成对出现的时候呢? 那么我们就要想办法把桌子上的局面变成偶数堆,堆与堆是成对的。
这就是下期的内容
五. 数学本质
这组策略游戏的数学本质,就是后手要赢,则必须让先手面对偶数对称堆(总堆数是偶数,所有堆都是成对出现),则自己只要模仿对方,根据奇数偶数规律,则自己一定赢
。
你明白了吗?