如何通过一个关于骰子的数学问题数学题目,判断先手胜?

象棋,又称中国象棋(英文现译作Xiangqi)。在中国有着悠久的历史,属于二人对抗性游戏的一种,由于用具简单,趣味性强,成为流行极为广泛的棋艺活动。中国象棋是我国正式开展的78个体育运动项目之一,为促进该项目在世界范围内的普及和推广,现将“中国象棋”项目名称更改为“象棋”。此外,高材质的象棋也具有收藏价值,如:高档木材、玉石等为材料的象棋。更有文人墨客为象棋谱写了诗篇,使象棋更具有一种文化色彩。

国象棋棋手技术等级标准

下载文档原格式(Word原格式,共30页)

}

  考虑下面一个问题:
  给出N堆石子。A 和 B 轮流操作,A 先手。操作者在每一轮中必须取走一堆石子中的任意数量个石子(不能不取)。取完最后一个石子的人胜利。求谁胜。

  对于每一堆石子,我们可设SG(i)=mex({SG(j)}),其中j为i的一种转移,而mex表示集合中最小没有出现过的自然数。设边界条件SG(0)=0。这样的话,SG(x)=x,且当SG(x)为0时,x为必败态P-position(即先手必败),否则为必胜态N-position(因为只有一堆)。
  那么对于多堆呢?难道我们要用SG(i)中的i去表示一种场面,也即由多堆石子构成的一个集合吗?这样转移起来显然复杂度堪忧。

  这时我们就需要用到:Sprague-Grundy定理(SG定理):
  游戏和的SG函数等于各个游戏SG函数的Nim和。这样就可以将每一个子游戏分而治之,从而简化了问题。
  那么对于这个问题,SG(X)(X为一个集合)=SG(x1)^SG(x2)^SG(x3)^…^SG(xn)(xi∈X)。其实这个结论我以前就知道,只不过不会证明。
  但这个定理的证明却也不复杂,基本上就是按照两种position的证明来的。
  根据定义,证明一种判断position的性质的方法的正确性,只需证明三个命题: 1、这个判断将所有无法进行任何移动的局面(也就是terminal position)判为P-position;2、根据这个判断被判为N-position的局面一定可以移动到某个P-position;3、根据这个判断被判为P-position的局面无法移动到某个P-position。
  对于第二个命题,N-position即为异或和不为0的状态,设它的异或和为S,那么若x为S在二进制下的最高位,则肯定有一堆石子的数量≥ 2x 2 x
  对于第三个命题,你取石子肯定会改变它的异或和,所以你没办法把异或和从0变成0。

  那么,nim游戏又是什么呢?
  Nim游戏是博弈论中最经典的模型,它又有着十分简单的规则和无比优美的结论
Games”(以下简称ICG)。满足以下条件的游戏是ICG(可能不太严谨):1、有两名选手;2、两名选手交替对游戏进行移动(move),每次一步,选手可以在(一般而言)有限的合法移动集合中任选一种进行移动;3、对于游戏的任何一种可能的局面,合法的移动集合只取决于这个局面本身,不取决于轮到哪名选手操作、以前的任何操作、骰子的点数或者其它什么因素; 4、如果轮到某名选手移动,且这个局面的合法的移动集合为空(也就是说此时无法进行移动),则这名选手负。根据这个定义,很多日常的游戏并非ICG。例如象棋就不满足条件3,因为红方只能移动红子,黑方只能移动黑子,合法的移动集合取决于轮到哪名选手操作。

  阶梯nim游戏有一个经典的模型:给出N级阶梯,每级阶梯上有若干个石子,两人轮流操作。操作是将某一阶梯上的石子移任意数量个到下一级阶梯。先将所有石子移至第0层的人获胜。求先手是否必胜。
  这种问题的SG值其实就等于奇数层的石子数的异或和。即SG=SG(1)^SG(3)^SG(5)^…^SG(n)。SG=0先手必败,否则先手必胜。
  因为如果先手将偶数层的石子移到了奇数层,后手则可以将同等数量的石子从那个奇数层移到下一级偶数层(反正最低的第0层是偶数层)。这样,SG值并不会变化,所以相当于先手没有操作。而且假如后手有更优的走法,它不随着先手移,那么先手反而会将胜利让给后手。也就是说,先手这样操作,后手的利≥先手的利。
  那么,如果先手将奇数层的石子移到偶数层,即可类比成普通的取石子游戏:将某一堆石子取走若干个。因为我们总是可以从奇数层移到偶数层的,只要某个奇数层有石子;也就相当于在普通的取石子游戏中,我们总是可以取走石子的,只要某一堆还有石子。

  我其实没有做过多少这种题。。。
这道题是SG函数,需要一点转化,初学者(比如博主)可能比较难想到。
这道题是阶梯nim,也需要一些转化。

}

此类问题主要有期望题,随机数题、以及概率题,观察者掌握的信息多少会影响到最终的概率。影响样本空间的大小。

 期望题关键: 找出概率递推公式

 随机数题关键: 关键在于保证每个随机数出现的概率相等(洗牌算法)

  问题1 : 两个人轮流抛硬币,规定第一个抛出正面的人可以吃到苹果,请问先抛的人能吃到苹果的概率多大?(伯努利分布)

        这个题是否 某国家非常重男轻女,若一户人家生了一个女孩,便再要一个,直到生下男孩为止,假设生男生女概率相等,请问平均每户人家有________个女孩?,这个问题具有一定的类似性呢?

         第二种:先抛的人吃到苹果的概率为p1,后抛的人p2若想吃到,只能在第一个人抛反面下才可能,所以样本空间突然少了一半,所以p2=1/2p1,所以p1=2/3。

  解法1: 传递的理念:观察者掌握的信息多少会影响到最终的概率。

若题目变为已知生的第一个孩子是男孩,问两个孩子都是男孩的概率是多大?则选C

但此题的已知条件是至少有一个孩子是在星期二出生的男孩,隐含的信息是知道两个孩子的性别和出生日期信息。若不加限制条件,第一个孩子有14种可能(性别2种*周几7种),第二个孩子同样,总样本空间应为142=196。但加了限制条件后,样本空间就变少了很多。第一个孩子是男周二,第二个孩子任意,有14种情况;同理第二个孩子是男周二,第一个孩子任意,也有14种情况,但两个孩子均为男周二的多算了一次,所以样本空间为14+14-1=27;同理,在容量为27的样本空间中,两个孩子都是男孩的有7+7-1=13;所以最后的概率是13/27。

解法2: 贝叶斯公式,设A表示“至少有一个孩子是在星期二出生的男孩”,B表示“两个孩子都是男孩”,根据贝叶斯公式P(B|A)=P(B)*P(A|B)/P(A), 易知P(B)=1/4,P(A)不太好求,借助上面第一种方法的分析可以知道P(A)=27/196,而P(A|B)即在两个孩子都是男孩的情况下(7*7=49种情况)至少有一个孩子是在星期二出生的男孩的概率可以通过1-两个男孩都不是在星期二出生的概率(6*6/49)计算,为13/49,最后带入贝叶斯公式即可得到13/27。

 问题3:有一对夫妇,先后生了两个孩子,其中一个孩子是女孩,问另一个孩子是男孩的概率是多大?

问题: 大家都在排队上飞机,然后金刚来了,他也有票,但是插队第一个上了飞机,随便找了个座位坐下了,其余人的策略是:

如果自己票上写的座位没被占就按照座位坐,被占了就变身成金刚,随便找地儿坐。问第i个人坐在自己座位的概率是多少?

1..n一共n个座位,为了方便计算起见,我们做一个变换

变换1:金刚的票上的座位是最后一个,也就是第n个,其余人的票和座位再按照原先的顺序排列成1..n-1。

这样并不影响最终的概率,因为如果

1)金刚坐在自己的位置上,那么大家同样都是肯定坐在自己的位置上。

2)如果金刚坐在第i个位置(非他票上的座位)上,那么前i-1个人会坐在自己的位置上,与变换前相同,而第i个人肯定不会坐在自己的位置上,他会在变换前的金刚的座位再加上i+1..n的集合中随机挑一个座位,这也有变换前相同,他挑的座位对于后面人的影响也是与变换前相同的。

设F(i,n)为新的n个座位的排列中第i个人坐到自己位置上的概率,那么旧排列中第i个人坐到自己位置的概率就是

那么我们现在来计算F(i,n),后面的讨论全部基于变换后的排列。

对于乘客i,金刚的选择会造成3种情况,假设金刚选择的是j,分别为i<j,i=j,i>j,概率分别为(n-i)/n,1/n,(i-1)/n。

如果i<j,即金刚选择的座位在i的后面(我们做变换1的目的就在于此,如果不做那么还要考虑金刚坐到自己的位置的情况,而他自己的位置却是不确定的),那么乘客i必然会坐到自己的位置,概率为1,(n-i)/n*1

如果i>j,那么前j-1个人肯定坐在自己的位置上,而第j个人就变身成了金刚,这样可以看做他就是金刚,他原来的座位就是n。

变换2:前j-1个人是打酱油的,跟后面的事件无关了,因为金刚在j上,所以第j个人变成了金刚2,他的票号是最后一个,j+1..n-1号乘客成了新的受害者,将j+1..n-1从1开始重新编号,座位数变成n-j

故第i个人坐在原来座位的概率为F(i-j,n-j)

 五 求期望问题总结:

   问题1 :一个木桶里面有M个白球,每分钟从桶中随机取出一个球涂成红色(无论白或红都涂红)再放回,问将桶中球全部涂红的期望时间是多少?  

在M个球中取到第1个未着色的取得次数期望是:1

在M个球中取到第2个未着色的取得次数期望是:1/(M-1/M)   ---- 这就是用题目2的模型得出的期望,就像抛色子(只有两色),第一个着色的点数为1,其它所有未着色的是点数为2。

在M个球中取到第3个未着色的取得次数期望是:1/(M-2/M)

在M个球中取到第M个未作色的求所需要的取得次数的期望是:1/(1/M)

数学期望类的题目,主要是要理解什么是数学期望,数学期望是干什么用的,关于这些问题的解答,大家可以自己去理解,思考或者翻书,我要讲的内容是如何利用这些数学期望的特点。

飞行棋大家都玩过吧,应该知道每次抛到6,就有一架飞机可以出门了,那么问你一架飞机可以出门的时候,抛筛子次数的数学期望是多少?

你估计会毫不犹豫的说是6(P=1/6,E=1/P=6),但是你思考过深一层次的原因吗?

好吧,我来告诉你,我们记抛6的期望次数是E,如果第一次抛的是6,那么就是1次,概率是1/6;如果第一次不是6呢,那么次数是1+E,概率为5/6;

上面加粗的红色字体用的就是类似一个递归的概念,希望你能理解吧,不行的话,那只能自己去努力理解了,呵呵。

现在我们开始解答上面的问题:

令P[i]代表M个球中已经有i个球是红色后,还需要的时间期望,去将所有球都变成红色。

我相信大家都能理解这个公式的含义,不过还是解释一下,在P[i]的情况下,我们选一次球,如果是红球,那么概率是i/M,子问题还是P[i],如果是白球,那么概率是1-i/M,子问题是P[i+1],注意你当前的选球操作要计算在内,即一次

综上:P[0] = 0 + M/1 + M/2 + … + M/M,至此问题已经解决,不过我希望大家学到的不是这个答案,而是分析这个题目的过程

       问题2: 你有一把宝剑。每使用一个宝石,有50%的概率会成功让宝剑升一级,50%的概率会失败。如果宝剑的级数大于等于5的话,那么失败会使得宝剑降1级。如果宝剑的级数小于5的话,失败没有效果。问题是:期望用多少个宝石可以让一把1级的宝剑升到9级?

用a[i]表示从第i-1级升到第i级期望使用的宝石数量。

当i>5时,因为会降级,成功时一个宝石就够了,不成功时需要倒退一级,需要先使用a[i-1]个宝石先回到i-1级,再使用a[i]个宝石升到第i级,即

 问题3: 平均要取多少个(0,1)中的随机数才能让和超过1。答案: e 次, 其中e是自然对数的底

现在有一架飞机要起飞,乘客们正准备按机票号码(1,2,3...,N)一次排队登机。突然来了一只大猩猩(金刚)。他也有机票,但是他插队第一个登上了飞机,然后随意的选择了一个座位坐下了。根据社会的和谐程度,其他的乘客有两种反应:

1.乘客们都义愤填膺,“既然金刚同志都不守规矩,为什么我要遵守?”他们也随意的找位置坐下,并且坚决不让座位给其他乘客。

2.乘客们虽然感到愤怒,但是还是以“和谐”为重,如果自己的位置没有被占领,就赶紧坐下,如果自己的位置已经被别人(或者金刚同志)占了,就随机的选择另一个位置坐下,就开始闭目养神,不在挪动。

问题:在这两种情况下,第i个乘客(出去金刚同志外)做到自己原机票位置的概率分别是多少?

第一问:该问题相当于排序问题,总的排序总数是n个人的全排列为N!,如果第i个人做到第i个位置上,那么其余n-1个人的全排列为(N-1)!,综上所求概率为(N-1)!/N!=1/N。

第二问:《编程之美》讲得比较复杂,没怎么看懂,在网上找了几个博文对该问题的解答,综合一下,这样理解比较容易:

假设:F(i,n)表示在有n个座位的前提下,第i个人恰好做到第i个座位的概率;

P(K=j)表示金刚刚好坐在位置j上的概率;

P(i|K=j)表示在金刚做到位置j的前提下,第i个人恰好做到第i个位置上的概率。

由以上的假设根据全概率公式有:

  由于金刚坐到每一个位置上的概率是相等的,容易知道P(K=j)=1/n;

  接下来我们只需要考虑后一项条件概率的值即可。

  (1)如果j=1,则表明金刚坐到第一个位置,则i坐到i位置的概率为1;如果j>i,前面的人必然按位置坐,所以概率也为1.所以我们只需要考虑1<j<i的情况,见下。

  (2)在1<j<i的情况下,即金刚坐在第j(1<j<i)个位置上,则j个乘客除非坐在金刚的位置上,否则同样要同样要抢占其他人的座位。这和金刚的行为是相似的(因为金刚除非坐在自己的位置上,否则抢占别人的座位),所以我们可以讲第j个乘客当做新的金刚,此时还剩余n-j个座位,同时把剩余乘客的编号也都减去j,则先前的第i个乘客座位号变为i-j,此问题和原问题相似,只是规模更小,所以该种情况下,条件概率为F(i-j,n-j).

   然后可以从上面的公式推出递推式:F(i,n)=F(i-1,n-1).(笔者验证了一下,公式是对的,但是不会推导,希望有会的网友指点)。

  有上面的递推公式,我们可以到:nF(i,n)=(n-i+1)+(i-2)F(i,n),则问题的最终答案为:

}

我要回帖

更多关于 关于骰子的数学问题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信