伪随机性

✍ dations ◷ 2025-04-03 11:54: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;}

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

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

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

相关

  • 抗组织胺抗组胺药(法语:Antihistaminique,英语:Antihistamine,德语:Antihistaminikum),通常指H1-受体拮抗剂,是一种,透过对体内H1-受体(组胺受体之一种)的作用,减少组胺对这些受体产生效应,从而减
  • 鬃狼鬃狼(学名:Chrysocyon brachyurus)是南美洲最大的犬科动物,在葡萄牙语被称为lobo-guará(Guará 狼),瓜拉尼语称为aguara guazu(大狐),在西班牙语中被称为zorro rojizo(红狐),主要分布在
  • 国家卫生研究院 (台湾)国家卫生研究院,简称国卫院、国家卫生院,是中华民国在台湾医药与卫生研究机构,属于公设的财团法人。位在苗栗县竹南镇,属于新竹科学园区的一部分。最早的成立构想是在1988年,1996
  • 仙女环仙女环(英语:fairy ring、fairy circle、elf circle、elf ring、pixie ring)是蕈类族群自然排列而成的环。仙女环直径会生长超过10米(33英尺),在这些真菌成长和吸收地底下的养分时
  • 茶碗蒸茶碗蒸(日语:茶碗蒸し/ちゃわんむし),又称日式蒸蛋,中文也称“鸡蛋羹”,是一种日本料理,因使用茶杯作为容器而得名。茶碗蒸制作方法与中式蒸蛋类似,配料一般有香菇、白果、鱼板、鸡
  • 本雅病毒目沙状病毒科 汉他病毒科 内罗毕病毒科(英语:Nairoviridae) 番茄斑萎病病毒科(英语:Tospoviridae) Phenuiviridae(英语:Phenuiviridae) 本雅病毒目(Bunyavirales),又译为布尼亚病毒目,属于
  • 偏高碘酸偏高碘酸是碘的含氧酸之一,化学式为HIO4。它可由正高碘酸于真空中加热至100 °C得到。它在150 °C分解,经过中间态最终得到五氧化二碘。偏高碘酸的酸性比高氯酸弱得多但氧化性
  • ATCvet代码 (QI09)A·B·C·D·G·H·QI·J·L·M·N·P·R·S·VATCvet代码QI09(猪用免疫产品)是兽用解剖学治疗学及化学分类系统的一个药物分组,这是由世界卫生组织药物统计方法整合中心(The WH
  • 乔治·皮杜尔乔治·皮杜尔(法语:Georges-Augustin Bidault,1899年10月5日-1983年1月27日)法国政治家,第二次世界大战期间积极参加抵抗运动。1945年,曾代表法国出席旧金山会议,签署联合国宪章。战
  • 陈幼学陈幼学(1541年-1624年),字志行,直隶无锡县人,世称筠堂先生,明朝名臣,列《明史循吏传》之中。万历十七年(1589年),陈幼学中三甲进士,授河南确山县知县。在任间政务惠民,开仓放粮、垦荒并分