首页 新闻 会员 周边

算法导论5.1-3

0
悬赏园豆:20 [已关闭问题] 关闭于 2014-07-28 23:12

题如下:假设你希望以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的函数,你的算法的期望运行时间是多少?

PS:不知把p设为1/2的时候不就好了吗

北冥飞鱼的主页 北冥飞鱼 | 初学一级 | 园豆:189
提问于:2013-09-09 14:49
< >
分享
所有回答(1)
0

这个问题很简单

假设我们的br是 $\mathcal{G}$, 那么它会生成 $\frac{1}{p}$和$\frac{1}{1-p}$两种数。

我们每次生成2个数字, 如果它们不相等, 就输出前面(或后面)那个, 如果相等, 就什么都不做。

这样它们双方的概率都是$\frac{1}{p(1-p)}

 

你不能使用1/2的生成器, 因为你不知道p的值

akisann | 园豆:341 (菜鸟二级) | 2013-09-09 16:37

没看明白,能解释的详细点吗

支持(0) 反对(0) 北冥飞鱼 | 园豆:189 (初学一级) | 2013-09-10 16:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册