题如下:假设你希望以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的时候不就好了吗
这个问题很简单
假设我们的br是 $\mathcal{G}$, 那么它会生成 $\frac{1}{p}$和$\frac{1}{1-p}$两种数。
我们每次生成2个数字, 如果它们不相等, 就输出前面(或后面)那个, 如果相等, 就什么都不做。
这样它们双方的概率都是$\frac{1}{p(1-p)}
你不能使用1/2的生成器, 因为你不知道p的值
没看明白,能解释的详细点吗