[联系时事]抽奖之联系实际之PHP抽奖随机函数之公平是怎么产生滴备案。

jackxiang 2012-12-14 17:24 | |
背景:Tencent公司为了想在年会抽奖上展现两个字:公平,公平,还是他妈的公平,随机函数到底用谁才体现公平,当时在群里有人问了?当时没有当回事,后来过了两天才知道原因,下面就来讲这个的一个决策过程,呵。
2012-12-12:
☆Reiko☆(6429****5) 10:50:32
用rand 随机出的数 在区段中间的数随机次数偏多。有什么好办法使随机数平均点。
☆Reiko☆(6429****5) 10:50:32
感觉
回忆未来-向东-Jàck(3726****3) 10:50:58
我觉得这种理论不成立,感觉是不能说明问题的,要有多次的数据作支持。
☆Reiko☆(6429****5) 10:50:57
随机的次数多的时候 还相对平均点
杨猪(1761****7) 10:51:02
感觉这玩意不靠谱。
Sango(1417887429) 10:51:02
你的感觉很少见
mk_rand 这个会好一点
☆Reiko☆(6429****5) 10:51:13
次数少的话就不平均了
杨猪(1761****7) 10:51:36
我这边同一个比例。今天出东西多了 有人说概率高。明天出东西低了有人说概率低。。
江林锦(865****3) 10:52:06
还是有一定效果的
江林锦(865****3) 10:52:13
量大的情况下
小猪臭(2674****5) 10:52:20
坐板凳潜水ing
Rango<htfntc****@163.com> 10:53:13
一定要用mt_rand
Rango<htfntc****@163.com> 10:53:36
rand有bug
杨猪(1761****7) 10:54:14
rand的BUG早就修复了
杨猪(1761****7) 10:54:52
注释:在某些平台下(例如 Windows)RAND_MAX 只有 32768。如果需要的范围大于 32768,那么指定 min 和 max 参数就可以生成大于 RAND_MAX 的数了,或者考虑用 mt_rand() 来替代它。

注释:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现在已自动完成。

注释:在 3.0.7 之前的版本中,max 的含义是 range 。要在这些版本中得到和上例相同 5 到 15 的随机数,简短的例子是 rand (5, 11)。
杨猪(1761****7) 10:55:06
无非就是播种嘛。
Rango<htfntc****@163.com> 10:55:19
不是这个问题,是因为glibc rand的bug
杨猪(1761****7) 10:56:23
那就不清楚了。
杨猪(1761****7) 10:56:32
glibc rand的bug 这个具体什么表现?
Rango<htfntc****@163.com> 10:58:41
随机出来的数字可能是一样的
Rango<htfntc****@163.com> 11:02:27
因为是直接用时间来做种子的,随机算法有点问题。mt_rand不存在此问题
Rango<htfntc****@163.com> 11:02:58
以前有用rand做CPU亲和设置的,发现很多程序都绑定到1个核了

2012=12-15
...........................
zedan(@zedan33)  || 陈敏(@chenmin):  || Sagezhang张松国(@sprits): 马上开始了,再拜一遍 || Sagezhang张松国(@sprits) 由于圣诞晚会采用PHP的mt_rand随机函数抽取中奖rtx号码,所以今年我决定改变打法。方法如下:  http://t1.qpic.cn/mblogpic/49da2741fd5c8b7f8392/2000 http://t.qq.com/p/t/44480028989012
php今年长脸了


Jack点评:善于发现漏洞并不利用漏洞者强,敢于拜神者王。

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/5850/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2012-12-14 17:36
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]