一道概率题

来源:互联网 发布:淘宝企业店 编辑:程序博客网 时间:2024/05/18 19:44

假设你希望各以1/2的概率输出0和1。你可以自由使用一个输出0或1的过程BIASED-RANDOM。它以概率P输出1,以概率1-P输出0,其中0<P<1,但是你并不知道P的值。给出一个利用BIASED-RANDOM为子过程的算法,返回一个无偏向的结果,即以1/2概率返回0,以1/2概率返回1。作为P的函数,以的算法的期望运行时间是多少?

 

分析:可以采用上一道概率题完全相同的思路解决这道问题。我们发现,如果考虑两次输出的结果,00的输出概率是P*P,01的输出概率是P*(1-P),10的输出概率是(1-P)*P,11的输出概率是(1-P)*(1-P)。可以考虑如果输出的结果是01,即输出0;如果输出的结果是10,即输出1;否则不输出任何数字,而重新下一次尝试。

 

证明算法的正确性:首先定义两次输出的组合为一次尝试。我们可以看到各次尝试之间是完全独立的。对于其中一次确定的尝试,输出0和输出1 的概率是相等的,即为(1-P)*P。最终输出结果为0或者1的概率之和为1,即可以证明输出0的概率等于输出1的概率,为1/2。

                                                                    

计算算法的复杂度:假设BIASED-RANDOM作一次输出的复杂度为BR。

                                 - O(BR)  ( P*(1-P) )

算法可以定义为f =

                                - f             (1 - P*(1-P))

 

定义P0 = (1-P)*P,则有f=P0*O(BR) + (1-P0)*f = P0*O(BR) + (1-P0)(P0*O(BR)) + (1-P0)(1-P0)f = P0*O(BR) + (1-P0)(P0*O(BR)) + (1-P0)(1-P0)*P0*O(BR) + (1-P0)(1-P0)(1-P0)*f = ...

忽略掉最小项,有f=P0*O(BR)*(1+(1-P0)+(1-P0)(1-P0)+(1-P0)(1-P0)(1-P0)+...) 即是一个多项式。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 怀孕两个月下体流褐色分泌物怎么办 头发总是大把大把的得掉 怎么办 严重脱发怎么办去问南宁肤康 脱发严重怎么办去看南宁肤康 前额头发少怎么办 如何使头发增多 生完宝宝头发一把一把的掉怎么办 生完宝宝后头发掉的厉害怎么办 生完宝宝头发掉的厉害怎么办 生了小孩后头发掉很多怎么办 生了孩子头发掉的很厉害怎么办 母乳期头发掉的很厉害怎么办 宝宝吃母乳头发掉的厉害怎么办 头发油腻头皮屑多还掉头发怎么办 头发剪了中分刘海弯了怎么办 头发掉了长出来的头发很细怎么办? 头皮损伤毛囊怎么办还会长头发吗 一岁宝宝头发稀少怎么办能刮光头么 前编头发长了怎么办怎么梳理 九个月宝宝头发稀少不长怎么办 前牙吃饭咬合很深吃饭就痛怎么办 吃了甜的冷的就牙疼怎么办 吃热的凉的甜的牙疼怎么办 头发太细了想让头发变粗点怎么办 我的头发又少又很油该怎么办 头发油掉发头顶头发稀疏怎么办 我的头发天生就少又细怎么办 头发越来越少怎么办 用什么好呢 头发油掉头发怎么办吃什么药好 生完孩子三个月掉头发很厉害怎么办 电夹板夹头发现在掉头发怎么办 刚剪完的头发前面短后面长怎么办 头发太多太厚怎么办_百度经验 米诺地尔搽剂喷在头皮上痛怎么办 米诺地尔擦了头皮痒怎么办 头发又细又少一天不洗就油怎么办 头又尖头发又细又少不知怎么办 蘑菇头发型留长尴尬期怎么办 月经期间洗了下头量很少了怎么办 宝宝喝了有沐浴露的洗澡水怎么办 4个月宝宝头发长的慢怎么办 宝宝不小心吃了自己拉的屎怎么办