[問題] 亂數問題(更改)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Dev C++ 4.9.9.2
就我自己曉得的電腦亂數 rand()
是一張亂數表為底,在亂數種子未重設之前
它在這張表中依序取出數字出來當做亂數
因為我現在是想透過電腦模擬來驗證數學結果
數學結果是 "最理想" 的狀態下的期望值結果
但是不論我怎麼試,模擬的結果似乎都無法做到以上的這點
因為模擬結果 dependent on random table
例如:
兩張只含有 8 個 0, 1 亂數的亂數表 A, B, C,
A: 1 1 0 1 0 0 0 1
B: 1 1 0 1 0 0 1 0
C: 1 1 1 1 0 0 0 0
三表都各含 4 個 0、4 個 1,從這三表去取出來的數滿足 P(A)=P(偶)=0.5
如果遊戲規則訂為
"投入1$,取兩數,若是一奇一偶則多得 1$,反之 1$ 就沒了。"
就數學的角度,在公平的遊戲中,機率為 P(奇 & 奇)=P(奇 & 偶)=P(偶 & 奇)=P(偶 & 偶)=0.25。
就電腦亂數表的角度,頭尾相接持續取亂數
A 表滿足以上各 Case 機率=0.25 的性質=================> P(+分)=P(-分)=4/8
B 表 n(奇&奇)=1、n(奇&偶)=3、n(偶&奇)=3、n(偶&偶)=1 => P(+分)=6/8, P(-分)=2/8
C 表 n(奇&奇)=3、n(奇&偶)=1、n(偶&奇)=1、n(偶&偶)=3 => P(+分)=2/8, P(-分)=6/8
用這三張亂數表去做這個遊戲的模擬
那 A 表的顯示遊戲公平(與數學結果相同),B 表顯示玩家得利,C 表顯示莊家得利
Q:原表亂數 equally likely 不能 implies 帶出來的遊戲模擬結果也是 equally likely 的吧?
那在模擬時要怎麼辦? 先做出滿足條件的亂數表? 還是這兩數各給一張表?
希望版大們能給點意見~
腦筋打結時容易鑽牛角尖,版大們也可以當我胡思亂想。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.165.185.171
※ 文章網址: http://www.ptt.cc/bbs/Programming/M.1408515924.A.23D.html
※ 編輯: hexjacal (1.165.185.171), 08/20/2014 14:26:46
推
08/20 22:20, , 1F
08/20 22:20, 1F
→
08/20 22:21, , 2F
08/20 22:21, 2F
→
08/20 22:22, , 3F
08/20 22:22, 3F
→
08/20 22:22, , 4F
08/20 22:22, 4F
→
08/20 22:23, , 5F
08/20 22:23, 5F
→
08/20 22:24, , 6F
08/20 22:24, 6F
推
08/20 22:55, , 7F
08/20 22:55, 7F
→
08/20 22:55, , 8F
08/20 22:55, 8F
→
08/21 11:27, , 9F
08/21 11:27, 9F
推
08/21 17:30, , 10F
08/21 17:30, 10F
→
08/21 17:30, , 11F
08/21 17:30, 11F
※ 編輯: hexjacal (114.26.137.84), 08/21/2014 23:48:00
推
08/22 20:32, , 12F
08/22 20:32, 12F
→
08/22 20:34, , 13F
08/22 20:34, 13F
→
08/22 20:35, , 14F
08/22 20:35, 14F
推
08/22 20:41, , 15F
08/22 20:41, 15F
→
08/22 20:41, , 16F
08/22 20:41, 16F
Programming 近期熱門文章
PTT數位生活區 即時熱門文章