一道概率算法
問(wèn)題:一個(gè)API,以概率p輸出1,以概率1-p輸出0,請(qǐng)你設(shè)計(jì)以算法,call這個(gè)API,以概率1/2輸出1,以概率1/2輸出0
?
答案:連續(xù)call 2次這個(gè)api, 如果輸出序列是01,那么就輸出0,如果是10,那么就輸出1,是其它情況(00,11),重做一遍前面的步驟
?
算法的證明:
第一輪call 2次這個(gè)api,產(chǎn)生的序列的概率是01 (1-p)*p, 10 p*(1-p), 00 (1-p)^2, 11 p^2,按照我們的算法(答案),以 (1-p)*p的概率輸出0,以p*(1-p)的概率輸出1,以(1-p)^2+p^2的概率重新執(zhí)行我們的算法,此時(shí)輸出0的概率是(1-p)*p + ((1-p)^2+p^2)*(1-p)*p, 輸出1的概率是p*(1-p) + ((1-p)^2+p^2)*p*(1-p),再以((1-p)^2+p^2)^2的概率重現(xiàn)執(zhí)行我們的算法。。。可以看出,按照我們的算法,產(chǎn)生1的概率是一個(gè)級(jí)數(shù),并且是收斂的,因?yàn)?span style="color:#000000;font-family:'Segoe UI';">0<(1-p)^2+p^2<1,很容易計(jì)算它等于0.5,同理產(chǎn)生0的概率也是0.5。
?
類似的問(wèn)題:
一個(gè)API,能等概率地產(chǎn)生1-5的整數(shù),如果call這個(gè)api,等概率地產(chǎn)生1-7的整數(shù)
轉(zhuǎn)載于:https://www.cnblogs.com/Torstan/archive/2012/05/21/2511737.html
總結(jié)
- 上一篇: 同期及上期数据对比处理示例.sql
- 下一篇: 多域名登录方案思考