從自然數 1 ~ n 中隨機取 m(1≤m≤n)個,其中最大數的數學期望是多少?
兩個邊界是知道的,m=n的時候肯定是n,m=1的時候是(n+1)/2,那其他的m呢?
換另一個思路。
- 把1-n按從左到右順序排列好,然後從中抽出m個數。因為產生了m個空位,那麼剩下的數被分隔為了m+1段。(註:如果數字1被取出,那麼因為1左邊沒有數字了,所以實際上不滿m+1段,但是我們仍然認為在1左邊有一個長度為0的數欄位;如果數字n被取出,同樣認為n右邊有一個長度為0的數欄位;以及如果取出了兩個相鄰的數字,也認為這兩個數字之間夾著一個長度為0的數欄位。)
- 設這m+1個數欄位的長度分別為,由於所有數欄位長度之和為n-m,由對稱性可知:
- 容易發現,取出的m個數字中,從小到大排第k個數字Xk滿足,所以
這與 @Richard Xu和 @王某魚的結果是一致的。
-------------------------------------------------------------------------------
可能上面對稱性的表述不夠好,如果無法理解這裡的對稱性的話,可以再考慮一個等價的模型。
把m個紅球排成一行,這樣形成了m+1個空格(包括相鄰兩球之間的間隔和最左端、最右端的空地)。現在把n-m個黑球隨機放入這m+1個空格中,每個空格中的黑球數也就等價於上文中數欄位長度Li。這樣各個Li之間的對稱性應該更明顯一點。
@Richard Xu 的答案非常好,稍作小改動可以得到從小到大排第的數的期望是
從小到大的第個數取當且僅當在到中取出了個數且在到中取出了個數.
於是.
(注,
這裡其實證明了對一切,, 等一下還要用一次)
.
我來給個史上最不嚴謹的解法吧。。。
首先,期望值E和n的大小應該呈線性關係(a)。從1~100之間取m個數,期望值應該是1~1000之間取m個數的1/10。E~n
其次,m越大,期望值越高。但二次導數應該是負的(b)。m越大,dE/dm越小。有不少連續增加但二次導數是負數的函數,但這題里的答案必須是有理數,所以可以排除log,sqrt。應該是E~1-1/m或者1-1/m^k之類的表達式(c)。
m=1時,期望值E=(n+1)/2。m=n-1時,期望值是n-1/n(只有1/n的可能是max=n-1,其他情況是max=n)。m=1那個邊緣條件讓E=(1-1/m)*g(n)不滿足。但E=m/(m+1)*g(n)滿足。m=n-1那個邊緣條件讓E=m/(m+1)*n不滿足,但E=m/(m+1)*(n+1)滿足。所以我猜答案是E=m/(m+1)*(n+1),結果果然是。
這裡(a),(b),(c)都是小手一揮想出來的。寫答案時別這麼揮。。。
我來發一個利用數列遞推的解答
這題是古典概型的經典之一。
其他人把無放回抽m個數的情況說清楚了。
其實還有有放回的情況,也可以推廣至求第k大的數的期望的問題。
理論上,有放回的情況用順序(次序)統計量可以完美地解決。然而這種離散的情況其實並不需要算分布函數,利用排列組合就可以直接把概率寫出來算期望了。果然知乎牛人多。
其實在問這個題之前我也大概猜出了答案,也算是不嚴謹的解法+1吧~
解決辦法就是寫個程序然後硬算:
對於n=1~100,m=1~100的情況,每種情況重複500次試驗,得到的結果是這樣的:
發現無論n等於多少,曲線都似乎是相似的,於是果斷取出n=100的所有數據點,進行函數擬合:
於是乎大概就是這個樣子……
算是給概率論沒學好的同學們提供個思路吧~
和高票答案差別不大,不過用的另一個方法:positive random variable可以用對1-cdf求和的方式來算期望
我也來個不嚴謹的吧,我感覺好理解.我第一想到的是m=1時 期望是均值, 那麼很可能m=2時 最大值是1-n的2/3處.所以我蒙的就是[m/(m+1) ]* (n+1).那麼最k大的期望也就是[k/(m+1)]*(n+1)
推薦閱讀: