亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > Python 概率生成問題案例詳解

Python 概率生成問題案例詳解

熱門標(biāo)簽:徐州天音防封電銷卡 電話機(jī)器人適用業(yè)務(wù) 湛江電銷防封卡 鄭州智能外呼系統(tǒng)運(yùn)營商 不錯的400電話辦理 佛山防封外呼系統(tǒng)收費(fèi) 獲客智能電銷機(jī)器人 哈爾濱外呼系統(tǒng)代理商 南昌辦理400電話怎么安裝

概率生成問題

有一枚不均勻的硬幣,要求產(chǎn)生均勻的概率分布
有一枚均勻的硬幣,要求產(chǎn)生不均勻的概率分布,如 0.25 和 0.75
利用 Rand7() 實現(xiàn) Rand10()

不均勻硬幣 產(chǎn)生等概率

現(xiàn)有一枚不均勻的硬幣 coin(),能夠返回 0、1 兩個值,其概率分別為 0.6、0.4。要求使用這枚硬幣,產(chǎn)生均勻的概率分布。即編寫一個函數(shù) coin_new() 使得它返回 0、1 的概率均為 0.5。

# 不均勻硬幣,返回 0、1 的概率分別為 0.6、0.4
def coin():
    return 0 if random.randint(1,10) > 4 else 1

統(tǒng)計拋兩次硬幣的結(jié)果的概率分布:

結(jié)果 0 1
0 0.60.6=0.36 0.60.4=0.24
1 0.40.6=0.24 0.40.4=0.16

連續(xù)拋兩枚硬幣得到 0 1 和 1 0 的概率分布是相同的。因此這道題的解法就是連續(xù)拋兩次硬幣,如果得到 0 1,返回 0;如果得到 1 0,返回 1;如果兩次結(jié)果相同,則重新拋。

以此類推,無論這枚不均勻硬幣的概率是多少,都可以用這種方法得到等概率的結(jié)果。

ddef coin_new():
    while True:
        a = coin()
        if coin() != a:  
            return a

完整測試代碼:

def coin():
    return 0 if random.randint(1,10) > 4 else 1

def coin_new():
    while True:
        a = coin()
        if coin() != a:  
            return a
if __name__ == '__main__':
    a = 0
    b = 0
    n = 100000
    for _ in range(n):
        if coin_new():a += 1
        if coin():b += 1

    print(f"1:{a/n},1:{b/n}")

均勻硬幣 產(chǎn)生不等概率

現(xiàn)有一枚均勻的硬幣 coin(),能夠返回 0、1 兩個值,其概率均為 0.5。要求編寫一個函數(shù) coin_new(),使得它返回指定的 0、1 概率分布。

# 均勻硬幣 
def coin():
    return random.randint(0,1)  

P(0) = 1/4,P(1) = 3/4

對于均勻硬幣而言,連續(xù)拋兩次,得到 0 0、0 1、1 0、1 1 的概率均為 1/4。顯然,只需要連續(xù)拋兩次硬幣,如果得到 0 0,返回 0,其他情況返回 1。

def coin_new():
    return coin() or coin()

P(0) = 1/3,P(1) = 2/3

連續(xù)拋兩次硬幣。如果得到 1 1,返回 0;如果得到 1 0 或 0 1,返回 1;如果得到 0 0,繼續(xù)拋硬幣。

def coin_new():
    while True:
        a, b = coin(), coin()
        if a  b: return 0
        if a | b: return 1

P(0) = 0.3,P(1) = 0.7

每拋一次硬幣,會得到二進(jìn)制數(shù)的一位,連續(xù)拋 4 次硬幣,可以等概率生成 [0, 15] 的每個數(shù),記為 x。去掉 [10, 15],剩下 [0, 9] 的每個數(shù)依然是等概率的。如果 x ∈ [ 0 , 2 ] x \in [0, 2] x∈[0,2],返回 0; x ∈ [ 4 , 9 ] x \in [4, 9] x∈[4,9],返回 1; x ≥ 10 x ≥ 10 x≥10,重復(fù)上述過程。

def coin_new():
    while True:
        x = 0
        for _ in range(4):
            x = (x  1) + coin()
        if x = 2: return 0
        if x = 9: return 1

總結(jié)

每拋一次硬幣,會得到二進(jìn)制數(shù)的一位,連續(xù)拋 k 次硬幣,可以等概率生成 [ 0 , 2 k − 1 ] [0, 2^k-1] [0,2k−1] 的每個數(shù)在 [ 0 , 2 k − 1 ] [0, 2^k-1] [0,2k−1][ 中,選取 m 個數(shù)返回 0,n 個數(shù)返回 1,則 0、1 的概率分別為 m m + n \frac{m}{m+n} m+nm​ 、 n m + n \frac{n}{m+n} m+nn​。

關(guān)于 k 的選擇,最少需要滿足 N = 2 k − 1 N = 2^k-1 N=2k−1,N 是生成對應(yīng)概率分布至少需要多少個不同數(shù)字。比如要生成 1/3、2/3 的分布,至少需要 3 個不同數(shù)字,則 N = 3, k = 2;要生成 3/10、7/10 的分布,至少需要 10 個數(shù)字,則 N = 10, k = 4。

k 最多則沒有限制,我們總可以通過拋更多次硬幣來解決問題,只需要把無用的數(shù)字舍棄即可。但我們的目的是盡可能減少無用數(shù)字的比例,因為每次遇到無用數(shù)字時,都需要重新生成新的數(shù)字。

Rand7 生成 Rand10

已有方法 Rand7() 可生成 1 到 7 范圍內(nèi)的均勻隨機(jī)整數(shù),試寫一個方法 Rand10() 生成 1 到 10 范圍內(nèi)的均勻隨機(jī)整數(shù)。

拋硬幣可以看作是 Rand2(),均勻生成 0、1 兩個整數(shù)。如何根據(jù) Rand2() 生成 Rand10()?將每次拋硬幣的結(jié)果,看作二進(jìn)制的每一位,就可以得到 [ 0 , 2 k − 1 ] [0, 2^k-1] [0,2k−1] 范圍內(nèi)的均勻隨機(jī)整數(shù)。只需要拋 4 次硬幣,就能得到 [0, 15] 范圍的整數(shù)。返回 [1, 10] 范圍的整數(shù),其他情況則重新拋硬幣。

def rand10():
    while True:
        x = 0
        for _ in range(4):
            x = x  1 + rand2()
            
        if 1 = x = 10: return x

取 Rand7() - 1 作為對應(yīng)的 7 進(jìn)制位。每執(zhí)行 k 次 Rand7(),將得到一個 k 位的 7 進(jìn)制整數(shù),在 [ 0 , 7 k − 1 ] [0, 7^k-1] [0,7k−1] 范圍內(nèi)均勻分布。

只需執(zhí)行 k = 2 次 Rand7(),就可以得到范圍為 [0, 48] 的均勻整數(shù):

當(dāng) x ∈ [ 1 , 10 ] x \in [1, 10] x∈[1,10] 時返回 x,否則重新計算:

def rand10():
    while True:
        x = (rand7() - 1) * 7 + (rand7() - 1);
        if 1 = x = 10: return x

進(jìn)一步優(yōu)化

選擇 [1, 40] 范圍里的數(shù),通過取余運(yùn)算來得到 [1, 10] 范圍的數(shù):

def rand10():
    while True:
        x = (rand7() - 1) * 7 + (rand7() - 1)
        if 1 = x = 40:
            return x % 10 + 1

對于上面這 9 個無用數(shù)字,計算 x % 40 可以得到 [0, 8] 范圍的均勻隨機(jī)整數(shù)。此時再調(diào)用一次 Rand7(),計算 (x % 40) * 7 + Rand7(),這相當(dāng)于 Rand9() * 7 + Rand7()。顯然,可以得到 [1, 63] 范圍的均勻隨機(jī)整數(shù)。這時 [1, 60] 范圍里的數(shù)都可以用來作取余運(yùn)算,只有 61、62、63 共 3 個無用數(shù)字:

def rand10():
    while True:
        x = (rand7() - 1) * 7 + (rand7() - 1)
        if 1 = x = 40:
            return x % 10 + 1   
            
    	x = (x % 40) * 7 + rand7() # 1~63
    	if x = 60: return x % 10 + 1

對于 61、62、63,再調(diào)用一次 Rand7(),計算 (x - 61) * 7 + Rand7(),相當(dāng)于 Rand3() * 7 + Rand7(),可以得到 [1, 21] 范圍的均勻隨機(jī)整數(shù),這時再作取余運(yùn)算,只有 1 個無用數(shù)字(21):

def rand10():
    while True:
        x = (rand7() - 1) * 7 + (rand7() - 1)
        if 1 = x = 40:
            return x % 10 + 1   
            
    	x = (x % 40) * 7 + rand7() # 1~63
    	if x = 60: return x % 10 + 1

        x = (x - 61) * 7 + 7 # 1~21
        if x = 20: return x % 10 + 1

每次 while 執(zhí)行的時候,只有 1 個無用數(shù)字(21)會被舍棄,重新執(zhí)行的概率很低。

RandM 生成 RandN

已知 RandM() 可以等概率的生成 [0, M-1] 范圍的隨機(jī)整數(shù),那么執(zhí)行 k 次,每次都得到 M 進(jìn)制的一位,可以等概率生成 [ 0 , M k − 1 ] [0, M^k-1] [0,Mk−1] 范圍的隨機(jī)整數(shù),記為 x。

RandN 至少需要 N 個均勻隨機(jī)整數(shù),因此只需要取 k,使得 M k − 1 > = N M^k-1 >= N Mk−1>=N 即可,此時有多種方式得到 RandN:
一種是只在 x ∈ [ 0 , N − 1 ] x \in [0, N-1] x∈[0,N−1] 時返回 x,另一種是利用取余運(yùn)算,在保證等概率的前提下,盡可能多的利用生成的數(shù)字,從而減少舍棄的數(shù)字比例,降低 while 重復(fù)執(zhí)行的概率。

到此這篇關(guān)于Python 概率生成問題案例詳解的文章就介紹到這了,更多相關(guān)Python 概率生成問題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python rindex()方法案例詳解
  • Python 實現(xiàn)靜態(tài)鏈表案例詳解
  • Python 二叉樹的概念案例詳解
  • Python實現(xiàn)堆排序案例詳解
  • python讀取mnist數(shù)據(jù)集方法案例詳解
  • 超實用的 10 段 Python 案例

標(biāo)簽:蘭州 懷化 呂梁 安康 蕪湖 紹興 廣西 吉安

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python 概率生成問題案例詳解》,本文關(guān)鍵詞  Python,概率,生,成問題,案例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python 概率生成問題案例詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python 概率生成問題案例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美大片毛片aaa免费看| 国产亚洲精品成人a在线| 亚洲精品影院| 999久久66久6只有精品| 青青青草影院| 久久国产精品永久免费网站| 青青青草视频在线观看| 国产成a人片在线观看视频| a级毛片免费全部播放| 久草免费在线视频| 美女被草网站| 美国一区二区三区| 国产成人精品综合久久久| 91麻豆爱豆果冻天美星空| 成人高清视频在线观看| 日日日夜夜操| 免费一级生活片| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 欧美电影免费| 欧美18性精品| 亚洲天堂免费| 精品国产一区二区三区久| 国产精品自拍在线| 精品国产一区二区三区久久久蜜臀| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 成人免费一级纶理片| 天天做人人爱夜夜爽2020| 亚洲精品影院一区二区| 久久精品免视看国产成人2021| 成人免费网站视频ww| 欧美激情一区二区三区在线| 久久99青青久久99久久| 日韩专区在线播放| 免费一级片在线观看| 国产网站免费视频| 欧美大片一区| 人人干人人草| 久久精品人人做人人爽97| 亚洲天堂免费观看| 久草免费在线视频| 韩国毛片免费大片| 亚洲天堂免费| 精品国产亚洲人成在线| 美女被草网站| 日韩一级精品视频在线观看| 99久久精品国产高清一区二区 | 国产伦精品一区二区三区无广告| 美国一区二区三区| 成人免费观看网欧美片| 成人影视在线播放| 久久成人性色生活片| 人人干人人草| 国产a免费观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产一级强片在线观看| 免费毛片播放| 成人影院久久久久久影院| 国产成人欧美一区二区三区的| 欧美激情一区二区三区在线播放| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 欧美国产日韩在线| 99热精品在线| 久久国产精品自由自在| 美女免费毛片| 国产不卡在线看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 亚洲 欧美 91| 国产高清在线精品一区a| 黄色免费网站在线| 亚洲天堂免费| 国产福利免费观看| 四虎影视久久久| 亚洲第一视频在线播放| 国产91丝袜在线播放0| 九九免费高清在线观看视频| 欧美大片一区| 999久久66久6只有精品| 亚洲第一视频在线播放| 日本在线不卡免费视频一区| 国产精品12| 国产精品1024永久免费视频| 成人a大片在线观看| 久久福利影视| 精品视频免费看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 精品在线免费播放| 国产不卡高清在线观看视频| 精品久久久久久综合网| 亚洲第一色在线| 亚洲www美色| 青青久久精品国产免费看| 午夜在线观看视频免费 成人| 国产精品自拍亚洲| 黄视频网站在线观看| 欧美另类videosbestsex高清| 色综合久久手机在线| 成人免费观看男女羞羞视频| 欧美大片毛片aaa免费看| 深夜做爰性大片中文| 久久国产精品自线拍免费| 一级女性全黄久久生活片| 久久国产影视免费精品| 91麻豆国产福利精品| 国产高清视频免费观看| 精品视频在线观看一区二区| 午夜激情视频在线观看| 在线观看导航| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 精品视频在线观看免费| 美女免费精品视频在线观看| 国产精品1024永久免费视频 | 香蕉视频一级| 日韩中文字幕一区| 一a一级片| 91麻豆精品国产综合久久久| 日韩中文字幕在线观看视频| 国产精品自拍在线| 国产视频久久久久| 欧美国产日韩精品| 国产国产人免费视频成69堂| 成人高清视频免费观看| 精品视频在线观看一区二区| 天天做日日爱| 久久精品店| 国产91视频网| 国产精品自拍在线观看| 国产一区二区精品| 高清一级片| 国产麻豆精品hdvideoss| 精品国产一区二区三区精东影业| 二级片在线观看| 久久99爰这里有精品国产| 国产a免费观看| 尤物视频网站在线观看| 国产麻豆精品视频| 欧美一级视频免费| 久久国产精品永久免费网站| 亚欧视频在线| 欧美日本二区| 国产网站麻豆精品视频| 日日日夜夜操| 国产视频久久久| 日韩一级黄色| 欧美a级片视频| 国产不卡福利| 黄色免费网站在线| 国产成人啪精品| 精品久久久久久综合网| 亚欧视频在线| 欧美a级片视频| 九九精品久久久久久久久| 久久99爰这里有精品国产| 九九热精品免费观看| 精品久久久久久综合网| 91麻豆国产级在线| 午夜家庭影院| 国产成a人片在线观看视频| 精品在线免费播放| 黄视频网站在线免费观看| 欧美日本韩国| 日韩免费在线观看视频| 韩国妈妈的朋友在线播放| 免费一级片在线观看| 你懂的日韩| 午夜激情视频在线观看| 日韩在线观看视频免费| 四虎影视精品永久免费网站| 日韩欧美一及在线播放| 国产国语在线播放视频| 韩国三级视频网站| 九九精品影院| 超级乱淫黄漫画免费| 你懂的在线观看视频| 日韩avdvd| 美女免费毛片| 九九精品久久久久久久久| 九九热精品免费观看| 国产伦久视频免费观看 视频 | 99热热久久| 亚洲精品影院一区二区| 麻豆网站在线免费观看| 精品国产三级a∨在线观看| 韩国毛片免费| 国产成人欧美一区二区三区的| 成人免费网站视频ww| 国产伦久视频免费观看 视频 | 亚洲天堂一区二区三区四区| 欧美另类videosbestsex久久| 99热精品在线| 99色精品| 欧美18性精品| 国产一区二区精品在线观看| 国产极品精频在线观看| 国产a免费观看| 韩国毛片免费大片| 四虎影视精品永久免费网站| 欧美大片a一级毛片视频| 黄视频网站免费观看| 久久国产精品只做精品| 日本免费乱理伦片在线观看2018|