伪随机性

✍ dations ◷ 2025-12-02 08:32:17 #伪随机性,理论计算机科学

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

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

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

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

相关

  • 表皮样囊肿表皮样囊肿(英语:epidermoid cyst)是一种通常在皮肤上发现的良性囊肿。表皮样囊肿主要源于表皮上的外胚层组织。在组织学的角度上,它是鳞状上皮细胞所组成的。通常此类囊肿容易
  • 意式奶冻意式奶冻(意大利语:Panna cotta)是一种意大利甜品,用奶油、奶、糖、和鱼胶混合在一起后,冷冻后就完成。通常会跟浆果、焦糖或巧克力酱一起食用。
  • 最终宿主宿主(英语:Host),也称为寄主,是指为寄生物包括寄生虫、病毒等提供生存环境的生物。最终宿主(primary host或definitive host)是指寄生物的成虫赖以寄生的物种。这类宿主通常为寄生
  • Vitamin D维他命D也称抗佝偻病维他命,是一类脂溶性维他命,属类固醇化合物。在人类所需的维他命中,维他命D非常特殊,是一种激素的前体,而且人一天只要暴露在阳光下10分钟,人体自身即可合成足
  • 基隆故事馆基隆文化中心(英语译名:Keelung Cultural Center)是位于台湾基隆市的综合型文化展演设施,隶属于基隆市文化局,也是基隆市文化局本部所在地。其紧邻基隆市政府大楼,为基隆市首要的
  • 大巢鼬(G. vittata)大巢鼬(Galictis vittata),又名南美毵鼬,是中美洲及南美洲一种巢鼬属,分布在墨西哥南部至巴西及玻利维亚,栖息在近河流的大草原及雨林。大巢鼬是地盘性及夜间活动的,有时也会在早上
  • 伊朗国旗伊朗国旗启用于1980年7月29日,是一面三色旗,由绿(伊斯兰)、白(和平)、红(勇气)三条横幅组成。中间为红色国徽。在三条色条之间,书有“真主至大”各11次,共22次,即伊朗历11月22日、伊朗
  • 马德尔·费伦茨马德尔·费伦茨(匈牙利语:Mádl Ferenc,1931年1月29日-2011年5月29日),是匈牙利第三共和国的第二任总统,任期2000年8月4日至2005年8月5日。马德尔1955年毕业于匈牙利罗兰大学法学系
  • 折梯折梯,是土木工程用品,协助工作人员在工地上高落低,有如活动楼梯。折梯用时打开,用完折合起来,方便转移。在从前,战争时代的攻城防守战,折梯也大派用场,跨越敌方的城墙。 而守护的一
  • 大井川铁道大井川铁道股份有限公司(日语:大井川鐵道/おおいがわてつどう  */?),简称大井川铁道或大铁,位于日本静冈县。大井川铁道拥有两条铁路线,一条是大井川本线,另一条是井川线。其中大