今日份离散学习:伪随机与真随机有什么不同?
随机很有趣。
真随机:你脑子里随便想几个数,想说啥说啥,这些数都没有联系,各个之间都是相互独立的。
伪随机:随机数是由随机种子根据一定的计算方法计算出来的数值。所以,只要计算方法一定,随机种子一定,那么产生的随机数就不会变。计算机常常以时间作为随机数种子,那计算后产生的数字看起来就是随机的。
我们希望我们产生的伪随机数具有均匀性,我们希望我们产生的伪随机数具有独立性,不能在多个伪随机数之间产生内在联系从而让别人分析得出伪随机数产生的规律。但是归根结底,计算机产生随机数这件事,以我们目前的水平难以完美实现。
下面摘了个例子
真随机:有一天,小明在的班级上举办了一次抽奖活动。这个班级有40个学生,所以为了公平起见,保证每个学生都有1/40的几率中奖,老师准备了40个相同的纸盒,每个纸盒中都有40张纸条,有1张纸条是中奖纸条。这样一来,每个学生都有1/40的几率中奖,但每个学生是否中奖并不受其他学生的影响。在极端情况下,这个班上可能40个学生都能中奖。这就是真随机。
伪随机:小明班上举办了抽奖活动。为了公平起见,老师准备了1个纸盒,纸盒中有40张纸条,只有1张纸条是中奖纸条。这样一来,每个学生都有1/40的几率中奖——但是显而易见,这个班上有且仅有一名学生能够中奖。一名学生在中奖后,余下的所有学生中奖几率都会减少至0。这就是伪随机。
但实际上我并没有很理解这个例子。