C,C++,VB,C#中用的随机数都是伪随机数,伪随机数的一个问题就是取值分布不均匀。
比如抽奖,如果从100种随机抽取,如果1和100都是一等奖,但是1和100的出现机率完全不是1%,有可能比1%,也有可能比1%小.
也不知道各种数据库中的随机数最终是否也是采用了伪随机数.
目前如果要分布均匀,一般都是用高斯随机数算法,所以各位玩抽奖的同学,如果要公平,还是不要用系统自带的随机函数,需要另外自己写.
如果是游戏中色子,如果采用伪随机数的,而且随机种子相同的,那么会出现在相同时间点上获取的两个随机值相同的问题.有些游戏就是这么被破解的.
比如抽奖,如果从100种随机抽取,如果1和100都是一等奖,但是1和100的出现机率完全不是1%,有可能比1%,也有可能比1%小.
也不知道各种数据库中的随机数最终是否也是采用了伪随机数.
目前如果要分布均匀,一般都是用高斯随机数算法,所以各位玩抽奖的同学,如果要公平,还是不要用系统自带的随机函数,需要另外自己写.
如果是游戏中色子,如果采用伪随机数的,而且随机种子相同的,那么会出现在相同时间点上获取的两个随机值相同的问题.有些游戏就是这么被破解的.
3160

被折叠的 条评论
为什么被折叠?



