怎么样的一串数是真正的随机数,而不是伪随机数?用伪随机数做模拟或实验能观察到什么缺点?伪随机数有哪些性质是随机数不该有的
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/31 03:02:49
怎么样的一串数是真正的随机数,而不是伪随机数?用伪随机数做模拟或实验能观察到什么缺点?伪随机数有哪些性质是随机数不该有的
怎么样的一串数是真正的随机数,而不是伪随机数?
用伪随机数做模拟或实验能观察到什么缺点?伪随机数有哪些性质是随机数不该有的
怎么样的一串数是真正的随机数,而不是伪随机数?用伪随机数做模拟或实验能观察到什么缺点?伪随机数有哪些性质是随机数不该有的
随机数是专门的随机试验的结果.
在统计学的不同技术中需要使用随机数,比如在从统计总体中抽取有代表性的样本的时候,或者在将实验动物分配到不同的试验组的过程中,或者在进行蒙特卡罗模拟法计算的时候等等.
产生随机数有多种不同的方法.这些方法被称为随机数发生器.随机数最重要的特性是它在产生是后面的那个数与前面的那个数毫无关系.
真正的随机数是使用物理现象产生的:比如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等等.这样的随机数发生器叫做物理性随机数发生器,它们的缺点是技术要求比较高.
在实际应用中往往使用伪随机数就足够了.这些数列是“似乎”随机的数,实际上它们是通过一个固定的、可以重复的计算方法产生的.它们不真正地随机,因为它们实际上是可以计算出来的,但是它们具有类似于随机数的统计特征.这样的发生器叫做伪随机数发生器.
在真正关键性的应用中,比如在密码学中,人们一般使用真正的随机数.
以后发明的量子计算机就是真的随机数了。学一下量子力学就知道了呵呵。
计算机的“随机数”并非真的“随机数”,而是伪随机数——也就是通过一系列算法,从一个起始数字开始按照一定规则算出来的。
就好像函数F(x)一样,x就是随机数的种子。
你可以做个测试:把你的"new Random(x)"里面的x设置成一个固定数字,例如1,多次运行程序打印随机数,你会发现每次运行打印出来的数字都是一样的。
DateTime.Now.Ticks是指从1970...
全部展开
计算机的“随机数”并非真的“随机数”,而是伪随机数——也就是通过一系列算法,从一个起始数字开始按照一定规则算出来的。
就好像函数F(x)一样,x就是随机数的种子。
你可以做个测试:把你的"new Random(x)"里面的x设置成一个固定数字,例如1,多次运行程序打印随机数,你会发现每次运行打印出来的数字都是一样的。
DateTime.Now.Ticks是指从1970年1月1日(具体哪年忘了哈,好像是1970)开始到目前所经过的毫秒数——刻度数。
用时间毫秒做随机数的种子(x)可以尽量避免上面说的那种“随机数”变成了“非随机数”的情况。
解答完毕。
收起
计算机中的随机数其实也是由一个函数得来的,伪随机数的意思是,如果单看这一组得出的数,那是随机的,但是,再次求的时候,发现,每一组的数字都是一样的。