猫史档案馆


随机数不够随机?一个算法就搞定!

用户:土豆awa土豆awa查看:4 回复:4 评论:4 创建时间:2022-06-29T15:22:35


Hello!今天要讲的是:随机数平衡引擎。

在使用随机数时,我们经常会遇到一个问题:

center_image

代码意思:随机数取到1就往右移动一步,取到2就往上,3往左,4往下。

10000次实验结果:

center_image

可以看到,点不断向左上方走,意味着抽到2、3的概率较大。

再看一个实验:

center_image

结果:

center_image

可以看到,第一项和最后一项概率明显小于其它项,甚至将近只有一半。

已经向官方反馈了,但是官方没有回应。没办法,只好自己写算法了。

我的思路是:如果抽到的不是第一项或者最后一项,就有一定的概率把这票分给第一项或者最后一项。

代码:

center_image

用这个积木替换,得到的效果:

第一项实验:

center_image

第二项实验:

center_image

可以看到,随机数明显更平均了。

好了,就到这里了,再见!


回复

上一页1 页 / 共 1下一页
小企鹅飞小企鹅飞

第一次知道随机数概率不均等的问题!

点赞2


评论


土豆awa土豆awa

刚刚那个代码发错了,是这个:center_image

点赞0


评论


土豆awa土豆awa

与改成或

点赞0


评论


活泼的蓝甲虫7gEg活泼的蓝甲虫7gEg

数字越中间,几率越大。

点赞0


评论