算法導論: 第5章

5.1-2 生成Random(a,b)php

    運行b-a次Random(0,1),累加和,最後再加a。利用公式F(z) = w解出z便可,其中F(z)爲目標分佈,w爲區間0-1內的均勻分佈。dom

5.1-3 等機率生成0和1ui

   Biased-Random 以機率p輸出1,以機率1-p輸出0,blog

  則1-Biased-Random 以機率p輸出0,以機率1-p輸出1sed

  則調用Biased-Random後接着調用1-Biased-Random,出現的機率爲im

   調用結果    00      01      10    11統計

   出現機率    (1-p)*p    (1-p)*(1-p)     p*p    p*(1-p)img

則1出現的指望E[1] = (1-p)*(1-p) + p*p + 2*p*(1-p) = 1;co

  0出現的指望E[0] = 2(1-p)*p + (1-p)*(1-p) + p*p = 1;生成

故調用一次(Biased-Random) + (1-Biased-Random)就能夠讓0和1出現的機率相等。連續調用這個組合,統計0和1出現的個數,直到它們出現的個數不相等。此時輸出出現次數多的那個。每次調用產生0和1個個數相等的機率爲1-2*p*(1-p)。伯努利實驗指望爲O(1/(1-2*p*(1-p)))

網上還有另一種解法:運行Biased-Random兩次產生x和y,連續運行直到兩個數不等,而後輸出x。顯然,產生0的機率爲(1-p)*p,產生1的機率爲p*(1-p),兩者產生機率相等。每次產生兩個不等的數,說明實驗成功,故是一個2*p*(1-p)機率的伯努利實驗,指望爲O(1/2*p*(1-p))。

但因爲2*p*(1-p)<1/2,因此後者的指望大,故後者用的次數更少。

5.3-5 Random(1,n^3)全部元素都惟一的機率至少爲1-1/n

參見http://photo.blog.sina.com.cn/list/blogpic.php?pid=932e6e55hc37388f5a11d&bid=932e6e5501015a80&uid=2469293653

5.1 機率計數

(a)令Vn表示n次自增操做後的值,令Xi表示i次自增操做後自增後和自增前數值的差,則有Vn = X1 + X2 + ... + Xn。

而E[Xi] = 0*(1-1/(n(i+1)-n(i))) + (n(i+1)-n(i))*(1/(n(i+1)-n(i))) = 1。得E[Vn] = n。

(b)n(i) = 100i,則n(i+1)-n(i) = 100;機率爲1/100 。

則Var[Xi] = E[Xi^2] - E[Xi]^2 = (0^2*99/100) + (100^2) *1/100 - 1^2 = 99。

故Var[Vn] = 99n;

相關文章
相關標籤/搜索