伪随机性

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

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

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

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

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

相关

  • 酒母麹,又称麹糵,酿酒中称酒母,是米、糯米、小麦、大麦、黑麦、燕麦、豆类等粮食作物,及其外皮碾磨而成的白色粉末米糠或麦麸受到麹霉菌等微生物感染,经发酵使微生物有效繁殖而得到的
  • 方程式化学方程式、化学反应式或化学反应方程式(英语:Chemical equation)是用来描述各种物质之间的不同化学反应的式子。化学方程式反映的是客观事实。因此书写化学方程式要遵守两个
  • 郭守敬郭守敬(1231年-1316年),字若思,邢台人,中国元朝的天文学家、数学家和水利学家。元太宗三年(1231年),郭守敬生于邢州境内的邢台。王恂、郭守敬等同一位尼泊尔建筑师阿尼哥合作,在元大都
  • 冰川时期大冰期(英语:Ice Age),又称“冰川期”或“冰川期”,是指地球大气和地表长期低温导致极地和山地冰盖大幅扩展甚至覆盖整个大陆的时期。大冰期内部又分为几次冰期(glacial period、g
  • 本笃十六世本笃十六世(拉丁语:Benedictus XVI;意大利语:Benedetto XVI;德语:Benedikt XVI;1927年4月16日-)是天主教会第265任教宗,本名若瑟·类思·拉辛格(德语:Joseph Aloisius Ratzinger;拉丁语:Io
  • 郭为藩郭为藩(1937年9月3日-),出生于台湾台南市,省立台南一中毕业后,以大学联考乙组师大第一名入学,毕业于社会教育学系、教育研究所,教育部公费留考出国留学,获法国巴黎大学特殊教育博士,英
  • 皮肤肿瘤皮肤癌是一种生长在皮肤上的癌症,它是由异常的细胞发展而来,甚至有可能会侵犯扩散到身体不同部位。由于皮肤癌常常在表皮层中发展,肿瘤常常清晰可见,因此大部分时间,可以在早期发
  • 约翰·C·卡尔霍恩约翰·卡德威尔·卡尔霍恩(英语:John Caldwell Calhoun,1782年3月18日-1850年3月31日),南卡罗来纳州人,美国政治家。他是19世纪前半叶最著名的美国政治家之一,曾任美国副总统、美国
  • 2015年东南亚运动会柬埔寨代表团1 以“高棉共和国”名义参赛柬埔寨代表团将参加2015年6月5日至6月15日的新加坡第二十八届东南亚运动会
  • 威利·凯勒威廉·亨利·凯勒(英语:William Henry Keeler,1872年3月3日-1923年1月1日)是美国职棒大联盟的右外野手,职棒生涯效力于纽约巨人、布鲁克林新郎、巴尔的摩金莺、布鲁克林超霸、纽约