伪随机性

✍ dations ◷ 2025-11-06 14:48:12 #伪随机性,理论计算机科学

伪随机性(英语:Pseudorandomness)是一个过程似乎是随机的,但实际上并不是。例如伪随机数是使用一个确定性的算法计算出来的似乎是随机的数序,因此伪随机数实际上并不随机。在计算伪随机数时假如使用的开始值不变的话,那么伪随机数的数序也不变。伪随机数的随机性可以用它的统计特性来衡量,其主要特征是每个数出现的可能性和它出现时与数序中其它数的关系。伪随机数的优点是它的计算比较简单,而且只使用少数数值很难推算出计算它的算法。一般人们使用一个假的随机数,比如电脑上的时间作为计算伪随机数的开始值。

用来计算伪随机数的函数被称为随机函数,使用随机函数产生随机数的算法称为随机数生成器。一些随机函数是周期性的,虽然一般来说使用非周期性的函数要好得多,但周期性的随机函数往往快得多。有些周期函数的系数可以调整,之后它们的周期非常大,基本上与非周期的函数效果一样。

/* 使用 ANSI C 可移植算法 */static unsigned long int next = 1;    // 种子int rand(void)                        // 生成伪随机数{    next = next * 1103515245 + 12345;    return (unsigned int) (next / 65536) % 32768;}void srand(unsigned int seed)         // 修改种{    next = seed;}

可见,伪随机数是由一套产生随机数的算法实现的。

在电脑模拟中伪随机数用来模拟产生随机的过程,背景噪声产生器中也可应用伪随机数。由于伪随机数不是真的随机数,在有些方面它们不能被使用,例如在密码学中使用伪随机数要小心,因为其可计算性是一个可以攻击的地方。统计学、蒙特·卡罗方法上使用的伪随机数也必须挑选周期极长、随机性够高的随机函数,以确保计算结果有足够的随机性。

伪随机数的一个特别大的优点是它们的计算不需要外部的特殊硬件的支持,因此在计算机科学中伪随机数依然被使用。真正的随机数必须使用专门的设备,比如热噪信号、量子力学的效应、放射性元素的衰退辐射,或使用无法预测的现象,譬如用户按键盘的位置与速度、用户运动鼠标的路径坐标等来产生。对于移动式计算,采用加速度传感器协助随机数生成亦是一种普遍做法。

相关

  • 基底膜基底膜(英语:basement membrane)是位于上皮组织下的一层,无细胞且富含纤维的结缔组织,分隔上皮、间皮、内皮,通常位于体腔或器官表面,或是血管内皮的基底面。基底膜是由基底层(英语:b
  • 苍白僵直苍白僵直(拉丁文:pallor mortis),是死亡的第一个阶段,尤其发生在一些肤色较浅的尸体身上,他们在死后皮肤会出现苍白状况。几乎所有人死亡后通常在15至25分钟内都会出现苍白僵直,由
  • 摩托罗拉解决方案摩托罗拉系统公司(Motorola Solutions, Inc.)是一家数据传输及电信设备公司。前身是摩托罗拉公司内的电信网络设备部门,因应2011年摩托罗拉公司移动通讯部门拆分为单独的摩托罗
  • OpenCriticOpenCritic是电子游戏评论聚合网站。网站会收集众主流游戏媒体对各款游戏的评论,并计算该游戏的平均得分。网站还提供其他数据,如推荐该游戏的媒体百分比、游戏在OpenCritic的
  • 福基尔福基尔县(Fauquier County, Virginia)是美国维吉尼亚州北部的一个县,西界拉帕汉诺克河。面积1,687平方公里。根据美国2000年人口普查,共有人口55,139人。县治沃伦敦(Warrenton)。
  • 排水量排水量(displacement)是指船舶在一定状态下的总重量,通常以吨为单位。船舶满载时的总重量称为满载排水量,或重排水量,船舶不装载货物时船体和机舱等部分的总重量称为空船排水量,或
  • about.meabout.me是一个个人名片服务,由Ryan Freitas, Tony Conrad和Tim Young在2009年10月共同创办。该网站给注册用户提供一个简单的平台连接多个流行的社交网站和相关的外部网站,如G
  • 威廉·亨利·弗赖威廉·亨利·弗赖(英语:William Henry Fry,1813年8月10日-1864年12月21日),美国作曲家、乐评家,美国古典音乐创作的先驱者之一。他创作了美国最早的重要歌剧《莱奥诺拉》,也是美国最
  • 尼泊尔共产党(马列毛主义中心)尼泊尔共产党 (马列毛主义中心)(尼泊尔语:नेपाल कम्युनिष्ट पार्टी (मार्क्सवादी-लेनिनवादी-माओवादी केन्द्र),缩写
  • 卡斯帕斯·维瓦加斯卡斯帕斯·维瓦加斯(拉脱维亚语:Kaspars Vecvagars,1993年8月3日-),拉脱维亚篮球运动员,现在效力于立陶宛篮球联赛球队BC Žalgiris。他也代表拉脱维亚国家篮球队参赛。