伪随机性

✍ dations ◷ 2025-12-04 05:10:09 #伪随机性,理论计算机科学

伪随机性(英语: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;}

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

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

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

相关

  • 苯乙酮苯乙酮或称乙酰苯,是分子式为C6H5COCH3的有机化合物,它可当作制造药物、树脂、调味剂和催泪瓦斯的中间体,还可以制造安眠药。 现在苯乙酮大多以异丙苯氧化制苯酚和丙酮的副产品
  • 中国植物志《中国植物志》(拉丁语:Flora Reipublicae Popularis Sinicae)是全面总结中国维管植物系统分类的著作,由科学出版社出版,共计80卷(126册):761。1959年10月成立编辑委员会,由钱崇澍、
  • 睡城睡城(英语:Commuter town,意为“通勤者居住的城镇”,或译为卧城)是大都市周围承担居住职能的卫星城市。睡城与母城或中心城市的空间距离较近,且位于通往母城的主要交通干线上,交通
  • 2-庚醇2-庚醇是一种有机化合物,为庚醇的同分异构体之一。它是一种仲醇,羟基在第二个碳原子上。2-庚醇具有手性,存在R/S异构体。
  • 梅萨县梅萨县(英语:Mesa County, Colorado)是美国科罗拉多州西部的一个县,西与犹他州相连。面积8,653平方公里。根据美国2000年人口普查,共有人口116,255人。县治大章克申(Grand Junctio
  • 俄罗斯苏维埃联邦社会主义共和国部长会议俄罗斯苏维埃联邦社会主义共和国部长会议(俄语:Совет Министров РСФСР)是1946年3月15日—1991年12月25日俄罗斯苏维埃联邦社会主义共和国最高行政机构,它受
  • 金梁金梁(1878年-1962年),后改名关介之,字息候,瓜尔佳氏,满洲正白旗人。世为浙江杭州八旗驻防,故亦作杭县人。清末翰林,官员,历史学者。奉系少帅张学良之师。金梁于光绪二十七年(1901年)中举
  • Face Yourself《Face Yourself》是韩国男子团体防弹少年团第三张日语专辑,在2018年4月4日以四个版本:通常盘、初回限定盘A、B及C推出。两张Oricon单曲周榜冠军的单曲:《血、汗、泪》及《MIC
  • 剑桥中国文学史剑桥中国文学史(英语:The Cambridge History of Chinese Literature) 是一套两卷的由剑桥大学出版社出版的中国文学书籍。2013年出版发行,主要由耶鲁大学教授孙康宜和哈佛大学
  • 莫诺尔区坐标:47°21′00″N 19°27′00″E / 47.3500°N 19.4500°E / 47.3500; 19.4500莫诺尔区(匈牙利语:Monori járás),是匈牙利的一个区,位于该国北部,由佩斯州负责管辖,首府设于莫诺