《中國有嘻哈》雙冠軍概率怎麼算出來的?

看了總決賽,雙冠軍的概率為什麼數量級會那麼大。

和朋友討論了一下覺得不應該啊,這到底咋算出來的?

=======================================

給不了解背景的同學補充下信息:

投票規則是100名大眾評委每人可以投一票,三組導師每組有50票,可以任意分配給兩位選手,比賽的最終結果為125:125, 需要計算這種平票情況出現的概率。


其實就是100位rapper,每人非a即b,共有2的100次方種組合。每個導師50分從0比50到50比0共有51種分配方式,所有組合數為2的100次方乘51乘51乘51。其中考慮a恰好分到125票的情況。首先假設100rapper平票,組合數為c50 100,剩下的3位導師的情況其實就是解3元一次方程組a+b+c=75,再刪去a b c任一變數大於50的情況,解的數量乘前面的c50 100就行,以此類推,如果49比51,三位導師就是76。 51比49,三位導師就是74,,,,,直到0比100或100比0,導師就是125或25。思路大概就是這樣,具體計算可以通過編程實現,由於我不會編程,所以就不計算了,,,,不過由於2的100次方就已經達到了1.26乘10的30次方了,最後給的概率是1.4乘10的18分之一感覺還是靠譜的


概率是 0.0504
簡化模型,總共250票,每個人選pgone和gai的概率都是50%(雖然我知道掃把頭肯定會選gai)
所有的可能 : 2^250
250票中選125票投給pgone 的組合: C(125,250)
雙冠概率 : C(125,250)/(2^250)

windows計算器可以輸入下列公式進行計算:
(fact(250) / (fact(125) * fact(125))) / (2^250)
結果大概是 0.0504

不是特別確定,歡迎大家討論指正
----------------------------------------
另外可以從另一個思路對這個概率有個粗略的判斷,首先會出現 251種最終結果,0:250 1:249…… 250:0。125:125肯定是其中概率最大的,所有結果的概率拉出來應該類似於正態分布,那麼雙冠概率應該大於1/251,節目組說是多少億分之一,我立馬想到應該是錯誤的。


我知道問題出在哪了,那就是選手的得票概率

包括我在內的回答都默認兩名選手的得票率是50%,但節目組呢?

我們設A選手的得票率為x,B選手的得票率為1-x,那麼,在導師的票也用二項分布的模擬的情況下,就會是:

C(125,250)*[x*(1-x)]^125=1.44*10^-18

最後的結果x≈0.756

也就是說,節目組認為,A選手的得票率應該是B選手的大概3倍,結果卻是平局,所以這個情況的出現率就是10億億分之一啦

=========以下錯誤答案====================================

問題主要在於三個導師的投票的分布。
100個大眾評委肯定是二項分布,這個沒異議
如果三個導師的票是均勻分布,那麼就不影響結果,平局的概率就是C(50,100)*0.5^100≈0.0796

但兩個選手實力相近,導師的票就應該也是趨於平分的,那麼就也用二項分布來模擬,那麼其實就是250個大眾評委,平局的概率就是C(125,250)*0.5^250≈0.05


用膝蓋想也知道,雙冠軍概率大於1/251。

一共就251種情況,中位數概率還是最高的,打平概率至少1/251啊

修改線------貌似是251種....不能用膝蓋想啊


得票數最高的演算法是對的,導師只有51中選擇,然後寫了下代碼計算了一下,發現結果還是很接近的。

照理先上結果:

代碼如下:

func Cnm(n, m int) int {
if m &<= 0 {
return 1
}
a := 1
c := 1
for i := 1; i &<= m; i++ {
a *= n
c *= i
n--
}
return a / c
}

func TestHiphop(t *testing.T) {
rapperCount := 100
wu := 50
pan := 50
dog := 50
finalVotes := 125
kinds := big.NewInt(0)
rapperKinds := big.NewInt(0).Exp(big.NewInt(2), big.NewInt(100), big.NewInt(0))
mentorKinds := big.NewInt(0).Mul(big.NewInt(51), big.NewInt(3))
totalKinds := rapperKinds.Mul(rapperKinds, mentorKinds)

for i := 0; i &<= rapperCount; i++ {
for j := 0; j &<= wu; j++ {
if i + j &> finalVotes {
break
}
if i + j &<= finalVotes i + j + pan + dog &>= finalVotes {
if finalVotes - i - j &> dog {
kinds.Add(kinds, big.NewInt(int64(Cnm(rapperCount, j) + dog - (finalVotes - i - j) % dog + 1)))
} else {
kinds.Add(kinds, big.NewInt(int64(Cnm(rapperCount, j) + finalVotes - i - j + 1)))
}

}
}
}

fmt.Println("equal kinds:", kinds)
fmt.Println("total kinds:", totalKinds)
fmt.Printf("probability: 1/%v
"
, totalKinds.Div(totalKinds, kinds))
}


全憑吳老師力挽狂瀾啊!這有個破雞巴概率啊!吳老師表示你不讓我護犢子,我就讓你玩犢子!


「……不過由於2的100次方就已經達到了1.26乘10的30次方了,最後給的概率是1.4乘10的18分之一感覺還是靠譜的……」

樓主 一個分數有兩個元素,除了分母 還有 分子 ……


由於0.0504>0.05,故不能拒絕原假設。即,在5%的顯著性水平下,不能認為平局的出現是節目組操縱的結果。


先算100位rapper的

把100位rapper用數字1到100代替

假設全投給gai或pgone 所以兩種結果

假設gai只有一票(1或2或3投給gai 其他給pgone 所以有100種結果) 反之 算投給pgone也是100 所以是兩百種結果

假設gai兩票(1 2投或1 3投 有99種結果 然後2 3或2 4或2 5有98種 所以總結果是98+97+...+3+2+1=4950種)pgone也是 所以4950*2=9900種

假設gai三票(1 2 3或1 2 4這類12開頭的有98種 1 3 4,1 3 5這類13開頭的97種 所以1開頭的就有4851種 到2開頭的有4753種 一直到98 99 100的一種 一共是161700種可能性) 所以pgone和gai兩個人就是323400種

突然發現已經三點半了 明天還要上課之後的就不列了
不過到一個人三票的時候已經三十多萬種結果了 後面到四票五票的話結果更多種 所以我覺得節目組的10億億分之1應該也差不了多少

算了 反正也沒人看的


代表節目組送廣大觀眾一段freestyle:

雙冠軍概率十億億分之一,

廣大無腦觀眾瞎質疑。

論概率華少可是老司機,

你們不懂就管好你們自己。

到底結果被誰內定,

彈幕里全都是水軍。

100人rapper投票難追平,

製作人打分來配平。

-----------------------------------------------------------------------------------

真正結果大概是百分之幾的概率,計算過程樓上幾位都說的很清楚了。

即使真的有那麼誇張,難道就憑華少能當場算出來?即使是真的概率,也可以說明了一切都是導演出來的,結果就像台詞一樣報出來了。

即使是說在開賽前,所有選手實力為止,pg one與gai共同獲得冠軍的概率也不止那麼點。

總之就是口胡罷了。畢竟rap嘛,要有些激情,少些理性。


我還是認真算了下的

思路如下:

一共250張票,就存在0:250——250:0 一共251 種可能,拋開現場情況以及各種關係內幕的影響,這251種可能肯定是成正太分布的。

按照標準的正太分布函數 打平的曲線就是X=μ 的時候【不懂的自己回去看高等數學】

這裡μ是定值125 所以決定打平概率的值就是σ

結果為:1/ (√(2Π))/σ

標準狀態 σ 取1時候 39.9%

極限狀態 σ 取250時候 0.16%

怎麼算都算不到億的,只能說明 嘻哈在中國還是文科生玩的比較多


我猜他們使用屁股算出來的


推薦閱讀:

「墨菲定律」可以被證明嗎?
如何看待郭敬明《爵跡》里:「他的天賦技能攝魂最低的成功率是50% 也就是說兩次攝魂必有一次成功 」?
(1-x)^n 在x<<1 的情況下 能近似為 1/2*n(n-1)*x^2-nx+1 么?為什麼?
拋硬幣直到出現正面為止,實驗停在奇數次的概率是多少?
算算本題中A獲勝的概率?

TAG:數學 | 概率 | 中國有嘻哈綜藝節目 | PGONE |