取石子游戏

取石子游戏

有一种很有意思的游戏,就是有物体若干堆,可以是石子,也可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干,规定最后取光物体者为胜。这是我国民间很古老的一个游戏,由于早先是用石子来玩的,我们习惯称之为“取石子游戏”。别看这游戏极其简单,却蕴含着深刻的数学原理。好从祖先那里来追寻荣耀的中国人,还称取石子游戏是“博奕论”的鼻祖呢。

下面从取石子游戏的几种典型玩法的数学模型来分析一下要如何才能够取胜的策略。

(一) 巴什博奕(Bash Game)

只有一堆n 个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m 个。最后取光者得胜。

显然,如果n=m+1,那么由于一次最多只能取m 个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)*r+s,(r 为任意自然数,s

这个游戏还可以有一种变相的玩法:两个人轮流报数,每次至少报一个,最多报十个,谁能报到100者胜。

(二) 威佐夫博奕(Wythoff Game)

有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。

这种情况下是颇为复杂的。我们用(ak ,bk )(ak ≤ bk ,k=0,1,2,...,n) 表示两堆物品的数量并称其为局势,如果甲面对(0,0),那么甲已经输了,这种局势我们称为奇异局势。前几个奇异局势是:(0,0)、(1,2)、(3,5)、(4,7)、(6,10)、(8,13)、(9,15)、(11,18)、(12,20)。 可以看出,a0=b0=0,ak是未在前面出现过的最小自然数, 而 bk= ak + k,奇异局势有如下三条性质:

1、任何自然数都包含在一个且仅有一个奇异局势中。

由于ak 是未在前面出现过的最小自然数,所以有ak > ak-1 ,而 bk= ak + k > ak-1 + k-1 = bk-1 > ak-1 。所以性质1成立。

2、任意操作都可将奇异局势变为非奇异局势。

事实上,若只改变奇异局势(ak ,bk )的某一个分量,那么另一个分量不可能在其他奇异局势中,所以必然是非奇异局势。如果使(ak ,bk )的两个分量同时减少,则由于其差不变,且不可能是其他奇异局势的差,因此也是非奇异局势。

3、采用适当的方法,可以将非奇异局势变为奇异局势。

假设面对的局势是(a,b ),若 b = a,则同时从两堆中取走 a 个物体,就变为了奇异局势(0,0);如果a = ak ,b > bk,那么,取走b - bk个物体,即变为奇异局势;如果 a = ak , b ak ,b= ak + k,则从第一堆中拿

走多余的数量a - ak 即可;如果a

从如上性质可知,两个人如果都采用正确操作,那么面对非奇异局势,先拿者必胜;反之,则后拿者取胜。

那么任给一个局势(a ,b ),怎样判断它是不是奇异局势呢?我们有如下公式: ak =[k(1+√5)/2],bk= ak + k (k=0,1,2,...,n 方括号表示取整函数) 奇妙的是其中出现了黄金分割数(1+√5)/2 = 1。618..., 因此, 由ak ,bk 组成的矩形近似为黄金矩形,由于2/(1+√5)=(√5-1)/2,可以先求出j=[a(√5-1)/2],若a=[j(1+√5)/2],那么a = aj,bj = aj + j,若不等于,那么a = aj+1,bj+1 = aj+1+ j + 1,若都不是,那么就不是奇异局势。然后再按照上述法则进行,一定会遇到奇异局势。

(三) 尼姆博奕(Nimm Game)

有三堆各若干个物品,两个人轮流从某一堆取任意多的物品,规定每次至少取一个,多者不限,最后取光者得胜。

这种情况最有意思,它与二进制有密切关系,我们用(a ,b ,c )表示某种局势,首先(0,0,0)显然是奇异局势,无论谁面对奇异局势,都必然失败。第二种奇异局势是(0,n ,n ),只要与对手拿走一样多的物品,最后都将导致(0,0,0)。仔细分析一下,(1,2,3)也是奇异局势,无论对手如何拿,接下来都可以变为(0,n ,n )的情形。

计算机算法里面有一种叫做按位模2加,也叫做异或的运算,我们用符号⊕表示这种运算。这种运算和一般加法不同的一点是1+1=0。先看(1,2,3)的按位模2加的结果:

1 =二进制01

2 =二进制10

3 =二进制11 ⊕

———————

0 =二进制00 (注意不进位)

对于奇异局势(0,n ,n )也一样,结果也是0。

任何奇异局势(a ,b ,c )都有a ⊕b ⊕c =0。

如果我们面对的是一个非奇异局势(a ,b ,c ),要如何变为奇异局势呢?假设 a

例1、(14,21,39) 14⊕21=27,39-27=12,所以从39中拿走12个物体即可达到奇异局势(14,21,27)。

例2、(55,81,121) 55⊕81=102,121-102=19,所以从121中拿走19个物品就形成了奇异局势(55,81,102)。

例3、(29,45,58) 29⊕45=48,58-48=10,从58中拿走10个,变为(29,45,48)。

例4、我们来实际进行一盘比赛看看:

甲:(7,8,9)->(1,8,9)奇异局势

乙:(1,8,9)->(1,8,4)

甲:(1,8,4)->(1,5,4)奇异局势

乙:(1,5,4)->(1,4,4)

甲:(1,4,4)->(0,4,4)奇异局势

乙:(0,4,4)->(0,4,2)

甲:(0.4,2)->(0,2,2)奇异局势

乙:(0,2,2)->(0,2,1)

甲:(0,2,1)->(0,1,1)奇异局势

乙:(0,1,1)->(0,1,0)

甲:(0,1,0)->(0,0,0)奇异局势

甲胜。

最后再出几道思考题,请找出胜策(当没有必胜的策略时,肯定不败的策略就是胜策):

1、巴什博奕(Bash Game)

桌面上有2009根火柴,二人参加游戏。规则是:二人轮流从中取出火柴,每次可取出1—3根,谁取到最后一根谁获胜(Last Player Winning,简称LPW )。你为了保证获胜,应选择先取还是后取?如果你先取,第一次应取几根?当对方取了下一步后,你又应相应地采取什么策略?如果将规则改为谁取到最后一根谁输(Last Player Losing,简称LPL ),保证获胜的策略又相应有什么改变? 将上面规则中的“每次可取出1—3根”改成“每次可取出1—N 根”,N 是小于2009的任意数,你又如何保证自己获胜?

2、斐波那西博弈(Fabonacci Game)

桌面上有2009根火柴,二人参加游戏。规则是:二人轮流从中取出火柴,每次可取出1—3根,直至取完。取完后清点手中的火柴根数,谁取到奇数根谁获胜。你为了保证获胜,应选择先取还是后取?如果你先取,第一次应取几根?当对方取了下一步后,你又应相应地采取什么策略?如果将规则改为谁取到偶数根谁赢,保证获胜的策略又相应有什么改变?

将上面规则中的“每次可取出1—3根”改成“每次可取出1—N 根”,N 是小于2005的任意数,你又如何保证自己获胜?

3、NIM 博弈

桌面上有2009堆火柴,根数分别为1,2,…,2005。二人参加游戏。规则是:二人轮流从中取出火柴,每次限制只能在其中一堆中取出任意根,不能同时在两堆中取(当然轮到你取时也不能不取,这其实与“不能同时在两堆中取”是等价条件)。谁取到最后一根谁获胜(LPW )。你为了保证获胜,应选择先取还是后取?如果你先取,第一次应在第几堆中取几根?当对方取了下一步后,你又应相应地采取什么策略?

如果将规则改为LPL ,保证获胜的策略又相应有什么改变?

取石子游戏

有一种很有意思的游戏,就是有物体若干堆,可以是石子,也可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干,规定最后取光物体者为胜。这是我国民间很古老的一个游戏,由于早先是用石子来玩的,我们习惯称之为“取石子游戏”。别看这游戏极其简单,却蕴含着深刻的数学原理。好从祖先那里来追寻荣耀的中国人,还称取石子游戏是“博奕论”的鼻祖呢。

下面从取石子游戏的几种典型玩法的数学模型来分析一下要如何才能够取胜的策略。

(一) 巴什博奕(Bash Game)

只有一堆n 个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m 个。最后取光者得胜。

显然,如果n=m+1,那么由于一次最多只能取m 个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)*r+s,(r 为任意自然数,s

这个游戏还可以有一种变相的玩法:两个人轮流报数,每次至少报一个,最多报十个,谁能报到100者胜。

(二) 威佐夫博奕(Wythoff Game)

有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。

这种情况下是颇为复杂的。我们用(ak ,bk )(ak ≤ bk ,k=0,1,2,...,n) 表示两堆物品的数量并称其为局势,如果甲面对(0,0),那么甲已经输了,这种局势我们称为奇异局势。前几个奇异局势是:(0,0)、(1,2)、(3,5)、(4,7)、(6,10)、(8,13)、(9,15)、(11,18)、(12,20)。 可以看出,a0=b0=0,ak是未在前面出现过的最小自然数, 而 bk= ak + k,奇异局势有如下三条性质:

1、任何自然数都包含在一个且仅有一个奇异局势中。

由于ak 是未在前面出现过的最小自然数,所以有ak > ak-1 ,而 bk= ak + k > ak-1 + k-1 = bk-1 > ak-1 。所以性质1成立。

2、任意操作都可将奇异局势变为非奇异局势。

事实上,若只改变奇异局势(ak ,bk )的某一个分量,那么另一个分量不可能在其他奇异局势中,所以必然是非奇异局势。如果使(ak ,bk )的两个分量同时减少,则由于其差不变,且不可能是其他奇异局势的差,因此也是非奇异局势。

3、采用适当的方法,可以将非奇异局势变为奇异局势。

假设面对的局势是(a,b ),若 b = a,则同时从两堆中取走 a 个物体,就变为了奇异局势(0,0);如果a = ak ,b > bk,那么,取走b - bk个物体,即变为奇异局势;如果 a = ak , b ak ,b= ak + k,则从第一堆中拿

走多余的数量a - ak 即可;如果a

从如上性质可知,两个人如果都采用正确操作,那么面对非奇异局势,先拿者必胜;反之,则后拿者取胜。

那么任给一个局势(a ,b ),怎样判断它是不是奇异局势呢?我们有如下公式: ak =[k(1+√5)/2],bk= ak + k (k=0,1,2,...,n 方括号表示取整函数) 奇妙的是其中出现了黄金分割数(1+√5)/2 = 1。618..., 因此, 由ak ,bk 组成的矩形近似为黄金矩形,由于2/(1+√5)=(√5-1)/2,可以先求出j=[a(√5-1)/2],若a=[j(1+√5)/2],那么a = aj,bj = aj + j,若不等于,那么a = aj+1,bj+1 = aj+1+ j + 1,若都不是,那么就不是奇异局势。然后再按照上述法则进行,一定会遇到奇异局势。

(三) 尼姆博奕(Nimm Game)

有三堆各若干个物品,两个人轮流从某一堆取任意多的物品,规定每次至少取一个,多者不限,最后取光者得胜。

这种情况最有意思,它与二进制有密切关系,我们用(a ,b ,c )表示某种局势,首先(0,0,0)显然是奇异局势,无论谁面对奇异局势,都必然失败。第二种奇异局势是(0,n ,n ),只要与对手拿走一样多的物品,最后都将导致(0,0,0)。仔细分析一下,(1,2,3)也是奇异局势,无论对手如何拿,接下来都可以变为(0,n ,n )的情形。

计算机算法里面有一种叫做按位模2加,也叫做异或的运算,我们用符号⊕表示这种运算。这种运算和一般加法不同的一点是1+1=0。先看(1,2,3)的按位模2加的结果:

1 =二进制01

2 =二进制10

3 =二进制11 ⊕

———————

0 =二进制00 (注意不进位)

对于奇异局势(0,n ,n )也一样,结果也是0。

任何奇异局势(a ,b ,c )都有a ⊕b ⊕c =0。

如果我们面对的是一个非奇异局势(a ,b ,c ),要如何变为奇异局势呢?假设 a

例1、(14,21,39) 14⊕21=27,39-27=12,所以从39中拿走12个物体即可达到奇异局势(14,21,27)。

例2、(55,81,121) 55⊕81=102,121-102=19,所以从121中拿走19个物品就形成了奇异局势(55,81,102)。

例3、(29,45,58) 29⊕45=48,58-48=10,从58中拿走10个,变为(29,45,48)。

例4、我们来实际进行一盘比赛看看:

甲:(7,8,9)->(1,8,9)奇异局势

乙:(1,8,9)->(1,8,4)

甲:(1,8,4)->(1,5,4)奇异局势

乙:(1,5,4)->(1,4,4)

甲:(1,4,4)->(0,4,4)奇异局势

乙:(0,4,4)->(0,4,2)

甲:(0.4,2)->(0,2,2)奇异局势

乙:(0,2,2)->(0,2,1)

甲:(0,2,1)->(0,1,1)奇异局势

乙:(0,1,1)->(0,1,0)

甲:(0,1,0)->(0,0,0)奇异局势

甲胜。

最后再出几道思考题,请找出胜策(当没有必胜的策略时,肯定不败的策略就是胜策):

1、巴什博奕(Bash Game)

桌面上有2009根火柴,二人参加游戏。规则是:二人轮流从中取出火柴,每次可取出1—3根,谁取到最后一根谁获胜(Last Player Winning,简称LPW )。你为了保证获胜,应选择先取还是后取?如果你先取,第一次应取几根?当对方取了下一步后,你又应相应地采取什么策略?如果将规则改为谁取到最后一根谁输(Last Player Losing,简称LPL ),保证获胜的策略又相应有什么改变? 将上面规则中的“每次可取出1—3根”改成“每次可取出1—N 根”,N 是小于2009的任意数,你又如何保证自己获胜?

2、斐波那西博弈(Fabonacci Game)

桌面上有2009根火柴,二人参加游戏。规则是:二人轮流从中取出火柴,每次可取出1—3根,直至取完。取完后清点手中的火柴根数,谁取到奇数根谁获胜。你为了保证获胜,应选择先取还是后取?如果你先取,第一次应取几根?当对方取了下一步后,你又应相应地采取什么策略?如果将规则改为谁取到偶数根谁赢,保证获胜的策略又相应有什么改变?

将上面规则中的“每次可取出1—3根”改成“每次可取出1—N 根”,N 是小于2005的任意数,你又如何保证自己获胜?

3、NIM 博弈

桌面上有2009堆火柴,根数分别为1,2,…,2005。二人参加游戏。规则是:二人轮流从中取出火柴,每次限制只能在其中一堆中取出任意根,不能同时在两堆中取(当然轮到你取时也不能不取,这其实与“不能同时在两堆中取”是等价条件)。谁取到最后一根谁获胜(LPW )。你为了保证获胜,应选择先取还是后取?如果你先取,第一次应在第几堆中取几根?当对方取了下一步后,你又应相应地采取什么策略?

如果将规则改为LPL ,保证获胜的策略又相应有什么改变?


相关内容

  • 致敬雷州人的童年!再也回不去的小时候-
  • 对于长大后的我们, 六一儿童节早已不再是一种特权.. 但回忆起童年时代, 娃娃头,酸梅粉,阿童木,花仙子, 打弹珠,跳皮筋,游乐场-- 那些单纯天真的童年,何其美好! 这个六一,让我们一起回忆-- 雷州人的童年 我们雷州人的童年,几乎是在游戏中靠活成长的.生活在雷州的那个年代的我们没有兴趣班,更没有 ...

  • 幼儿游戏集
  • 游 戏 集 1.骑马 玩法:三人一组,一人站立作马头,另一人在他背后双手搭他双肩弓身俯首作马 身.第三人为骑马者,骑在作马身者的肩上.玩时三人同时口喊"嘿!嘿!嘿„„",数匹"马"竞相跑步向前,比谁跑得快. 2.坐轿 玩法:三人一组,两人抬轿一人坐轿.抬轿的两 ...

  • 传统民间棋类游戏的创新玩法
  • 我园大班幼儿最喜爱的棋类游戏是"四顶""憋牛""鸡毛蒜皮".这三个游戏都是我园收集.整理的本地区传统民间游戏.在游戏过程中,我根据幼儿游戏能力的发展,引导创幼儿创新游戏的玩法,发展多方面的能力. 四顶 二人游戏.传统玩法:棋盘为四横四竖八条 ...

  • 10大儿童游戏
  • 首先,将正方形纸正面向上放置,沿正方形的一条对角线对折,打开,再沿另一条对角线对折并打开.然后两个方向对边折再打开.接着,将两边向中间挤压,一边向前折,一边向后折.再集中一角折,将对角向里折,然后打开.接下来依照折痕向上拉,左右两边向中心线折.再集中一角折.下面依照折痕向上拉,左右两边向中心线折,整 ...

  • 小学生活趣事
  • 炎热的夏天,同学们的"水泡热"也随着夏天的炎热涌起了一股热潮.我们这些"水泡"可不是一般的"水泡"哦,它是同学们买来的小气球,灌满水,变成一个个晶莹透亮的"水晶葡萄",用一根弹性绳子系起来.它的玩法可就多了,比如:用它代 ...

  • 数学生活小报
  • 苏步青1902年9月出生在浙江省平阳县的一个山村里.虽然家境清贫,可他父母省吃俭用,拼死拼活也要供他上学.他在读初中时,对数学并不感兴趣,觉得数学太简单,一学就懂.可量,后来的一堂数学课影响了他一生的道路. 那是苏步青上初三时,他就读浙江省六十中来了一位刚从东京留学归来的教数学课的杨老师.第一堂课杨 ...

  • 围棋的起源和发展
  • 第一课 围棋的起源和发展 围棋,是中国传统"四大艺术"--琴.棋.书.画中的一种.古时候把围棋称为"弈". 人们有时候将一个人会不会下围棋,看作其是否优雅.多才的标志之一.现在,围棋这个古 老的游戏不仅在中国吸引了越来越多的爱好者,在世界其他范围内也逐渐得到普 ...

  • 翻硬币游戏
  • 翻硬币游戏 一般的翻硬币游戏的规则是这样的: N 枚硬币排成一排,有的正面朝上,有的反面朝上.我们从左开始对硬币按1 到N 编号. 第一,游戏者根据某些约束翻硬币,但他所翻动的硬币中,最右边那个硬币的必须是从正面翻到反面.例如,只能翻3个硬币的情况,那么第三个硬币必须是从正面翻到反面.如果局面是正正 ...

  • "初心不变"回忆童年主题系列活动
  • "初心不变"回忆童年主 题系列活动 策 划 书 浙江中医药大学生物工程学院团委学生会 浙江中医药大学生物工程学院团总支学生会自律部 一.活动主题 你好,以前的我 二.活动背景 童年似一杯浓浓的咖啡,暖到你心窝,童年似一杯淡淡的茶,让你回味:童年似暴风雨的彩虹:五颜六色,炫丽无比: ...