东邪 发表于 2013-1-28 13:43:34

骰子游戏

puzzleup竞赛第11题
http://www.puzzleup.com/2012/puzzle/?252

你和朋友正在玩一个投掷两个标准骰子的游戏。如果连续两次出现7你就获胜;如果连续三次出现递增结果则你的朋友获胜。任意一方胜出则游戏终止。你获胜的概率是多少?答案以简化分数表示,比如12/23

例如:如果 10,4,6,6,7,7 你赢,如果 7,3,7,9 你的朋友赢。

编程可以得到近似值,如何得到用分数表示的精确值?

mathe 发表于 2013-1-28 21:38:14

构造一个不超过36阶的状态转移图即可。
其中每个状态包含两个数
(L,s)
其中1<=L<=12,表示最后一次的数值。
而s分别表示1,2,3,4
其中s=1,表示倒数第二次的数字不存在(也就是第一次投掷)或不小于最后一次的数字,而且两个不同时为1.
其中s=2,表示倒数第二次的数字存在并且小于最后一次的数字,而且倒数第三次的不存在或不小于倒数第二次的。
同样,s=3表示最后三个单调增
s=4仅用于最后两个都是7的情况。
然后构造出转移概率阵,就可以算出双方赢的概率了

zgg___ 发表于 2013-1-29 09:14:44

106460465616/556534555787=0.191292

zgg___ 发表于 2013-1-29 09:47:43

呵呵,如果有两个游戏:
1、你要连续两次2点,庄家(你的朋友)要连续三次递增;
2、你要连续两次12点,庄家(你的朋友)要连续三次递增;
那么,哪个游戏你取胜的机会大呢?

zgg___ 发表于 2013-1-29 11:16:08

lz的问题,如2L mathe说,是可以比较系统的解决的,我这里罗嗦一下吧,呵呵。fn:=Module[{s=ss,bk},
If];
If;
bk=Apply;
If]++,s[]=0];
If]<bk,s[]++,s[]=0];
s[]=bk;
If]>=2,s="1Win",If]>=2,s="2Lost"]];
s];
fn[{12,0,0},{1,1}]
fn["0Start",{2,3}]
fn["2Lost",{4,5}]
fn[{200,100,100},{6,6}]第一步设想会出现的状态,然后定义一个状态转移函数fn,这个fn的定义是有随意性的,我这里的情况是:ss为{最后一次的点数,已有几个7,已有几个小于号},b为两个骨子的点数。ss = {"0Start"}
bs = Flatten, 1]第二步列出了ss的初始状态,和b的所有可能。ss = Union, 1]];
ss // Length
ss第三步ss将列出所有可能的状态,我们要不停的循环它,直到ss不变,这时ss有24个元素。这24个状态就是2L提到的状态。r=Map->Last[#]&,Transpose[{ss,Range]}]]
gs=Flatten}&,ss,bs,1],1];sn=Length;
set=Map[{First[#],Length[#]/36}&,Split]]/.r;
mm=Table;Do],set[]]]=set[],{i,Length}];接下来的第四步,就求出那个“转移概率阵”mm。r将24个状态编了号。c = Table; c[] = 1; m = Transpose;
MatrixPower, 10^8].c然后是第四一撇步,呵呵,可以看到第二项0.191292就是答案了(留着验算用吧)。而如何算出这项呢?可以用本征值,大家可以就此深入研究一下,呵呵。也可以用下面第五步的方法。var=Table,{i,sn}];
qs=Map==Last[#]&,Transpose[{mm.var,var}]];
qs[]=(Subscript==1);qs[]=(Subscript==0);
ans=Subscript/.First]
ans//N第五步,解方程。x1到x24表示位于对应装态时取胜的几率,每个状态的x等于它后面所有状态的x的加权平均,另外有:x2=1和x3=0,求出x1就ok了。

东邪 发表于 2013-1-29 13:19:36

106460465616/556534555787=0.191292
zgg___ 发表于 2013-1-29 09:14 http://bbs.emath.ac.cn/images/common/back.gif

高手啊

东邪 发表于 2013-1-29 13:26:59

方法差不多,就是最后一步不会,求不出精确值。

puzzleup向来不公布答案,不知道这个结果是不是puzzleup的答案。
但这道题似乎有很多人做对,我不相信!

geslon 发表于 2013-3-2 00:56:46

7# 东邪
也不是很多人作对了,17.9%正确率。
页: [1]
查看完整版本: 骰子游戏