[問題] 用R模擬猜拳賭博

作者: empireisme (empireisme)   2017-04-18 22:43:12
R的初學者
想用R來模擬一個賭博方式
規則如下
本金1000000元
跟對方玩剪刀時頭布
如果贏對方的話
可以得到100元
如果輸或跟對方平手的話給對方100元後
下次變成賭300元
之後再跟對方玩一次剪刀石頭布
如果贏就不玩了
如果輸或平手
就再賭900元
總之就是如果輸了 就賭上次賭額的3倍
想要R模擬破產的機率是多少
wealth=1000000
a=sample(1:3,1)
if(a==1)
{
c=wealth+100
print(c)
}
if(a!=1)
{
print(wealth-100)
}
這是我想的程式碼
目前以為要用for 或是while來用
但是沒有頭緒
懇請版友幫忙
作者: f496328mm (為什麼會流淚)   2017-04-18 23:09:00
這應該可以直接用數學推導吧?程式跑到機率會不準
作者: celestialgod (天)   2017-04-18 23:25:00
其實次數很大的時候就會很接近真實值/重複 這好像叫做Monte-Carlo Method像是模擬pi也是生成兩個0~1的隨機變數看它們落在直徑為1的圓裡面之比例比例會很接近pi/4當重複生成的隨機變數極多的時候matrix(runif(2e6), ncol = 2) %>>% `^`(2) %>>%rowSums %>>% `<=`(1) %>>% mean大概是 0.785525,而pi/4是0.7853982生成4e7個話是0.7853596至於原PO這應該是作業,請善用while + ifelse去做while條件是贏了不玩跳出條件是財產<0,然後重複幾百萬次,count破產數
作者: empireisme (empireisme)   2017-04-19 11:04:00
謝c大,不是作業啦
作者: Wush978 (拒看低質媒體)   2017-04-19 16:44:00
作者: laxatony (laxatony)   2017-04-20 00:12:00
閣下在實驗馬丁格爾的另一種形式嗎 XD

Links booklink

Contact Us: admin [ a t ] ucptt.com