算法导论5.1-3
假設biased-random輸出1的概率為p,輸出0的概率為(1-p)
連續使biased-random輸出兩次結果,有如下可能
00, 01, 10, 11
其概率分別為
(1-p)(1-p), (1-p)p, p(1-p), pp
可以發現01和10的概率相同,均為p(1-p),我們可以將這兩種等概率的情況作為輸出,同時忽略00和11。
def biased_random():if random.random() > 0.7:return 1else:return 0def advance_random():while True:a = biased_random()b = biased_random()if (a == 1 and b == 0):return 1elif(a == 0 and b == 1):return 0 sum = 0 for i in range(100000):if advance_random() == 1:sum = sum + 1 print sum/100000.0實驗給出結果,概率近似為0.5。
?
轉載于:https://www.cnblogs.com/NightRain/p/4905548.html
總結
- 上一篇: Android Studio下加入百度地
- 下一篇: python培训Day1 随笔