我们正在努力恢复Google Play商店上的Unionpedia应用程序
传出传入
🌟我们简化了设计以优化导航!
Instagram Facebook X LinkedIn

伪随机性

指数 伪随机性

伪随机性(Pseudorandomness)是一个过程似乎是随机的,但实际上并不是。例如伪随机数是使用一个确定性的算法计算出来的似乎是随机的数序,因此伪随机数实际上并不随机。在计算伪随机数时假如使用的开始值不变的话,那么伪随机数的数序也不变。伪随机数的随机性可以用它的统计特性来衡量,其主要特征是每个数出现的可能性和它出现时与数序中其它数的关系。伪随机数的优点是它的计算比较简单,而且只使用少数数值很难推算出计算它的算法。一般人们使用一个假的随机数,比如電腦上的時間作为计算伪随机数的开始值。.

目录

  1. 23 关系: 偽亂數二進位數列密码学平方取中法C语言確定性算法線性同餘方法统计学随机随机函数随机数随机数生成器鍵盤计算机科学计算机程序设计艺术鼠标辐射蒙地卡羅方法量子力学雜訊M-sequence梅森旋转算法放射性

  2. 理论计算机科学

偽亂數二進位數列

偽亂數二進位數列(Pseudo Randomness Binary Sequence)簡稱PRBS,是一種特別的二進位數列a_0,\ldots, a_,若二進位數列的位元數為N,其中為1的數字有m個,則其其自相关函数: 只有以下二個值: \begin m, \mbox v\equiv 0\;\; (\mboxN)\\ \\ mc, \mbox \end 其中 稱為偽亂數二進位數列的占空比,類似連續時間信號的占空比。 偽亂數二進位數列稱為偽亂數,雖然它是決定性的,不過其a_j的數值和前後元素的數值無關,看似隨機的,因此稱為偽亂數。 偽亂數二進位數列可以延伸到無限長,方式是在N個元素都出現過之後,再從a_0,\ldots, a_再出現一次……,這點和真正的由放射性衰減或白雜訊產生的數列不同,後者在本質上就是無限長的。偽亂數二進位數列比最大長度數列更普遍,後者是特別的N位元偽亂數二進位數列,是由線性移位暫存器所產生的。最大長度數列的占空比恆為50%,長度為k位元的暫存器,其數列長度為N.

查看 伪随机性和偽亂數二進位數列

密码学

密碼學(Cryptography)可分为古典密码学和现代密码学。在西欧語文中,密码学一词源於希臘語kryptós“隱藏的”,和gráphein“書寫”。古典密码学主要关注信息的保密书写和传递,以及与其相对应的破译方法。而现代密码学不只关注信息保密问题,还同时涉及信息完整性验证(消息验证码)、信息发布的不可抵赖性(数字签名)、以及在分布式计算中产生的来源于内部和外部的攻击的所有信息安全问题。古典密码学与现代密码学的重要区别在于,古典密码学的编码和破译通常依赖于设计者和敌手的创造力与技巧,作为一种实用性艺术存在,并没有对于密码学原件的清晰定义。而现代密码学则起源于20世纪末出现的大量相关理论,这些理论使得现代密码学成为了一种可以系统而严格地学习的科学。 密码学是数学和计算机科学的分支,同时其原理大量涉及信息论。著名的密碼學者罗纳德·李维斯特解釋道:「密碼學是關於如何在敵人存在的環境中通訊」,自工程學的角度,這相當于密碼學與純數學的差异。密碼學的发展促進了计算机科学,特別是在於電腦與網路安全所使用的技術,如存取控制與資訊的機密性。密碼學已被應用在日常生活:包括自动柜员机的晶片卡、電腦使用者存取密碼、電子商務等等。.

查看 伪随机性和密码学

平方取中法

平方取中法(Middle-square method)是個產生偽隨機數的方法,由-zh-hans:冯·诺伊曼;zh-hk:馮·紐曼;zh-tw:馮·諾伊曼;-在1946年提出。 算法:.

查看 伪随机性和平方取中法

C语言

C是一种通用的程式語言,广泛用于系统软件与应用软件的开发。于1969年至1973年間,為了移植與開發UNIX作業系統,由丹尼斯·里奇與肯·汤普逊,以B语言为基础,在贝尔实验室設計、开发出來。 C语言具有高效、灵活、功能丰富、表达力强和較高的可移植性等特点,在程式設計中备受青睐,成为最近25年使用最为广泛的编程语言。目前,C语言編譯器普遍存在於各種不同的操作系统中,例如Microsoft Windows、macOS、Linux、Unix等。C語言的設計影響了众多後來的程式語言,例如C++、Objective-C、Java、C#等。 二十世纪八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標準局為C語言訂定了一套完整的國際標準語法,稱為ANSI C,作為C語言的標準。二十世纪八十年代至今的有关程式開發工具,一般都支持符合ANSI C的語法。.

查看 伪随机性和C语言

確定性

確定性可被定義為「毫無誤差的完美知識」或「沒有疑惑的精神狀態」。換句話說,確定性即「在所有基礎質詢裡連貫性和正確性的總和」。 Category:認知 Category:知識論.

查看 伪随机性和確定性

算法

-- 算法(algorithm),在數學(算學)和電腦科學之中,為任何良定义的具體計算步驟的一个序列,常用於計算、和自動推理。精確而言,算法是一個表示爲有限長列表的。算法應包含清晰定義的指令用於計算函數。 算法中的指令描述的是一個計算,當其時能從一個初始狀態和初始輸入(可能爲空)開始,經過一系列有限而清晰定義的狀態最終產生輸出並停止於一個終態。一個狀態到另一個狀態的轉移不一定是確定的。隨機化算法在内的一些算法,包含了一些隨機輸入。 形式化算法的概念部分源自尝试解决希尔伯特提出的判定问题,並在其后尝试定义或者中成形。这些尝试包括库尔特·哥德尔、雅克·埃尔布朗和斯蒂芬·科尔·克莱尼分别于1930年、1934年和1935年提出的遞歸函數,阿隆佐·邱奇於1936年提出的λ演算,1936年的Formulation 1和艾倫·圖靈1937年提出的圖靈機。即使在當前,依然常有直覺想法難以定義爲形式化算法的情況。.

查看 伪随机性和算法

線性同餘方法

線性同餘方法(LCG)是個產生偽隨機數的方法。 它是根據遞歸公式: 其中A,B,M是產生器設定的常數。 LCG的週期最大為M,但大部分情況都會少於M。要令LCG達到最大週期,應符合以下條件:.

查看 伪随机性和線性同餘方法

统计学

统计学是在資料分析的基础上,研究测定、收集、整理、归纳和分析反映數據資料,以便给出正确訊息的科學。這一门学科自17世纪中叶产生并逐步发展起来,它廣泛地應用在各門學科,從自然科学、社會科學到人文學科,甚至被用於工商業及政府的情報決策。隨著大数据(Big Data)時代來臨,統計的面貌也逐漸改變,與資訊、計算等領域密切結合,是資料科學(Data Science)中的重要主軸之一。 譬如自一組數據中,可以摘要並且描述這份數據的集中和離散情形,這個用法稱作為描述統計學。另外,觀察者以數據的形態,建立出一個用以解釋其隨機性和不確定性的數學模型,以之來推論研究中的步驟及母體,這種用法被稱做推論統計學。這兩種用法都可以被稱作為應用統計學。數理統計學则是討論背後的理論基礎的學科。.

查看 伪随机性和统计学

随机

#重定向 随机性.

查看 伪随机性和随机

随机函数

由于所有的计算机算法均是确定性算法,因此在電腦上的随机函数生成的都是伪随机数,不过,伪随机数和伪随机数之间也有区别,且至少可以分为两个层次:统计学伪随机数、密码学安全伪随机数。大部分编程语言库中预备了的随机函数生成的都是前一种,而密码学安全伪随机数则由一类叫做CSPRNG的随机函数生成。这对于实际问题中的大部分应用,这两个不同层次的伪随机数已经可以满足大部分随机数的需求。.

查看 伪随机性和随机函数

随机数

機數(random number)這一概念在不同領域有著不同的含義。.

查看 伪随机性和随机数

随机数生成器

#重定向 随机数生成.

查看 伪随机性和随机数生成器

鍵盤

#重定向 电脑键盘.

查看 伪随机性和鍵盤

计算机科学

计算机科学用于解决信息与计算的理论基础,以及实现和应用它们的实用技术。 计算机科学(computer science,有时缩写为CS)是系统性研究信息与计算的理论基础以及它们在计算机系统中如何与应用的实用技术的学科。 它通常被形容为对那些创造、描述以及转换信息的算法处理的系统研究。计算机科学包含很多分支领域;有些强调特定结果的计算,比如计算机图形学;而有些是探討计算问题的性质,比如计算复杂性理论;还有一些领域專注于怎样实现计算,比如程式語言理論是研究描述计算的方法,而程式设计是应用特定的程式語言解决特定的计算问题,人机交互则是專注于怎样使计算机和计算变得有用、好用,以及随时随地为人所用。 有时公众会误以为计算机科学就是解决计算机问题的事业(比如信息技术),或者只是与使用计算机的经验有关,如玩游戏、上网或者文字处理。其实计算机科学所关注的,不仅仅是去理解实现类似游戏、浏览器这些软件的程序的性质,更要通过现有的知识创造新的程序或者改进已有的程序。 尽管计算机科学(computer science)的名字里包含计算机这几个字,但实际上计算机科学相当数量的领域都不涉及计算机本身的研究。因此,一些新的名字被提议出来。某些重点大学的院系倾向于术语计算科学(computing science),以精确强调两者之间的不同。丹麦科学家Peter Naur建议使用术语"datalogy",以反映这一事实,即科学学科是围绕着数据和数据处理,而不一定要涉及计算机。第一个使用这个术语的科学机构是哥本哈根大学Datalogy学院,该学院成立于1969年,Peter Naur便是第一任教授。这个术语主要被用于北欧国家。同时,在计算技术发展初期,《ACM通讯》建议了一些针对计算领域从业人员的术语:turingineer,turologist,flow-charts-man,applied meta-mathematician及applied epistemologist。 三个月后在同样的期刊上,comptologist被提出,第二年又变成了hypologist。 术语computics也曾经被提议过。在欧洲大陆,起源于信息(information)和数学或者自动(automatic)的名字比起源于计算机或者计算(computation)更常见,如informatique(法语),Informatik(德语),informatika(斯拉夫语族)。 著名计算机科学家Edsger Dijkstra曾经指出:“计算机科学并不只是关于计算机,就像天文学并不只是关于望远镜一样。”("Computer science is no more about computers than astronomy is about telescopes.")设计、部署计算机和计算机系统通常被认为是非计算机科学学科的领域。例如,研究计算机硬件被看作是计算机工程的一部分,而对于商业计算机系统的研究和部署被称为信息技术或者信息系统。然而,现如今也越来越多地融合了各类计算机相关学科的思想。计算机科学研究也经常与其它学科交叉,比如心理学,认知科学,语言学,数学,物理学,统计学和经济学。 计算机科学被认为比其它科学学科与数学的联系更加密切,一些观察者说计算就是一门数学科学。 早期计算机科学受数学研究成果的影响很大,如Kurt Gödel和Alan Turing,这两个领域在某些学科,例如数理逻辑、范畴论、域理论和代数,也不断有有益的思想交流。.

查看 伪随机性和计算机科学

计算机程序设计艺术

《计算机程序设计艺术》(The Art of Computer Programming),簡稱TAOCP,是高德纳编著的关于计算机程序设计的七卷本著作。作者並因此获得美国计算机协会1974年图灵奖。.

查看 伪随机性和计算机程序设计艺术

鼠标

滑鼠是一种很常見及常用的電腦输入设备,它可以对当前屏幕上的游标进行定位,并通过按键和滚轮装置对游标所经过位置的屏幕元素进行操作。滑鼠的鼻祖於1968年出现。美国科学家道格拉斯·恩格尔巴特(Douglas Englebart)在加利福尼亚制作了第一只滑鼠。.

查看 伪随机性和鼠标

辐射

物理學上的輻射指的是能量以波或是次原子粒子移動的型態,在真空或介質中傳送。包含.

查看 伪随机性和辐射

蒙地卡羅方法

蒙特卡罗方法(Monte Carlo method),也称统计模拟方法,是1940年代中期由于科学技术的发展和电子计算机的发明,而提出的一种以概率统计理论为指导的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。 20世纪40年代,在冯·诺伊曼,斯塔尼斯拉夫·烏拉姆和尼古拉斯·梅特罗波利斯在洛斯阿拉莫斯国家实验室为核武器计划工作时,发明了蒙特卡罗方法。因为烏拉姆的叔叔经常在摩納哥的蒙特卡洛赌场输钱得名,而蒙特卡罗方法正是以概率为基础的方法。 与它对应的是确定性算法。 蒙特卡罗方法在金融工程学、宏观经济学、生物医学、计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)机器学习等领域应用广泛。.

查看 伪随机性和蒙地卡羅方法

量子力学

量子力学(quantum mechanics)是物理學的分支,主要描写微观的事物,与相对论一起被认为是现代物理学的两大基本支柱,许多物理学理论和科学,如原子物理学、固体物理学、核物理学和粒子物理学以及其它相关的學科,都是以其为基础。 19世紀末,人們發現舊有的經典理論無法解釋微观系统,於是經由物理學家的努力,在20世紀初創立量子力学,解釋了這些現象。量子力學從根本上改變人類對物質結構及其相互作用的理解。除透过广义相对论描写的引力外,迄今所有基本相互作用均可以在量子力学的框架内描述(量子场论)。 愛因斯坦可能是在科學文獻中最先給出術語「量子力學」的物理學者。.

查看 伪随机性和量子力学

雜訊

Unreferenced/auto 自动产生。 --> 雜訊(Noise)在电子学中指,訊號在傳輸過程中會受到一些外在能量所產生訊號(如杂散电磁场)的干擾,這些能量即雜訊。雜訊通常會造成信號的失真。其來源除了來自系統外部,亦有可能由接收系統本身產生。雜訊的強度通常都是與訊號頻寬成正比,所以當訊號頻寬越寬,雜訊的干擾也會越大。所以在評估雜訊強度或是系統抵抗雜訊能力的數據,是以訊號強度對雜訊強度的比例為依據,此即訊雜比。.

查看 伪随机性和雜訊

M-sequence

M-sequence(Maximum length sequence、MLS、最大長度序列)是在基本的通訊電路設計中,所經常被利用到的一個虛擬隨機數位訊號Pseudo Random Sequence,其主要的方式是利用第一位與其他位暫存器的輸出值做ex-or來設計其第一位暫存器的輸入值。.

查看 伪随机性和M-sequence

梅森旋转算法

梅森旋转演算法(Mersenne twister)是一个伪随机数发生算法。由松本真和西村拓士在1997年开发,基于有限二进制字段上的矩阵线性递归F_。可以快速产生高质量的伪随机数,修正了古典随机数发生算法的很多缺陷。 Mersenne Twister这个名字来自周期长度取自梅森素数的这样一个事实。这个算法通常使用两个相近的变体,不同之处在于使用了不同的梅森素数。一个更新的和更常用的是MT19937, 32位字长。还有一个变种是64位版的MT19937-64。对于一个k位的长度,Mersenne Twister会在的区间之间生成离散型均匀分布的随机数。.

查看 伪随机性和梅森旋转算法

放射性

放射性或輻射性是指元素從不稳定的原子核自发地放出射线,(如α射线、β射线、γ射线等)而衰变形成穩定的元素而停止放射(衰变产物),這種現象稱為放射性。衰变时放出的能量称为衰变能量。原子序數在83(鉍)或以上的元素都具有放射性,但某些原子序數小于83的元素(如锝)也具有放射性。而有趣的是,從原子序84開始一直到鉳元素有以下特性:原子序是偶數的,半衰期都比相邻的长。这是由於原子序数为偶數的元素的原子核含有適當數量的質子和中子,能够形成有利的配置結構。〈即魔數〉 對單一原子來說,放射性衰变依照量子力學是隨機過程,無法預測特定一個原子是否會衰变。不過原子衰变的機率不會隨著原子存在的時間長短而改變。對大量的原子而言,可以用量測衰變常數計算衰變速率及半衰期。其半衰期沒有已知的時間上下限,範圍可以到55個數量級,短至幾乎瞬間,長至久於宇宙年齡。 有許多種不同的放射性衰变。衰变或是能量的減少都會使有某種原子核的原子(父放射核素)轉變為有另一種原子核的原子,或是其中子或質子的數量不同,稱為子體核素。在一些衰变中,父放射核素和子體核素是不同的化學元素,因此衰变後產生了新的元素,這稱為核嬗变。 最早發現的衰变是α衰變、β衰變、γ衰變。α衰變是原子核放出α粒子(氦原子核),是最常見釋放核子的衰變,不過原子核偶爾也會釋放質子,或者釋放其他特殊的核子(稱為)。β衰變是原子核釋放電子(或正子)及反微中子,會將質子轉變為中子(或是將中子轉變為質子) 。核子也可能捕獲軌道上的電子,使質子轉變為中子,這為電子捕獲,上述的衰变都屬於核嬗变。 相反的,也有一些核衰变不會產生新的元素,受激態原子核的能量以伽馬射線的方式釋出,稱為伽馬衰变,或是將激发态原子核将能量转移至轨道电子上,轨道电子再脱离原子,稱為。若是核子中有大量高度受激的中子,有時會以中子發射的方式釋放能量。另外一種核衰变是將原來的原子核變為二個或多個較小的原子核,稱為自發性的核分裂,出現在大量的不穩定核子自發性的衰变時,一般也會釋放伽馬射線、中子或是其他粒子。 著名的例子像是鈾和釷,但也包括在自然界中,半衰期長的同位素,例如钾-40。例如15種是半衰期短的同位素,像鐳及氡,是由衰變後的產物,也有因為而產生的,像碳-14就是由宇宙射線撞擊氮-14而產生。放射性同位素也可能是因為粒子加速器或核反應爐而人工合成,其中有650種的半衰期超過一小時,有數千種的半衰期更短。.

查看 伪随机性和放射性

另见

理论计算机科学

亦称为 僞亂數。