问题陈述
Pólya再次玩着他的骨灰盒,他希望您能帮助他计算一些概率。
在此骨灰盒实验中,Pólya的骨灰盒最初包含1个红色和1个蓝色珠子。
对于每次迭代,他进入并取回珠子,然后检查颜色并将珠子放回back。
然后,他掷出一枚普通硬币,如果硬币落在硬币头上,他会在缸中插入相当数量的6面相同颜色的彩色骰子骰子,如果硬币落在尾巴上,他将从缸中取出一半的相同颜色的硬币(使用整数除法-因此,如果所选颜色的珠子数量为奇数,他将删除(c-1)/2
c是该颜色的珠子数量)
给定整数n≥0且十进制r> 0,则将n次迭代后珠子颜色之间的比率在最短的字节数中大于或等于r的概率赋予2个小数位。
一组示例迭代:
令(x,y)定义骨灰盒,使其包含x个红色小珠和y个蓝色小珠。
Iteration Urn Ratio
0 (1,1) 1
1 (5,1) 5 //Red bead retrieved, coin flip heads, die roll 4
2 (5,1) 5 //Blue bead retrieved, coin flip tails
3 (3,1) 3 //Red bead retrieved, coin flip tails
4 (3,4) 1.333... //Blue bead retrieved, coin flip heads, die roll 3
可以看出,比率r始终≥1(因此,红色或蓝色越大,比率就越小)
测试用例:
令F(n,r)定义函数在n次迭代中的应用以及r的比率
F(0,5) = 0.00
F(1,2) = 0.50
F(1,3) = 0.42
F(5,5) = 0.28
F(10,4) = 0.31
F(40,6.25) = 0.14
这是代码高尔夫,所以最短的解决方案以字节为单位。
我觉得这有一个公式……
—
无知的体现
可能与beta二项式有关,但可能要更长一些
—
过期数据,
取决于语言;R和Mathematica也许可以有效地做到这一点。
—
朱塞佩