作者lin15 ( )
看板Flash
标题Re: [讨论] 不用Random产生乱数 :)
时间Sun May 13 15:30:35 2007
: 真是个有趣的问题 :)
: 翻了一下wiki的资料,大概说明如下:
: 随机数最重要的特性是它在产生是後面的那个数与前面的那个数毫无关系
: 真正的随机数是使用物理现象产生的:比如掷钱币、骰子、转轮、使用电子元件的噪
: 音、核裂变等等,这样的随机数发生器叫做「物理性随机数发生器」,它们的缺点是
: 技术要求比较高。
: 在实际应用中往往使用「伪随机数」就足够了。这些数列是「似乎」随机的数,实际
: 上它们是通过一个固定的、可以重复的计算方法产生的,伪随机数是使用一个确定性
: 的演算法计算出来的,似乎是随机的数序。
: 因此伪随机数实际上并不算真正的随机。在计算伪随机数时假如使用的开
: 始条件不变的话,那麽伪随机数的数序也不变。
: 它们不真正地随机,因为它们实际上是可以计算出来的,但是它们具有类似於随机数
: 的统计特徵,而且只使用少数数值很难推算出计算它的演算法,不过由於「伪随机数」
: 不是真的随机数,在有些方面它们不能被使用(例如在密码学中使用伪随机数要小心
: ,因为其可计算性是一个可以攻击的地方)。
: 真正的随机数必须使用专门的设备(比如使用量子力学的效应)或使用无法预言的现
: 象(比如用户键入的速度等)来产生。
实际上确实有专门在做随机数研究的人
(也有大头是台湾人)
所谓的好的伪随机数的定义
是要能通过统计上的适合度检定跟随机性检定
然後就有许多不同种类的随机数产生器发展出来
而随机数产生器还有其需要满足的特性 (效率 周期 均等之类的...)
甚麽线性同余法, 移动暂存法, 多项递回法等等
都是有一套数学公式在里面的
(不过他们还是需要一个起始点 通常还是抓时间的值当起始点)
所以没有随机数产生器? 自己写一个吧~(难不难写就不知道了)
--
有兴趣的板友可以找Deng L.Y.的相关文章看看
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.134.104.130