此类问题主要有期望题,随机数题、以及概率题,观察者掌握的信息多少会影响到最终的概率。影响样本空间的大小。
期望题关键: 找出概率递推公式
随机数题关键: 关键在于保证每个随机数出现的概率相等(洗牌算法)
一 抛硬币问题总结:
问题1 : 两个人轮流抛硬币,规定第一个抛出正面的人可以吃到苹果,请问先抛的人能吃到苹果的概率多大?(伯努利分布)
这个题是否 某国家非常重男轻女,若一户人家生了一个女孩,便再要一个,直到生下男孩为止,假设生男生女概率相等,请问平均每户人家有________个女孩?,这个问题具有一定的类似性呢?
一个样本空间为反反...正,一个样本空间为女女女....男
第一种方法:p=1/2+1/2^3+1/2^5+........=2/3
第二种:先抛的人吃到苹果的概率为p1,后抛的人p2若想吃到,只能在第一个人抛反面下才可能,所以样本空间突然少了一半,所以p2=1/2p1,所以p1=2/3。
第三种:先抛为p,为反后继续抛,吃到的概率还是p,所以其实p=1/2(正)+1/2(反)*p,解得p=2/3
第四种: 我首先想到的就是把 第一次抛到正面的概率 + 第二次抛到的概率 + …..+无穷多次,当然后面的概率几乎为0了。 结果就是 P = 1/2 + 1/8 + 1/32+ …… 最后的结果就是 P = 2/3 . 这个计算也不难,其实就是等比数列,比为1/4. 简单的无穷级数 (1/2) / (1-1/4) = 2/3. 1/(1-x)^2=1+2x+3x^2+4x^3+5x^4+… (-1<x<1)
还有一个别人的分析:给所有的抛硬币操作从1开始编号,显然先手者只可能在奇数(1,3,5,7…)次抛硬币得到苹果,而后手只可能在偶数次(2,4,6,8…)抛硬币得到苹果。设先手者得到苹果的概率为p,第1次抛硬币得到苹果的概率为1/2,在第3次(3,5,7…)以后得到苹果的概率为p/4(这是因为这种只有在第1次和第2次抛硬币都没有抛到正面(概率为1/4=1/2*1/2)的时候才有可能发生,而且此时先手者在此面临和开始相同的局面)。所以可以列出等式p=1/2+p/4,p=2/3。
第五种: ,i表示先抛的人一共抛了的次数,上面的式子可以求出,P(A)=2/3
问题2:连续扔硬币,直到 某一人获胜,A获胜条件是先正后反,B获胜是出现连续两次反面,问AB游戏时A获胜概率是?
其实只要出现了正面,A就早晚能赢,所以B获胜的概率只有那一次,反反:1/4,所以A获胜的概率为3//4。
问题3: 小a和小b一起玩一个游戏,两个人一起抛掷一枚硬币,正面为H,反面为T。两个人把抛到的结果写成一个序列。如果出现HHT则小a获胜,游戏结束。如果HTT出现则小b获胜。小a想问一下他获胜的概率是多少?
解法1 : 首先,如果第一次抛出了T,那么其实就根没抛过是一回事,后面怎么继续都相当于重来了。所以p=1/2p+p(h)
如果抛出了H,如果上半部分,只能是A赢,下半部分出现T的时候,再出现H又相当于重新来了。
所以B赢的概率为1/4,再从下面H重新出发的1/4,也就是pb=1/4+1/4^2+1/4^3……,就是1/3,所以A赢的概率为2/3。
解法2: 随机过程中的First Step Analysis,设P_s表示状态为s时'HHT'发生的概率。显然我们有P_HHT=1以及P_HTT=0。状态转移图如下:
问:1.如果硬币正反概率相同,游戏的期待长度(expected duration)是几次投掷?
2.如果硬币是不公正的,正面概率为P,反面概率为Q.(P+Q=1), 那么游戏的期待长度(expectedduration)是几次投掷?
问题5: 游戏规则为,连续2次抛到硬币朝上,则游戏结束。问平均抛多少次游戏可以结束?
平均抛多少次,即是求问题的期望。
首先先抛一枚硬币,如果是花,那么需要重头开始;如果是字,那么再抛一枚硬币,新抛的这枚如果也是字,则游戏结束,如果是花,那么又需要重头开始。根据这个过程,设抛硬币的期望次数为T,可以得到关系:
T = 1/2(1 + T) + 1/2(1 + 1/2(1+0) + 1/2(1+T)), 得出 T = 6
问题6: 连续抛 k 次朝上的解法:
假设连续k次正面朝上的期望为Ek,在连续出现k次正面朝上后,下次一也为正面的期望为, E(k+1) = 1/2 (Ek + 1) + 1/2(Ek + 1 + E(k+1)),推到出公式 (E(k+1) +2) /(Ek +2) = 2 得出 Ek = 2^(k+1) -2
问题7: 抛一个六面的色子,连续抛直到抛到6为止,问期望的抛的次数是多少?
设期望次数为E,那么有:
[1]1次抛出6的概率为1/6,那么期望次数为1*1/6
[2]本次抛出非6数字的概率为5/6,因为没有抛出6,因此期待抛出6还需要执行试验的次数仍为E,需要注意加上本次(1次)失效的抛掷,即期望次数为(1+E)(5/6)
综合可得:
E = 1*(1/6) + (1+E)(5/6)
解得: E = 6
问题8: 若要使骰子(六个面)的每个数都出现至少一次,那么平均需要掷多少次骰子?即求掷骰子次数的期望
与前一题类似,设掷出第i个数需要抛掷的次数为E(i),i=1,2,3,4,5,6,(需要注意的是第i个数是值之前没有出现过的数字,而不是具体的值)
那么E(i)可由两部分组成:
E(i) = (i/6)(E(i)+1) + (1-i/6)(E(i+1)+1)
[1] (i/6)(E(i)+1) : 已经有i个数字出现了,那么当前抛掷出重复数字的概率为 i/6,状态仍然是E(i),加上当前实验1次
[2] (1-i/6)(E(i+1)+1) : 已经有i个数字出现了,那么当前抛掷出新数字的概率为 1-i/6,状态转移到E(i+1),即当抛掷出了i+1个数字后,仍需要抛掷次数的期望,别忘加当前试验 1 次
E(i) = E(i+1) + 6/(6-i), E(6) = 0
E(0) = 6/6 + 6/(6-1) + ... + 6/1 + 0
参考链接:https://www.cnblogs.com/fanling999/p/6777335.html
二 开箱子总结:
问题1 : 有一个箱子,N把钥匙,只有一把钥匙能打开箱子,现在拿钥匙去看箱子。问恰好第k次打开箱子的概率?
第k次打开的概率=
三 生孩子问题总结
问题1 : 某国家非常重男轻女,若一户人家生了一个女孩,便再要一个,直到生下男孩为止,假设生男生女概率相等,请问平均每户人家有________个女孩。
解法1: 首次成功的概率为,也就是首次出现男孩的概率,那么发生的次数也就是孩子的个数服从几何分布,则期望为2,所以女孩是1个。
解法2: 一个国家人们只想要男孩,每个家庭都会一直要孩子,只到他们得到一个男孩。如果生的是女孩,他们就会再生一个。如果生了男孩,就不再生了。那么,这个国家里男女比例如何?
分析:一开始想当然的以为男多女少,毕竟都想要男孩。但是注意这句话“如果生了男孩,就不再生了”,一个家庭可能有多个女孩,只有一个男孩。
再仔细分析,我们来计算期望值,只用计算一个家庭就行了。设一个家庭男孩个数的期望值为S1,女孩为S2. 。根据题目条件,男孩的个数期望值S1=1这个是不用计算了。主要计算S2
一个家庭的孩子数量可以为:1,2,3,4,5….. 对应的的男女分布为: “男”,”女男”,”女女男”,”女女女男”,”女女女女男”…
对应的概率分布为 1/2, 1/4, 1/8, 1/16, 1/32 。其中女孩的个数分别为 0,1,2,3,4……
因此 S2=0*1/2 + 1*1/4 + 2*1/8 + 3*1/16 + 4*1/32 + ………
可以按照题目2用级数求,也可以用错位相减法:S2=1/4+2/8+3/16+4/32+… 两边乘以2,得: 2*S2=1/2+2/4+3/8+4/16+5/32+..
两个式子相减得 S2=1/2+1/4+1/8+1/16+1/32+…=1. 所以期望值都为1,男女比例是一样的。
问题2: 老王有两个孩子,已知至少有一个孩子是在星期二出生的男孩。问:两个孩子都是男孩的概率是多大?参考链接:https://blog.csdn.net/midailaoqi/article/details/82876207
参考链接:
https://blog.csdn.net/u012662688/article/details/52813387
答案是2/3.两个孩子的性别有以下四种可能:(男男)(男女)(女男)(女女),其中一个是女孩,就排除了(男男),还剩三种情况。其中另一个是男孩的占了两种,2/3. 之所以答案不是1/2是因为女孩到底是第一个生的还是第二个生的是不确定的。
问题: 大家都在排队上飞机,然后金刚来了,他也有票,但是插队第一个上了飞机,随便找了个座位坐下了,其余人的策略是:
如果自己票上写的座位没被占就按照座位坐,被占了就变身成金刚,随便找地儿坐。问第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<j;
F(i-1,n) i>j;
j为金刚票上的座位
那么我们现在来计算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,概率为0
如果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)
所以概率为
综上
有
最后的结果是
F(i,n) i<j;
F(i-1,n) i>j;
j为金刚票上的座位
五 求期望问题总结:
问题1 :一个木桶里面有M个白球,每分钟从桶中随机取出一个球涂成红色(无论白或红都涂红)再放回,问将桶中球全部涂红的期望时间是多少?
解法1:
在M个球中取到第1个未着色的取得次数期望是:1
在M个球中取到第2个未着色的取得次数期望是:1/(M-1/M) ---- 这就是用题目2的模型得出的期望,就像抛色子(只有两色),第一个着色的点数为1,其它所有未着色的是点数为2。
在M个球中取到第3个未着色的取得次数期望是:1/(M-2/M)
...
在M个球中取到第M个未作色的求所需要的取得次数的期望是:1/(1/M)
整体次数的期望就是 1+ 1/(M-1/M)+1/(M-2/M)+...+M
解法2:
数学期望类的题目,主要是要理解什么是数学期望,数学期望是干什么用的,关于这些问题的解答,大家可以自己去理解,思考或者翻书,我要讲的内容是如何利用这些数学期望的特点。
数学期望的递归特性:
飞行棋大家都玩过吧,应该知道每次抛到6,就有一架飞机可以出门了,那么问你一架飞机可以出门的时候,抛筛子次数的数学期望是多少?
你估计会毫不犹豫的说是6(P=1/6,E=1/P=6),但是你思考过深一层次的原因吗?
好吧,我来告诉你,我们记抛6的期望次数是E,如果第一次抛的是6,那么就是1次,概率是1/6;如果第一次不是6呢,那么次数是1+E,概率为5/6;
那么 E = 1 * (1/6) + (1+E) * (5/6),你可以很容易的解出 E = 6
上面加粗的红色字体用的就是类似一个递归的概念,希望你能理解吧,不行的话,那只能自己去努力理解了,呵呵。
现在我们开始解答上面的问题:
令P[i]代表M个球中已经有i个球是红色后,还需要的时间期望,去将所有球都变成红色。
So,给出递归式:P[i]= (i/M) * P[i] + (1-i/M)* P[i+1] + 1
我相信大家都能理解这个公式的含义,不过还是解释一下,在P[i]的情况下,我们选一次球,如果是红球,那么概率是i/M,子问题还是P[i],如果是白球,那么概率是1-i/M,子问题是P[i+1],注意你当前的选球操作要计算在内,即一次
化简如上递归式得:P[i] = P[i+1] + M/(M-i),显然P[M] = 0;
所以:
P[M-1] = P[M] + M/1
P[M-2] = P[M-1] + M/2
…
P[0] = P[1] + M/M
综上:P[0] = 0 + M/1 + M/2 + … + M/M,至此问题已经解决,不过我希望大家学到的不是这个答案,而是分析这个题目的过程
最终答案:
0 + M/1 + M/2 + M/3 + … + M/M
括号里的式子在M比较大的时候约等于lnM,所以整个期望值大约是MlnM
(因为lnx = ∫(x,1) 1/tdt,1 + 1/2 + ... + 1/M >= ∫(2,1) 1/tdt + ∫(3,2) 1/tdt + ... + ∫(M+1,M) 1/tdt = ∫(M+1,1) 1/tdt = ln(M+1), 1 + 1/2 + ... + 1/M <= 1 + ∫(2,1) 1/tdt + ∫(3,2) 1/tdt + ... + ∫(M,M-1) 1/tdt = ln(M) + 1,因此有
ln(M+1) <= 1 + 1/2 + ... + 1/M <= ln(M)+1,又有ln(M+1) >= ln(M),所以…… )
问题2: 你有一把宝剑。每使用一个宝石,有50%的概率会成功让宝剑升一级,50%的概率会失败。如果宝剑的级数大于等于5的话,那么失败会使得宝剑降1级。如果宝剑的级数小于5的话,失败没有效果。问题是:期望用多少个宝石可以让一把1级的宝剑升到9级?
用a[i]表示从第i-1级升到第i级期望使用的宝石数量。
当i<=5时,因为不会降级,则期望的数量均为2,即a[2] = a[3] = a[4] = a[5] = 2
当i>5时,因为会降级,成功时一个宝石就够了,不成功时需要倒退一级,需要先使用a[i-1]个宝石先回到i-1级,再使用a[i]个宝石升到第i级,即
a[i] = 1 * 1/2 + (1 + a[i-1] + a[i]) * 1/2
即 a[i] = a[i-1] + 2
可知,a[6]= 4, a[7] = 6, a[8] = 8, a[9] = 10
则1级到9级需要的宝石数为 a[2]+…+a[9] = 36。
问题3: 平均要取多少个(0,1)中的随机数才能让和超过1。答案: e 次, 其中e是自然对数的底
问题3: 金刚坐飞机问题:
现在有一架飞机要起飞,乘客们正准备按机票号码(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),则问题的最终答案为: