[问题] 用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