最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

如何拋雙面硬幣模擬三分之一的概率?

2023-05-23 00:37 作者:伊洛畿戎  | 我要投稿

上面的標(biāo)題只是用來吸引讀者的極簡特殊場景,本文真正要討論的問題其實更普遍:如何只用單個二分之一概率發(fā)生器(對半分概型),模擬出任意有理數(shù)概率?

先把問題具體化:設(shè)用n次硬幣模擬概率p;其中n∈Z+,即為正整數(shù),n>0;p=q/r,而其中q,r∈Z+∧q<r,即q和r都是正整數(shù),而q小于r,0<q<r,r≥2,還有q和r互質(zhì),q⊥r;這樣就保證了p∈Q∩(0,1),即p是非零暨非一的有理概率,0<p<1。
應(yīng)該指出,這個概率問題可以有兩種分支情況,一種是排列,而另一種是組合。
在排列分支中,硬幣的每次投擲都有自己的獨特位置,互相之間并不等價,結(jié)果也不能互相替換。投擲后假設(shè)能立即讀取出當(dāng)前次數(shù)的特定結(jié)果,對結(jié)果的統(tǒng)計加和反而需要耗費時間和精力。
而在組合分支中,每次投擲都是等價的。假設(shè)能得到的結(jié)果只有正反兩面的總數(shù),而且有很方便的統(tǒng)計機器可以自動立即得到,而無法清點得到特定次數(shù)的信息。換句話說,單次的信息在統(tǒng)計后,因為缺少記錄已經(jīng)損失,無法再得到了。
再比較自主地理清以下三組概念:
一、n次的隨機試驗,其所有基本結(jié)果的集合稱為樣本空間,定義為全集E。
二、可以按照選擇的一個指定標(biāo)準(zhǔn),對特定的基本結(jié)果,在承認(rèn)和排斥中二選一。對基本結(jié)果來說,前者屬于統(tǒng)計樣本,定義為母集M;而后者屬于無效樣本,定義為補集U。這樣就將全集劃分成了兩塊,即E=M⊕U,也可以說是U=E\M。
三、與二同理,可以再選擇一個指定標(biāo)準(zhǔn),將統(tǒng)計樣本劃分成事件發(fā)生,定義為子集S;和事件不發(fā)生,定義為偏集D;即對應(yīng)M=S⊕D,和D=M\S。
默認(rèn)以上集合都非空。綜上所述,主要就是構(gòu)造E=S⊕D⊕U,還有S?M?E這種結(jié)構(gòu),最詳細(xì)的示意請看下圖:

(1)若為排列分支,則可以給n次投擲按時間從前到后的順序,從1,2,...到...,n各自編號。在默認(rèn)已經(jīng)規(guī)定好正反面的前提下,用正面結(jié)果對應(yīng)1,用反面結(jié)果對應(yīng)0,用硬幣編號對應(yīng)從大到小的位次,生成一個n位二進制數(shù)B(n)。由此可得,全集為所有可能的n位二進制數(shù),即E={B(n)|0≤B≤2^n},∴Card(E)=2^n。

那么對于問題給定的p=q/r,就很方便生成實驗方法了。選取任意一個滿足2^n≥r,即n≥log(2,n)的正整數(shù)n(若要最節(jié)省時間,則應(yīng)選取該系列n中最小值)。然后規(guī)定選擇標(biāo)準(zhǔn):S={B(n)|0≤B≤q-1},D={B(n)|q≤B≤r-1},D={B(n)|r≤B≤2^n},∴Card(S)=q,M=S⊕D={B(n)|0≤B≤r-1},Card(M)=r。這時已經(jīng)可以統(tǒng)計出子集在母集中的占比是P(S|M)=Card(S)/Card(M)=q/r=p,但為了用古典概型將其轉(zhuǎn)化為事件概率,還需要一個遞歸發(fā)生機制,如下圖:

很簡單的做法,在得到補集中的結(jié)果后,直接判定為無效樣本,重復(fù)實驗直到再次得到統(tǒng)計樣本為止。這樣排除了之后,就能宣布在統(tǒng)計中事件的概率為p。

還可以計算進行一次有效隨機所需的平均投擲次數(shù)是:單次實驗的硬幣投擲次數(shù)除以該次實驗有效的概率,即為o=n/[Card(M)/Card(E)]=(n*2^n)/r。若n取得最為節(jié)省,則有 2^(n-1)<r ≤ 2^n,故 n ≤ o<2n,其中o當(dāng)且僅當(dāng)r為2^n時取n,即 o=n?? r=2^n 。在這種線性雙倍內(nèi)的節(jié)省中,時間復(fù)雜度的代價基本可以忽略不計。

(2)若為組合分支,則實驗加和服從二項分布,定義得更清晰即為s~B(n,1/2)。則每個s的取值m對應(yīng)的基本情況數(shù)都可以表示為Card{s=m}=C(m,n)=(m!)/[n!(m-n)!](其中m=1,2,...,n),故其概率可表示為P{s=m}=C(m,n)/2^n=(m!)/[n!(m-n)!(2^n)]。而對E={s=m,?m=1,2,...,n},有P(E)=Σ(m)P{s=m}=1。

對于足夠大的甚至趨于無限的n→∞來說,能否在E中劃分出合適的M和S,使得P(S|M)=p,可能是一個非常難的大問題(也許在數(shù)學(xué)界中已經(jīng)有人發(fā)現(xiàn)、嘗試甚至解決了,只是孤陋寡聞的我搜不到)。

但至少已知一種非常粗暴的方法去模擬任意q=1的p=1/r型概率:令n=r-1,取S={s=0},D={s=1},則由C(0,n)=1,C(1,n)=r-1,M={s∈{0,1}}得,Card(M)=C(0,n)+C(1,n)=r,故P(S|M)=1/r=p。這種簡單方法的代價就是成本也很大,尤其是在n隨r變大的時候。由o=(n*2^n)/r=(2^n)*n/(n+1)=2^n (n→∞)得,這時討論時間復(fù)雜度呈指數(shù)形式增長是有意義的,即o=O(2^n)。

這為接下來處理?p=q/r,打下了引入更野蠻狂暴方法的基礎(chǔ):將實驗E分為E1和E2兩種,使用兩者的貝葉斯后驗概率之積來平衡。令E1的n1=r-1,M1=E1即任何基本結(jié)果都能被承認(rèn),也即{s1=m}中可以取遍m=0,1,...,r-1,而把S1收窄到取m=0,...,q-1。由M1=E1={s1=0,1,...,r-1},和S1={s1=0,...,q-1},得Card(s1,M1)=Card(s1,E1)=r,Card(s1,S1)=q,而要對s1使用古典概型,還需要E2從中插入,使其分布平均化。無論E1的結(jié)果{s1=m}中取什么值,都令E2的n2=Card{s1=m}-1=C(m,n1)-1=(m!)/[n1!(m-n1)!]-1,再指定S2={s2=0}和D2={s2=1},則易得其事件概率為p2=P(S2|M2)=1/C(m,n1)=[n!(m-n1)!]/(m!)。

現(xiàn)在規(guī)定具體的插入流程為,做完一個E1,除非m=0的情況下不用做E2直接劃分M1,否則要不停地做其對應(yīng)的E2(m),直到遇到第一次符合的M2(m)為止,這樣一系列可統(tǒng)計估計o(m)≈o2(m)=O[2^C(m,n1)];如果是其中的S2(m),則再檢查M1中是否為S1,若都是才能以S=S1×S2,平行交叉出一次成功的事件,若到這里了不是才能以D=D1×S2,記作一次生成器整體的真正失??;要若為其中的D2(m),則直接跳到下一次E1,不必再檢查M1的劃分;做完了這些才能回到下一個E1及其相應(yīng)的下一批E2。又由p1(m)=C(m,n1)/2^n1,p2(m)=1/C(m,n1),得p(m)=p1(m)*p2(m)=1/2^n1=2^(-n1),?m=0,1,...,r-1,即抵消到互相均等,p{s1=m}平均化分布,這樣才能使得從m中篩選滿足p=q/r。粗糙的示意圖如下:


如何拋雙面硬幣模擬三分之一的概率?的評論 (共 條)

分享到微博請遵守國家法律
正定县| 碌曲县| 澄江县| 郧西县| 贵港市| 栾川县| 临猗县| 西乡县| 渭源县| 牟定县| 镇巴县| 郎溪县| 大名县| 鄯善县| 周宁县| 宾川县| 彭泽县| 武穴市| 兴化市| 武威市| 日照市| 苏尼特左旗| 开远市| 博爱县| 泊头市| 习水县| 西乌珠穆沁旗| 澳门| 诏安县| 陆丰市| 库伦旗| 齐齐哈尔市| 苗栗市| 萍乡市| 剑河县| 涿州市| 抚宁县| 阳谷县| 西乡县| 旺苍县| 岚皋县|