去发现生活中的美好,记录生活中的点点滴滴

php 随机概率程序算法

php admin 195℃

在程序中经常会用到概率,以下是个人总结的一些概率简单算法:

假设1、3、5、6、8五个数字,概率分别是25%、30%、30%、10%、5%,则
$rand_one=array_fill(0,25,1); 
$rand_two=array_fill(0,30,3); 
$rand_three=array_fill(0,30,5); 
$rand_four=array_fill(0,10,6); 
$rand_five=array_fill(0,5,8);

$rand_all=array_merge($rand_one,$rand_two,$rand_three,$rand_four,$rand_five);  
$num=rand(0,100); 
echo $rand_all[$num];

不过,从严格意义上说,这些程序生成的随机数并不是真正的随机,它们大多根据一个种子和一个固定的公式计算出“随机”值,理论上来讲这样产生的随机数列最终还是会重复,所以一般称它们为伪随机数。

一般情况下,伪随机数已经够用,但是想通过程序获得严格并且严肃的统计结果,一个真正的随机数生成器还是必要的。又比如,如果你是在设计一个大规模的抽奖程序的话,使用伪随机数肯定会被人质疑。

Random.org 这个网站就提供了真正的随机数序列,他通过大气噪音 (Atmospheric Noise) 这种大自然的随机现象来产生。

可以通过 Http、SOAP、CORBA 等方式在程序中请求特定的随机数列,网站上有详细的接口文档。

转载请注明:永盟博客 » php 随机概率程序算法

喜欢 (1)