为什么有程序员都说取的随机数是伪随机数?

新农商网 全部 1028

为什么有程序员都说取的随机数是伪随机数?

回复

共3条回复 我来回复
  • 宏思微想
    宏思微想
    这个人很懒,什么都没有留下~
    评论

    伪随机是指在有限次数内随机,出现相同的数字。要实现真随机,小编认为主要把握两点:

    1.种子。种子要选取带有唯一性的值,如时间。这样就从源头避免了伪随机。

    2.算法。只要在有限次数内不重复,就达到了真随机。因此,算法实现一组随机数,每个都不同(相同的已拿掉,算法的好坏决定了出现相同数字的概率),这样应用时再从这组数中取出,就保证了不重复。

    随机数在应用开发中,尤其是游戏开发中常用,这是个常见的问题,需从种子和算法上着手解决。

    谢谢大家。

    2018-03-15 08:13:19 0条评论
  • 平凡并努力着
    平凡并努力着
    这个人很懒,什么都没有留下~
    评论

    怎样才叫真随机?从1-100随机取,取100次,正好把100个数各取一次?每次的顺序还不能相同。但现实里,很可能是好多数取过好几次,而有的一次也取不到,这样才是真实一点的随机吧。

    2018-03-16 12:55:55 0条评论
  • 冰封飞飞
    冰封飞飞
    这个人很懒,什么都没有留下~
    评论

    因为都是通过一个随机数生成算法生成的,依赖于种子来产生不同的随机序列。一般使用时间作为种子,但是如果种子一样的话,我们就可以得出来一模一样的随机数序列。因为算法和入参都确定了。

    实际上伪随机算法如果保证均匀分布,而且随机数的种子依赖一些环境上面的不确定的值的话,还是让人感觉到和真随机差不多的。

    2018-03-16 19:51:48 0条评论