公司年会抽奖使用 Math.random()函数是否有失公平?

2019-12-19 10:56:17 +08:00
 zhihupron
每个人有一张刮刮卡卡片。刮开后有编号,然后使用 javascript 生成随机数
https://www.runoob.com/jsref/jsref-random.html
20701 次点击
所在节点    奇思妙想
104 条回复
shiny
2019-12-19 18:15:46 +08:00
抽奖现场 code review
paranoiagu
2019-12-19 18:20:44 +08:00
random 跳数字是真的,停下来的数字是指定的。以前客户要求的套路。
SteveAlan
2019-12-19 18:30:52 +08:00
比内定公平
ZehaiZhang
2019-12-19 18:52:53 +08:00
@tianshilei1992 现场写可还行,我觉得双方心理都平衡了
JCZ2MkKb5S8ZX9pq
2019-12-19 19:16:22 +08:00
楼主可能本来是想讨论 random 函数的随机问题,无奈好多人都歪楼了。

不过我也要歪个楼。
作为一个干过游戏企划的,想提提其它方案。

比如有一个简单的模型,是主持方给出一个选项,比如黑或白,所有玩家站队,立定后揭晓。二分法几次之后出结果,这样既有参与感,也有悬念。

然后尝试在这个模型上做扩展。比如把用户这头的纯随机,变成答题之类的更有参与感和主动性的方式,比如关于公司的问题,然后站队获奖。

又或者把责任转嫁到开奖一方,比如让各部门 leader 做一些简单的比赛,玩家选 leader 站队。当然这样要看公司领导是不是愿意参与和拉得下脸。

当然这里也有如何设计作弊的方法。但抽奖本质上是一种分配,认知上的公平和现场气氛的把握,和各种人情关系和玩家性格习惯,可能都要考虑。
shuang
2019-12-19 19:43:31 +08:00
不要你觉得,要我觉得,公不公平我说了算!!!



这不是一个技术问题
ma836323493
2019-12-19 19:45:35 +08:00
取当天温度湿度, 计算 随机
zqx
2019-12-19 20:01:01 +08:00
math 库的实现和宿主环境有关,random 通常与设备 cpu 中的时钟有关,在多线程语言中可能存在两个线程的随机种子一样的情况,但 javascript 是单线程的,因此是相对公平的。
xuanbg
2019-12-19 20:54:21 +08:00
抽出来的号虽然不是真随机,但你拿到什么号却是比珍珠还真的真·随机数呀。事实上根本不需要摇号,抽卡前就直接公开 1-xx 号分别是什么奖都没问题。因为谁也不知道哪张纸片印着这几个号码,公平的很。
binux
2019-12-20 00:22:37 +08:00
@xiaocongcong #49 1000 块也就是一天的工资。怎么,你还想半天完成?
Mutoo
2019-12-20 07:29:26 +08:00
最大的问题上面提到了,Math.random 可以被自定义函数覆盖掉,如果不配合 code review 的话,无法保证公平公正。
FS1P7dJz
2019-12-20 07:53:46 +08:00
@wqzjk393 你这个想法是错误的哦,如果不是真随机,这种嵌套反而会导致结果更加可以预测
fatpower
2019-12-20 08:53:56 +08:00
你们在纠结这个,我司 2 年没年会了,惨淡
Arrowing
2019-12-20 08:56:39 +08:00
不要简单地用技术问题来衡量现实问题
seenthewind
2019-12-20 09:09:02 +08:00
概率上的随机,和数学上的随机是两回事情。

当然年会抽奖随机是不一样的第三件事情。

作为过来人我和你说,我都试过,直接内部开源最好。
vexjoe
2019-12-20 09:26:51 +08:00
@sockpuppet9527 有不少人都是这个思维,以为粗暴的方法可以"简单"的就解决问题,而没有深入去思考这个问题是不是真的被消灭了,不知道自己只是把问题给延后了或者变得更加复杂难以排查了。
Eugene1024
2019-12-20 09:32:36 +08:00
使用 random 产生随机数没啥值得质疑的,可能质疑的是你写的代码有缺陷导致每个人中奖率不一样,或则你在程序里故意设计某些人中奖率高
hoythan
2019-12-20 09:32:42 +08:00
random 是能当场猜出来吗?
kop1989
2019-12-20 09:36:00 +08:00
严谨一些的话,可以尝试引入一些完全不相干的第三方参数,这个参数最好是无规律变动的。比如当前时间的上证指数,当前的空气质量,某个网站的日活人数,某个话题的百度指数等。
expkzb
2019-12-20 09:46:38 +08:00
在领取刮刮卡的时候已经是随机了,应该不用担心 random 函数不够随机的问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://yangjunhui.monster/t/630433

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX