假设我们有一个彩票,它有下面的支付1,2,5,6,9,10,16
。组织者预计4%
将从彩票中获利。我写了一些PHP代码来模拟这一点,但我不擅长概率,所以我得到了错误的结果。
for ($i = 0; $i < 10000; $i++) {
$mainrand = rand(1,100);
$pay = 0;
if($mainrand > 96 && $mainrand <=100){
$pay = 0;
}
if($mainrand > 90 && $mainrand <=96){
$pay = 16;
}
if($mainrand > 81 && $mainrand <=90){
$pay = 10;
}
if($mainrand > 72 && $mainrand <=81){
$pay = 9;
}
if($mainrand > 60 && $mainrand <=72){
$pay = 6;
}
if($mainrand > 48 && $mainrand <=60){
$pay = 5;
}
if($mainrand > 24 && $mainrand <=48){
$pay = 2;
}
if($mainrand > 0 && $mainrand <=24){
$pay = 1;
}
$money += $pay;
}
echo $money;
我希望$money
与9600
非常接近,但它离我们很远。这段代码中的逻辑是计算从96个可能的结果中获得16倍支出的概率,等等,通过从结果中减少每个概率。我将随机生成的数字增加到aprox。450,所有的东西都各就各位,但我想要理解其中的逻辑。支出和利润率可以改变,所以如果有人能帮助我理解逻辑(算法),这是可以计算的,那就太好了。
发布于 2015-07-27 05:20:03
您可以通过将所有可能的支出的概率乘以其值来计算玩彩票的期望值。当我这样做的时候,我得到的期望值是4.71。请注意,您有96%的机会赢得至少1(在许多情况下,远远超过1),因此您肯定不会获得4%的利润。您需要使期望值= .96,而不是获胜概率= .96。
https://stackoverflow.com/questions/31641935
复制相似问题