游戏开发论坛

 找回密码
 立即注册
搜索
楼主: suquan77

[讨论] 也来转个数值题,关于概率的

[复制链接]

6

主题

329

帖子

329

积分

中级会员

Rank: 3Rank: 3

积分
329
发表于 2009-2-2 15:23:00 | 显示全部楼层

Re:也来转个数值题,关于概率的

其实,这个问题不用想,只要理解什么是概率就可以回答了。
如果没有傻子,大家都是100%坐自己位置。
但是有了傻子,而且这个傻子是不选择位置的,这个傻子就是概率上的随即因子,那我们可以把所有的人都当成傻子。(因为傻子乱坐位置,那大家都是乱坐的)。最后一个其实也可以看错一个傻子。
这个问题就变成了,一个傻子去坐100个位置,有一个是自己的,那请问他坐在自己位置上的概率是多少!
这样大家都好理解了吧!

28

主题

3250

帖子

3262

积分

论坛元老

Rank: 8Rank: 8

积分
3262
QQ
 楼主| 发表于 2009-2-2 21:20:00 | 显示全部楼层

Re:也来转个数值题,关于概率的

……这题的盛况很好的阐述了要当一个老师也不容易的道理

0

主题

27

帖子

33

积分

注册会员

Rank: 2

积分
33
QQ
发表于 2009-2-4 18:44:00 | 显示全部楼层

Re:也来转个数值题,关于概率的

50%,假设n个人的时候是50%,n+1个人则 = 100%*1/(n+1) + 50%*(n-1)/(n+1) +0% * 1/(n+1) = 50%

0

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2009-3-18 18:05:00 | 显示全部楼层

Re:也来转个数值题,关于概率的

利用数学归纳法,令N=100-n+1,n表示第多少个人。例如,第99个人的时候,N就是2。
这里的99个人就表示第一个傻子抢了第99个人的位置,所以第99个人只有2个选择,所以此时他做第100个位置的概率是1-1/N
然后一次往后考虑,发现可以用一个公式来表示:
N=2,1/N
N=3,(1/N)*(1+1/(N-1))
N=4,(1/N)*(1+1/(N-1))*(1+1/(N-2))
。。。
N=99,(1/N)*(1+1/(N-1))*(1+1/(N-2))。。。*(1+1/(N-97))
所以根据归纳法可以知道当N=99的时候仍然买足这个公式,其值仍然是50%。然后再根据傻子的座法可以知道最终的概率公式=1/100+(1/100)*(1/2)*98=50%

1

主题

22

帖子

178

积分

注册会员

Rank: 2

积分
178
发表于 2009-3-23 15:25:00 | 显示全部楼层

Re:也来转个数值题,关于概率的

转一个:

把所有人编号,1-100号,每个人的座位也是1-100号。那么先假设傻子做到了2-99号座位中的一个,这有98/100的可能性。在这个前提下,考虑一下两种情况:
  1)2-99号乘客有某人做到了傻子的座位。
  2)2-99号乘客中没有人做到了傻子的座位(即100号坐到了傻子的座位)。
  这两种情况是互斥的,也就是不能同时发生;它们也是完备的,也就是必定发生一个。那么对2-99号乘客来说,傻子的座位和最后一个乘客的座位地位是完全平等的,所以两者发生的概率都是1/2。如果事件1发生,那么最后一个乘客能做到自己的座位。它总的概率是(98/100)* (1/2)。
  那么再看傻子坐到1或者100号座位的情况。显然只有前者能使最后一个乘客坐到自己的座位,那么它的概率是1/100。
  所以综上所述,最终的概率是(98/100)*(1/2)+1/100=1/2。以上推理是我认为比较简洁明了的一个,它也说明了无论多少人,结果都是1/2。

2

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
QQ
发表于 2009-4-13 20:32:00 | 显示全部楼层

Re:也来转个数值题,关于概率的

先用递推法
2个人的时候,概率为1/2
3个人的时候,1/3+1/3x1/2=1/2
4个人的时候,1/4+1/4x(1/3+1/3x1/2)+1/4x1/2=1/2

于是可以用数学归纳法,假设n=N个人时,概率为1/2,

当n=N+1时,

概率为 1/(N+1)+1/(N+1)x1/2+...+1/(N+1)x1/2   N-1个1/(N+1)x1/2

=1/(N+1)+1/(N+1)x1/2x(N-1)
=1/2

所以假设成立。

无论多少个人,概率都为1/2

1

主题

291

帖子

644

积分

高级会员

Rank: 4

积分
644
发表于 2009-4-15 09:26:00 | 显示全部楼层

Re: Re:也来转个数值题,关于概率的

命?ぺ晨: Re:也来转个数值题,关于概率的

先用递推法
2个人的时候,概率为1/2
3个人的时候,1/3+1/3x1/2=1/2
4个人的时候,1/4+1/4x(1/3+1/3x1/2)...

哥们,你这是文不对题啊,人家这个是要求概率,不是证明概率是1/2。数学归纳法都上来了,这是个计算题,不是个证明题。

2

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
QQ
发表于 2009-4-15 14:07:00 | 显示全部楼层

Re: Re: Re:也来转个数值题,关于概率的

小石子: Re: Re:也来转个数值题,关于概率的


哥们,你这是文不对题啊,人家这个是要求概率,不是证明概率是1/2。数学归纳法都上来了,这是个计算题,不是个证明题。



这是一种方法啊,数学竞赛中经常出现。。。一个推理猜想证明的过程。。。在求解数列,或者是前后有一定关系的时候用的。。。从1开始算几个,然后看出他的规律,假设这个规律在n时成立,如果能够在n+1时还成立,说明这个规律是正确的,从而可以得到在任何时候的结果。。。这是一种求解方法,不是证明。。。

0

主题

23

帖子

23

积分

注册会员

Rank: 2

积分
23
发表于 2009-4-18 10:59:00 | 显示全部楼层

Re:也来转个数值题,关于概率的

Matlab程序10000次模拟:100个人依次入场坐100个座位,每人都有自己指定的座位。
  可惜第一个人是傻子(1号),随便找个位置坐下。
  后来的人策略如下:如果自己的座位空着,坐自己的座位;如果被占,随便找个座位坐下。   最后一个人(100号)是否坐在自己的座位上?坐到为1,没做到为0。
    将这10000次的结果取和,并除于10000,得到100号 最后一个人坐在自己的座位上的平均概率。
c=zeros(10000,1);
for j=1:10000
A=1:100;      % 100个人对应座位的集合。
x=A(round(99*rand(1)+1)); %第一个人为傻子,随便找个位置(1-100号)坐下。
A=setdiff(A,x);           %去掉傻子坐下来的座位号。
n=2;
for i=1:98
if  intersect(A,n)==n            
x=n;             % 如果自己的座位空着,坐自己的座位;
else  x=A(round((100-n)*rand(1)+1));   %如果被占,随便找个座位坐下。
end
A= setdiff(A,x);      %去掉坐下来的座位号。
n=n+1;
end  
c(j)=A==100;          %记录10000次,第100号能否坐到自己的座位上。
end
y=sum(c)/10000    %计算10000次,100号 最后一个人坐在自己的座位上的平均概率。            
     
运行结果为:y= 0.4940   


欢迎加入 游戏策划群:18528346   

0

主题

23

帖子

23

积分

注册会员

Rank: 2

积分
23
发表于 2009-4-18 11:00:00 | 显示全部楼层

Re:也来转个数值题,关于概率的

程序 模拟运行的结果,大概结果为50%,嘿嘿,证明有些人确实说对了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-8-16 23:56

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表