为什么有程序员都说取的随机数是伪随机数?
全部 1028
为什么有程序员都说取的随机数是伪随机数?
-
伪随机是指在有限次数内随机,出现相同的数字。要实现真随机,小编认为主要把握两点:
1.种子。种子要选取带有唯一性的值,如时间。这样就从源头避免了伪随机。
2.算法。只要在有限次数内不重复,就达到了真随机。因此,算法实现一组随机数,每个都不同(相同的已拿掉,算法的好坏决定了出现相同数字的概率),这样应用时再从这组数中取出,就保证了不重复。
随机数在应用开发中,尤其是游戏开发中常用,这是个常见的问题,需从种子和算法上着手解决。
谢谢大家。
2018-03-15 08:13:19 -
怎样才叫真随机?从1-100随机取,取100次,正好把100个数各取一次?每次的顺序还不能相同。但现实里,很可能是好多数取过好几次,而有的一次也取不到,这样才是真实一点的随机吧。
2018-03-16 12:55:55 -
因为都是通过一个随机数生成算法生成的,依赖于种子来产生不同的随机序列。一般使用时间作为种子,但是如果种子一样的话,我们就可以得出来一模一样的随机数序列。因为算法和入参都确定了。
实际上伪随机算法如果保证均匀分布,而且随机数的种子依赖一些环境上面的不确定的值的话,还是让人感觉到和真随机差不多的。
2018-03-16 19:51:48