假设我们有一个有以下支出的彩票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个可能的结果中获得16X支付的概率,等等,通过降低结果的每个概率。
我将随机生成的数字增加到aprox。 450,一切都到了原点,但我想了解逻辑。
支付和利润率可以改变,所以如果有人可以帮助我理解可以计算的逻辑(算法),那将是很好的。
答案 0 :(得分:2)
您可以通过将支付概率与所有可能支付的价值相加来计算玩彩票的预期价值。当我这样做时,我得到的预期值为4.71。请注意,你有96%的机会赢得至少1(在很多情况下,远远超过1),所以你绝对不会获得4%的利润。您需要使预期值= .96,而不是获胜的概率= .96。