伪随机性

✍ dations ◷ 2025-12-09 11:15:26 #伪随机性,理论计算机科学

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

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

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

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

相关

  • 风能风能主要应用为风力发电,系利用风提供能量,以带动风力发动机运转;另可用于非电力应用,例如帆船、风车等。在电力应用普及以前,人们就懂得利用风能,例如在公元前人们就已经用帆船横
  • 巴拿马运河区巴拿马运河区(英语:Panama Canal Zone,西班牙语:Zona del Canal de Panamá),是1903年至1979年期间,美国位于巴拿马运河的租借地。运河区包括巴拿马运河本身,以及除巴拿马城与科隆外
  • 圣帕特里克节圣帕特里克节(英语:Saint Patrick's Day),又称圣巴德利爵纪念日或圣博德节(爱尔兰语:Lá Fhéile Pádraig),是纪念爱尔兰主保圣人圣帕特里克(圣博德)主教的节日,在每年3月17日举行。公
  • 安迪·葛洛夫安德鲁·史蒂芬·格罗夫(英语:Andrew Stephen Grove,1936年9月2日-2016年3月21日),原名安德拉什·伊什特万·格罗夫(匈牙利语:András István Gróf),昵称安迪·格罗夫(Andy Grove),又译
  • 分子生态学分子生态学是利用进化生物学理论,采用分子生物学和基因组学的实验方法和技术手段、统计学和数学的分析方法,通过计算机科学的技术和算法,旁及地学、古气候学等, 研究物种和种群
  • 朱格朱尔山脉朱格朱尔山脉是俄罗斯的山脉,西端从西伯利亚东部沿着鄂霍次克海西北岸一直延伸,而东端从外兴安岭往东北方向延伸约1,500公里,是人迹罕至的地区。坐标:58°N 136°E / 58°N 136
  • 清州国际机场清州国际机场(朝鲜语:청주국제공항/淸州國際空港 Cheongju Gukje Gonghang */?,IATA代码:CJJ;ICAO代码:RKTU)是一座位于韩国中部忠清北道首府清州市的国际机场,机场前身为一军用机
  • 朝阳区朝阳区是北京市的一个市辖区,属于城六区之一,位于北京城的东面、东北面和东南面,介于北纬39°48'至40°09'、东经116°21'至116°42'之间。东与通州区接壤,西与海淀、西城、东城
  • 毛衣毛衣(Sweater)是指使用毛线作为主要原料,以机器或人工编织的上衣。人类在原始生活中利用树叶、兽皮来蔽体,在渔牧生活中结网捕鱼,就懂得运用编织的技法,随着文明的演进与科技的发
  • 巴尔托巴尔托(Balto,1919年 – 1933年3月14日)是一只哈士奇雪橇犬,它曾在1925年血清运送行动中,把白喉血清由Bluff送抵最后一站诺姆以控制疫情。退役后曾被卖到马戏团表演歌舞杂耍,并可