- 最后登录
- 2017-10-10
- 在线时间
- 88 小时
- 阅读权限
- 20
- 注册时间
- 2008-3-19
- 积分
- 421
- 帖子
- 233
- 精华
- 2
- UID
- 25681
- 性别
- 保密
- 积分
- 421
- 帖子
- 233
- 精华
- 2
- UID
- 25681
- 性别
- 保密
|
来解一下这道题,时间有限,还有一点没研究透,实际当中不鼓励甩掉初恋啊!人并不是数字那么简单,呵呵!言归正传,策略如下:
设总数为N,其中最好的一个为第m个,我们从第S个开始考虑要或者不要,也就是放弃前S-1个,仅作为参考,从S开始,遇到所有见过当中最好的就选定,否则继续看下去。
这样当m<S的情况下,我们能成功的概率为0,因为我们放弃了最好的那一个;
当m>=S的情况下,我们能否成功的概率取决于从第一个到第m个当中次好的一个,设其位置为第k个,当k<S的时候,我们放弃了次好,由此为标准,我们一定能选到最好的第m个。当k>=S的时候,按策略,次好将被我们选中,失败。次好出现在第一个到第m-1个,能成功的概率为其在第S位之前的概率,即(S-1)/(m-1)。
总概率为:P0=P(最好在第m位且能被选中) (m=1~N之和)
=P(最好在第m位且能被选中) (m=S~N之和)
=P(m)*P(k<S) (m=S~N之和)
=1/N*(S-1)/(m-1) (m=S~N之和)
(注:(S-1)/(S-1)认为等于1)
由无穷级数概念,当N比较大时,此概率可以写成:
P0=(S-1)/N*ln(N/(S-1))
对S求偏导数并令偏导为0:
(ln(N/(S-1))-1)/N=0
得到:N/(S-1)=e
即:S=[N/e]+1
(注:[ ]为取整符号)
由于这是N较大时的估算值,如果想真正取得最大值不建议直接得出结论,可以计算出S=[N/e]+1附近几个数的真实概率,然后通过比较确定S。
如N=20时,S=[20/e]+1=8
P(8)=1/20*(8-1)/(m-1) (m=8~20之和)= 0.38421
同理可得:P(6)=0.3661 P(7)=0.37932 P(9)=0.38195 P(10)=0.37345
可见真的是S=8最大,不过当N为其他数值时,按公式算出的不一定正确,如何给出最为准确的公式,这点我还没有想好,抛砖引玉吧,有错误的地方也请大家指出。
[ 本帖最后由 金眼睛 于 2009-3-1 01:32 编辑 ] |
|