伪随机性

✍ dations ◷ 2025-04-26 22:56: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;}

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

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

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

相关

  • 鲁道夫·狄塞尔鲁道夫·克里斯琴·卡尔·狄塞尔(Rudolf Christian Karl Diesel,1858年3月18日-1913年9月30日),德国工程师,柴油发动机的发明者。他在1892年提出压缩点火式内燃机的原始设计,经过不
  • 系统思维系统思维是一种途径协助人们从宏观角度了解系统,包括了整体结构、模式及周期。相对于笛卡儿及其他人的还原论、哲学分析,它倾向整体主义。因为它关心的是整体及其各部分之间的
  • 化妆土化妆土是将比较纯净,含铁量低的瓷土,加工成洁白细腻,呈白色或奶白色,施于坯体表面的一种装饰层。使用化妆土可以使得胎体表面光滑平整,釉层柔和滋润;可以覆盖胎体各种不良呈色,为利
  • 火炕火炕(满语:ᠨᠠᡥᠠᠨ,转写:)又简称炕,或称大炕,是汉族人民发明的一种可以烧火取暖的卧具,是流行于中国北方、蒙古乡村的一种居室取暖与休息睡眠的房屋建筑设施。由于中国华北、东北
  • 义大医疗财团法人义大医疗财团法人(法人登记名称),所属医疗机构包含义大医疗财团法人义大医院(简称义大医院)、义大医疗财团法人义大癌治疗医院(简称义大癌治疗医院)、义大医疗财团法人义大大昌医院
  • 阿葰·兰帕尔阿葰·兰帕尔(印地语:अर्जुन रामपाल,英文:Arjun Rampal,1972年11月26日-),是印度宝莱坞男演员、模特儿、电影监察及电视主持人。他是现今印度其中一位最成功的男演员之
  • 严珠慧严珠慧(越南语:Nghiêm Châu Tuệ/.mw-parser-output .han-nom{font-family:"Nom Na Tong","Han-Nom Gothic","Han-Nom Ming","HAN NOM A","HAN NOM B","Ming-Lt-HKSCS-UNI-H"
  • 赤冢不二夫赤冢不二夫(日语:赤塚 不二夫,1935年9月14日-2008年8月2日),日本漫画家,血型A型。他本名为赤冢藤雄,发音和笔名赤冢不二夫相同。出生于满州国热河省滦平县(今中国河北省承德市),1946年
  • 安东尼·约书亚安东尼·约书亚,OBE(英语:Anthony Joshua,1989年10月15日-),英国拳击运动员。为现任世界重量级拳击的统一拳王,在2016至2019年期间持有国际拳击联合会(IBF)、世界拳击协会(WBA)、国际拳
  • 鲍伊·鲍拉日鲍伊·鲍拉日(匈牙利语:Baji Balázs,1989年6月9日-)是匈牙利男子田径运动员。2012年8月7日,Balazs Baji在夏季奥林匹克运动会110米跨栏预赛第6组以13.76秒完赛,并在同组选手刘翔单