|
高赞答案大多有些问题,这里略微正一下视听……
这是一道经典的随机过程中random stoping time的问题,其实题目有一些不太合理,比如说如果假设毙命的效用是负无穷,那么理性玩家的确是不可能参与游戏的。
另外如果事件独立,那么每一期的决定理论上是和上一期无关的,玩家的确有一个期望是如果连续玩这个游戏玩到第几期会死掉的概率是多少。但是每一局游戏开始的时候玩家做决策的时候会把每一期都当成是第0期,因为今天死亡的概率并不受到之前的概率结果的影响,这也是布朗运动的基本思想。
所以在设定的情况下,人每一期的决定是固定的,如果没有风险偏好那么便取决于每一期的期望收益,期望收益为正则始终参加,期望收益为负则永远不会参加。我们现在假设生命有一个价值,失去生命会给我们带来负的经济影响 。那么这个时候中性风险偏好下期望值是 其中 是毙命的概率。
有些人说到人对于风险是有偏好的,那么实际上我们也可以假设一个效用函数 , 并且 。来模拟这种效用,那么这个时候期望效用是 。
然而这一切都不是回答问题的关键,甚至并不重要。事实上这个问题如果要完整,并且有意义,应该是下面的样子。
我们假设游戏是这样子的:
每一期 进行一次游戏, 每次游戏都有一个概率 失败,胜利将会获得奖金 , 每失败一次失败将会损失巨额财产 , 不随着时间而变化;当总资金低于0块钱的时候,玩家因为负债被高利贷枪毙,失去生命;玩家的金钱状态是 ,初始资金是0块钱,有 ;游戏的出局条件是,玩家赢得超过其生命价值 的奖金,或者失去所有金钱。
在这样的游戏下玩家每一期是否继续的策略不但取决于当期的期望收益,并且取决于自己当期的状态变量:自己上一期结束后手上还剩余多少钱 ,距离出局还有多远。
在这样的假设下我们如果假设 , , , 。那么这个情况下,如果初始资金 为0,不计后果不停进行游戏的话,平均大概多少局以后会出局,真正获得胜利的概率又是多少呢?
我简单写了个R的小程序来模拟一下:
set.seed(123)
p=0.01
lifevalue=10000
n_sim=100000
R=50
L=50000
start=0
count=rep(start,n_sim)
money=rep(start,n_sim)
for (i in 1:n_sim)
{
while (money>=-0.1&money<=lifevalue)
{u=runif(1)
count=count+1
money=ifelse(u>p,money+R,money-L)
}
}
mean(count)
plot(density(count))
quantile(count,probs=seq(0,1,0.05))模拟10万次之后结果如下:
0启动资金的条件下,平均来说大概87局以后游戏会结束;大多数情况下游戏都会以结束生命的方式结束,10%的情况下可以获得最后的胜利;
> mean(count)
[1] 86.83792
> plot(density(count))
> quantile(count,probs=seq(0,1,0.05))
0% 5% 10% 15% 20% 25% 30% 35% 40% 45% 50% 55% 60% 65% 70% 75% 80% 85% 90% 95% 100%
1 6 11 17 23 29 36 43 51 60 70 80 92 105 121 139 161 190 201 201 201 当然这样的模拟另一方面也充分说明了,如果启动资金多一点的话,就算玩这种掰命的游戏,死得也会慢一点……
另一个有趣的现象是观察结束次数的分布情况,分布呈现两集分化状,玩这种游戏要不就是猝死,如果不猝死的话,事实上真正获得胜利的概率还是高于10%的……
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|