阿里巴巴筆試題集第23題及分析-創(chuàng)新互聯(lián)

題目:一個骰子, 6 面, 1 個面是 1 , 2 個面是 2 , 3 個面是 3 , 問平均擲多少次能使 1 、 2 、 3 都至少出現(xiàn)一次。

貴南網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),貴南網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為貴南上千多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的貴南做網(wǎng)站的公司定做!

方法: 面對面試概率題幾乎屢試不爽的分叉樹遞歸列方程法。

這是一個求數(shù)學(xué)期望的問題,最終是求 1 , 2 , 3 出現(xiàn)至少一次的最短長度的期望。

這樣分叉樹的每個節(jié)點是一個期望狀態(tài),而每個分叉是一次投擲結(jié)果。將后續(xù)期望出現(xiàn) 1 、 2 、 3 各至少一次的情形記作 L 123 (即題目所求),將后續(xù)期望出現(xiàn) 1 、 2 各至少一次( 3 無關(guān))情形記作 L 12 ,而 1 至少一次( 2 , 3 無關(guān))情形 L 1 ,其余數(shù)值符號類推,則樹結(jié)構(gòu)如下(列出 4 級結(jié)構(gòu)已經(jīng)足夠):

阿里巴巴筆試題集第23題及分析

阿里巴巴筆試題集第23題及分析?

接下來,就是要排出方程,因為一共 7 個未知數(shù),如果排出 7 個線性方程就能解決問題。
在此我向大家推薦一個架構(gòu)學(xué)習(xí)交流圈。交流學(xué)習(xí)企鵝群號:948368769(里面有大量的面試題及答案)里面會分享一些資深架構(gòu)師錄制的視頻錄像:有Spring,MyBatis,Netty源碼分析,高并發(fā)、高性能、分布式、微服務(wù)架構(gòu)的原理,JVM性能優(yōu)化、分布式架構(gòu)等這些成為架構(gòu)師必備的知識體系。還能領(lǐng)取免費的學(xué)習(xí)資源,目前受益良多

這方程組里的未知數(shù)對應(yīng)上述的狀態(tài),而其數(shù)值則是一個對長度(投擲次數(shù))的數(shù)學(xué)期望。

根據(jù)這個樹狀結(jié)構(gòu)和其中的遞歸關(guān)系,這個方程組就是:

L 123 ? = p 1 ? (L 23 + 1) + ? p 2 ? (L 13 +1) + p 3 ? (L 12 ? + 1) = p 1 ? L 23 ? + p 2 ? L 13 +? p 3 ? L 12 ? + 1

(以這個 L 123 為例,解釋,投擲 1 的概率是 p 1 而由此得到的結(jié)果是需要期待后續(xù) 2 和 3 各至少出現(xiàn)一次,于是長度期望是 L 23 + 1 ,加 1 是因為投擲了一次,亦即即增進一級)

L 23 ? = ? p 1 ? L 23 ? + p 2 ? L 3 +? p 3 ? L 2 ? + 1

L 13 ? = ? p 1 ? L 3 ? + p 2 ? L 13 +? p 3 ? L 1 ? + 1

L 12 ? = ? p 1 ? L 2 ? + p 2 ? L 1 +? p 3 ? L 12 ? + 1

L 1 ? = p 1+p 2 ? L 1 +? p 3 ? L 1 ? + 1

(這里實際上是 ? L 1 ? =p 1 ? ·1 + p 2 ? (L 1 + 1) + p 3 ? (L 1 ? + 1) ? = p 2 ? L 1 +? p 3 ? L 1 ? + 1 ,因為對 L 1 情形,如果投了 1 就目的達到終止了)

L 2 ? = p 2+ p 1 ? L 2 ? +? ? p 3 ? L 2 ? + 1

L 3 ? = p 3+ p 1 ? L 3 ? + p 2 ? L 3 + 1

(以上一開始沒注意,多加了懸空的概率項,故計算有誤)

其中 ? p 1 , p 2 ? 和 ? p 3 分別是擲出 1 , 2 和 3 的概率,即 1/6 , 1/3 , 1/2 。

于是求解這個方程,得到:

L 1 ? = 6 , ? L 2 ? = 3 , ? L 3 ? = 2

L 12 ? = 7 , ? L 13 ? = 13/2 , ? L 23 ? = 19/56

L 123 ? = ? 219/30 = 7.3 ?259/36 ~= 7.14

故以上如果沒有計算錯誤,該題結(jié)果是,平均擲 7.3 ?7.14次可出現(xiàn)這些面值各至少一次。

【另一解法】感謝 4 樓 aaaxingruiaaa 同學(xué)提供的答案(指示器變量法),整理如下:

定義隨機變量 X n ,其可能值為 0 或 1 ,其值為 1 表示 “ 前 n 次擲骰子, 1 , 2 , 3 沒能都至少出現(xiàn)一次 ” 的事件,其值為 0 表示這個事件沒有發(fā)生,即 “ 前 n 次擲骰子, 1 , 2 , 3 各至少出現(xiàn)一次 ” 。

令 p n 為 “ 擲 n 次骰子, 1 , 2 , 3 沒能都至少出現(xiàn)一次 ” 的概率,所以顯然 p n ? = Pr{ X n =1} ,于是 p n ? = 1·Pr{ X n =1} + 0·Pr{ X n =1}?= E[ X n ] ,即這個隨機變量的數(shù)學(xué)期望。

令隨機變量 X 表示 1 , 2 , 3 剛好全部出現(xiàn)過需要的投擲次數(shù)。可見題目要求的就是 E[X] 。

關(guān)鍵等式: X = ? Sigma (n=0 to ? Inf; ?X n )??? (這里 Sigma 是求和號,求和范圍是 n 從 0 到無窮大)

說明一下,等式兩邊都是隨機變量,假設(shè)對于某個隨機實例(例如,這里指一次具體的投擲序列),其對應(yīng)事件是: “ 投了 K 次恰好 1 , 2 , 3 都出現(xiàn)了 ” ,于是等式左邊顯然等于 K ;而等式右邊,對于 n < K ,由于這些項的對應(yīng)定義事件發(fā)生了(即 1 , 2 , 3 沒能出現(xiàn)),所以他們的實例值是 1 ,而對于 n?K ,則由于對應(yīng)定義事件都沒發(fā)生,實例值為 0 ,可見這個和也是 K 。故兩側(cè)相等。(為了達到這個相等關(guān)系,可以看出需要把 X 0 包含在內(nèi)的必要性)

值得注意的是(但對于解這道題也可以不去注意,但注意一下有利于比較深入地理解),對 n < 3 , X n 顯然恒為1。而對于 n?3 ,這些隨機變量不是獨立的。他們的相關(guān)性是不容易求出的,唯一容易知道的是,當(dāng)序列中一個項為 0 時,其后的項均為 0 。好在對于這題我們不需要擔(dān)憂這個相關(guān)性。

由于數(shù)學(xué)期望的加性與隨機變量的相關(guān)性無關(guān)(這是數(shù)學(xué)期望一個很令人高興的性質(zhì)),所以即便這樣, E[X] 也能容易求出:

E[X] = ? Sigma (n=0 to Inf; E[ X n ] ) =? Sigma (n=0 to ? Inf; ? p n )

p n 的比較直觀的求法也由 aaaxingruiaaa 同學(xué) 提供了,即所謂容斥原理。稍微解釋一下,由于 p n 考慮的是 n 次投擲三者沒有全部出現(xiàn),于是就是其中兩者出現(xiàn)或僅一者出現(xiàn)。假設(shè)單次投擲 1 , 2 和 3 出現(xiàn)的概率分別為: r 1 , r 2 和 r 3 。于是 ( r 1 + r 2 ) n 表征 n 次投擲只出現(xiàn) 1 或 2 的概率,這其中包括了出現(xiàn)全 1 和全 2 的情形,于是求 p n 可由這樣的項求和并剔除重復(fù)計算的單面值情形,于是:

p n ? = ( r 1 + r 2 ) n + ( r 1 + r 3 ) n + ( r 2 + r 3 ) n - r 1 n - r 2 n - r 3 n ,當(dāng) n > 0 ; ? 而 p 0 ? = 1 (由定義;同時也可以檢驗看出,這個 p n 在 n 為 1 和 2 的時候都是 1 )

于是由等比級數(shù)(等比數(shù)列求和)公式:

E[X] = ? 1 + Sigma (n=1 to Inf; ( r 1 + r 2 ) n + ( r 1 + r 3 ) n + ( r 2 + r 3 ) n - r 1 n - r 2 n - r 3 n = 1 + (1 - ? r 3 ) /? r 3 ? + (1 - ? r 2 ) / ? r 2 ? + (1 - ? r 1 ) / ? r 1 ? - ? r 1 ? /?(1 - ? r 1 ) - ? r 2 ? /?(1 - ? r 2 ) - r 3 ? /?(1 - ? r 3 ) = 7.3

【程序仿真】

以下程序進行一千萬輪投擲的仿真,結(jié)果基本在 7.3 周圍。至此此題答案 7.3 毫無疑問了。

[csharp]view plaincopy

static ? void ?Main( string []?args)?? 
{??
????Random?rand?=?new ?Random();?? 
????int []?diceSurfaces?=? new ? int [6]?{?1,?2,?2,?3,?3,?3?};??? //?6個面 ?? 
????int ?nRounds?=?10000000;? //?投擲輪數(shù) ?? 
????long ?totalTimes?=?0;???? //?所有輪中投擲數(shù)加起來的總投擲次數(shù) ?? 
????for ?( int ?iRounds?=?0;?iRounds?<?nRounds;?iRounds++)?? 
????{??
????????bool []?occurred?=? new ? bool [3]?{? false ,? false ,? false ?};?? //?各面值出現(xiàn)標記 ?? 
????????int ?sumPicked?=?0;?? //?出現(xiàn)不同面值個數(shù) ?? 
????????int ?times?=?0;?? 
????????for ?(;?;?)?? 
????????{??
????????????int ?iSurface?=?rand.Next(6);?? 
????????????int ?value?=?diceSurfaces[iSurface]?-?1;?? 
????????????times++;??
????????????if ?(!occurred[value])?? 
????????????{???//?出現(xiàn)新面值 ?? 
????????????????occurred[value]?=?true ;?? 
????????????????sumPicked++;??
????????????????if ?(sumPicked?==?occurred.Length)?? 
????????????????{???//?全部出現(xiàn),結(jié)束此輪 ?? 
????????????????????break ;?? 
????????????????}??
????????????}??
????????}??
????????totalTimes?+=?times;??
????}??
????Console.WriteLine("average?number?of?times?=?{0}" ,?(( double )totalTimes)?/?nRounds);?? 
}??

阿里巴巴筆試題集第23題及分析

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。

網(wǎng)站名稱:阿里巴巴筆試題集第23題及分析-創(chuàng)新互聯(lián)
標題路徑:http://muchs.cn/article14/dscgge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計微信公眾號、小程序開發(fā)、電子商務(wù)網(wǎng)站設(shè)計公司、品牌網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護公司