- 最后登录
- 2013-11-11
- 在线时间
- 873 小时
- 阅读权限
- 40
- 注册时间
- 2008-9-15
- 积分
- 1194
- 帖子
- 924
- 精华
- 6
- UID
- 44804
- 性别
- 保密

- 积分
- 1194
- 帖子
- 924
- 精华
- 6
- UID
- 44804
- 性别
- 保密
|
题目:有m个实数,两两不等,每次只显示一个数给你看,你可以选择获取它或放过它看下一个数。你的目标是得到最大的数。
那么如何安排策略,才能使得获取最大数的概率最高?
策略(n) :放过前面的n个数,从第N=n+1个数开始,若与前面的所有数相比是最大的,就选择该数,否则放过,看下一个数,一直到所看的数与前面的所有数相比是最大为止,选择该数。若看到了最后一个数,就只能选择最后一个。
假设: q是 不比 m/e 大的最大整数,即q=int(m/e) 或q<=m/e<q+1 int是取整函数, e为自然对数,=2.718281828……
那么:
结论1:策略(n) 获取最大数的概率
P(n) =n/m * ∑ 1/i ( ∑中的 i 从n到 m-1) n>0
P(n) =1/m n=0
结论2:使得概率P最大的n值必等于q或q+1。
结论3:m趋向于无穷大时,P(q) 或P(q+1)的极限等于1/e 。
也就是说m很大时,最优策略获取最大数的概率等于1/e。
证明:结论1:最大数出现在被看的轮次是随机的,所以出现在任何轮次的概率都是1/m。
最大数若出现在前n轮次,由于策略(n)的缘故,已被放弃,所以不可能被选中了。最大数出现在n+1次以后,比如第i轮次(i>n),根据策略,被选中的条件是i-1轮次之前出现的所有i-1个数中最大的数出现在第n轮次之前(包括第n轮次),因为若出现在n轮次之后,根据策略,它必备选中,从而不可能获得最大数。所以最大数出现第i轮次且被选中的概率=1/m * n/(i-1)=n/m * 1/(i-1),所以策略(n) 获取最大数的概率
P(n)=n/m * ∑1/(i-1), (∑中的i=n+1 to m)
即 P(n)=n/m * ∑ 1/i , ( ∑中的i从n到 m-1)
所以结论1得证。
结论2 :思路:
1.首先证明 数列P(n) 是个先递增后递减的数列。头尾的数列值相等,都等于1/m,所以中间有最大值。
前后两个数列的差值△P= P(n+1)- P(n) =1/m * [ ∑ 1/i -1] ( ∑中的 i 从n+1 到 m-1)
即 m*△P= [ ∑ 1/i -1] ( ∑中的 i 从n+1 到 m-1)
从上面式子可看出△P是个递减数列,从大于0,逐渐减至小于0. 当第一次变为负值时的n就是所求的最大值的自变量。
2.构造两个新的数列:C(k)=∑ 1/i -ln(k+1) ( ∑中的 i 从1到k ) C(k)是个递增数列
C'(k)=∑ 1/i -ln(k) ( ∑中的 i 从1到k ) C'(k)是个递减数列
这两个数列的极限值都相等,都等于欧拉常数C=0.57721566490153286060651209
3.将概率△P用C(k)或C'(k)来表示:m* △P=ln(m/(n+1)) + C(m-1)-C(n) -1 式子1
m* △P=ln[(m-1)/n] + C'(m-1)-C'(n+1) -1 式子2
当n=q-1时,用式子1判断△P>0,所以P(n)取最大值时,n 必定>=q
当n=q+1时,用式子2判断△P<0,所以P(n)取最大值时,n 必定<=q+1
所以就得出P(n)取最大值,q<=n<=q+1,结论2得证。
结论3:P(q) =q/m * ∑ 1/i ( ∑中的 i 从q到 m-1)
因为 ∑ 1/i =ln(m/q) + C(m-1)-C(q-1)
所以 P(q) =q/m * [ln(m/q)+ C(m-1)-C(q-1)]
因为m趋向无穷大,所以q=int(m/e)也趋向无穷大,m/q趋向e, q/m 趋向1/e, C(m-1)-C(q-1)]趋向C-C=0,
所以 P(q) 趋向1/e * (lne+0)=1/e.
所以结论3得证。
-------------------------------------------------------------------
下面证明结论2:
C(n)=∑ 1/i -ln(n+1) ( ∑中的 i 从1到n) 式子a
C(m-1)=∑ 1/i -ln(m) ( ∑中的 i 从1到m-1) 式子b
因为m*△P=[ ∑ 1/i -1] ( ∑中的 i 从n+1 到 m-1)
所以 式子b-式子a 得到 ∑ 1/i =ln m/(n+1) + C(m-1)- C(n) ( ∑中的 i 从n+1 到 m-1)
所以 m*△P=ln m/(n+1) + C(m-1)- C(n)-1
n取q-1值时,m*△P=ln m/q + C(m-1)- C(q)-1
因为q<=m/e<q+1,所以m/q>=e, 因为C(k)是个递增数列,所以C(m-1)- C(q)>0.
所以m*△P >lne+0-1>0.
因此 n取q-1值时,△P>0
-----------------------------
C'(n)=∑ 1/i -ln(n) ( ∑中的 i 从1到n)
C’(m-1)=∑ 1/i -ln(m-1) ( ∑中的 i 从1到m-1)
因为 m* △P=(∑ 1/i -1) ( ∑中的 i 从n+1到m-1)
所以 m* △P=C’(m-1)+ln(m-1) -C'(n)-ln(n)-1 =ln[(m-1)/n] + C'(m-1)-C'(n)-1
n取q+1值时,m*△P=ln (m-1)/(q+1) + C'(m-1)- C'(q+1)-1
因为q<=m/e<q+1,所以(m-1)/(q+1)< m/(q+1)<e, 因为C'(k)是个递减数列,所以C'(m-1)- C'(q+1)<0.
所以m*△P <lne+0-1<0,
因此n取q+1值时,△P<0。
所以结论2得证。
[ 本帖最后由 lulijie 于 2009-3-2 21:01 编辑 ] |
|