2010-07-28 184 views
1

我現在正在學習拉斯維加斯和蒙特卡羅算法,並有兩個問題可能很簡單,但我無法回答他們,如果有人可以幫助我......謝謝預先隨機算法的性質(蒙特卡洛,拉斯維加斯)

  1. 考慮蒙特卡洛算法爲一個問題P上產生的概率Y(N)正確的溶液大小爲n的任何實例,其預期的運行時間爲至多T(n)中。進一步假設給出了P的一個解,我們可以驗證它在時間t(n)中的正確性。演示如何獲得拉斯維加斯算法,該算法始終給出P的正確答案,並且最多在預期時間內運行(T(n)+ t(n))/ y(n)。

  2. 讓0 <ε2<ε1< 1.考慮蒙特卡羅算法給出正確的解決方案的一個問題的概率至少1-ε1,而不管輸入的。無論輸入如何,該算法獨立執行多少次都足以提高獲得至少爲1-ε2的正確解的概率?

+1

如果這是功課,請將其標記爲這樣。 – 2010-07-28 07:47:51

回答

1
  1. 只是重複運行你的算法和測試結果,直到你得到一個正確的答案。每次運行和檢查需要(T(n)+ t(n))個時間單位,並且運行次數是平均值爲1/y(n)的幾何隨機變量。

  2. 一次運行失敗的概率是多少?兩次運行? n運行?設n次運行失敗的概率等於e2並求解n。

+0

謝謝你的答案。我明白的答案是1,但問題2的答案對我來說不是那麼清楚,比較失敗的概率爲「e2」? – user404225 2010-07-29 13:07:15

+0

我不想爲你做功課。如果你運行程序兩次,你兩次失敗的概率是多少?三次? n次? – deinst 2010-07-29 14:25:05

+0

如果我運行一次,我失敗的概率是1-(1-ε1)對不對?如果它運行兩次1-(1-ε1)/ 2?和.../n是對的? – user404225 2010-07-29 16:25:05