1. 程式人生 > >演算法導論 5.1-3

演算法導論 5.1-3

畫出BIASED-RANDOM真值表

輸出值 0 1
概率 1-p p
基於BIASE-RANDOM真值表,畫出獨立的兩次BIASED-RANDOM過程的真值表
輸出值 00 01 10 11
概率 (1-p)(1-p) p(1-p) p(1-p) pp
可見輸出01和10的概率是相同的,那麼可以使用如下演算法:依次呼叫兩次BIASED-RANDOM,當輸出不同時,返回第一次BIASED-RANDOM的值。下面證明此過程以等概率輸出0和1。定義此演算法為AVERAGE-RANDOM
  1. 事件A:AVERAGE-RANDOM有返回
  2. 事件B:AVERAGE-RANDOM返回0
  3. 事件C:AVERAGE-RANDOM返回1

根據條件概率公式:P(B|A)=P(AB)/P(A)=P(兩次獨立BIASED-RANDOM返回01)/P(兩次獨立BIASE-RANDOM返回01+兩次獨立BIASE-RANDOM返回10)=p(1-p)/[p(1-p)+p(1-p)]=1/2;

同理,P(C|A)=P(AC)/P(A)=1/2