隨機性(英語:Randomness)這個詞是用來表達目的、動機、規則或一些非科學用法的可預測性的缺失。
一個隨機的過程是一個不定因子不斷產生的重複過程,但它可能遵循某個概率分布。
術語隨機經常用於統計學中,表示一些定義清晰的、徹底的統計學屬性,例如缺失偏差或者相關。隨機與任意不同,因為「一個變量是隨機的」表示這個變量遵循概率分布。而任意在另一方面又暗示了變量沒有遵循可限定概率分布。
科學與隨機
在自然與工程學裡一些現象會透過隨機性模型來類比,例如:
在19世紀,科學家使用分子的不規則行動的概念去發展統計力學,以解釋熱力學和氣體定律的現象。
根據一些量子力學的標準解釋,微觀現象是客觀地隨意。換句話說,在一個所有相關的參量受控的實驗中,也會出現任意變化的情況,例如我們無法預計在受控環境中放置一粒不穩定的原子衰敗的時間,只能計算在指定的時間內衰敗的可能性,所以量子力學計算的是機會率而非單一實驗的結果。Hidden variable theories嘗試避開大自然包含不能降低的隨機性,這樣的理論假定在看上去任意的過程中,有些符合統計分佈而暗藏的特性在幕後運作以得出結果。
生物體的特徵在某種程度上是確定性地發生的(例如:在基因和環境的影響下),在某種程度上是隨機發生的。例如,基因與曝光量僅僅支配著人體皮膚上出現的色斑密度;而單個色斑的精確位置看來是隨機決定的。
在通訊理論中,一個訊號的隨機性稱作雜訊,它對立於由源(訊號)所引起的那一部分變化。
隨機性測試方法
- 頻數測試:測試二進位序列中,「0」和「1」數目是否近似相等。如果是,則序列是隨機的。[1]
- 塊內頻數測試:目的是確定在待測序列中,所有非重疊的長度為M位的塊內的「0」和「1」的數目是否表現為隨機分布。如果是,則序列是隨機的。
- 遊程測試:目的是確定待測序列中,各種特定長度的「0」和「1」的遊程數目是否如真隨機序列期望的那樣。如果是,則序列是隨機的。
- 塊內最長連續「1」測試:目的是確定待測序列中,最長連「1」串的長度是否與真隨機序列中最長連「1」串的長度近似一致。如果是,則序列是隨機的。
- 矩陣秩的測試:目的是檢測待測序列中,固定長度子序列的線性相關性。如果線性相關性較小,則序列是隨機的。
- 離散傅立葉變換測試:目的是透過檢測待測序列的周期性質,並與真隨機序列周期性質相比較,透過它們之間的偏離程度來確定待測序列隨機性。如果偏離程度較小,序列是隨機的。
- 非重疊模板匹配測試:目的是檢測待測序列中,子序列是否與太多的非周期模板相匹配。太多就意味著待測序列是非隨機的。
- 重疊模板匹配測試:目的是統計待測序列中,特定長度的連續「1」的數目,是否與真隨機序列的情況偏離太大。太大是非隨機的。
- 通用統計測試:目的是檢測待測序列是否能在資訊不丟失的情況下被明顯壓縮。一個不可被明顯壓縮的序列是隨機的。
- 壓縮測試:目的是確定待測序列能被壓縮的程度,如果能被顯著壓縮,說明不是隨機序列。
- 線性複雜度測試:目的是確定待測序列是否足夠複雜,如果是,則序列是隨機的。
- 連續性測試:目的是確定待測序列所有可能的m位位元的組合子串出現的次數是否與真隨機序列中的情況近似相同,如果是,則序列是隨機的。
- 近似熵測試:目的是透過比較m位位元串與m-1位位元串在待測序列中出現的頻度,再與常態分布的序列中的情況相對比,從而確定隨機性。
- 部分和測試:目的確定待測序列中的部分和是否太大或太小。太大或太小都是非隨機的。
- 隨機漫步測試:目的是確定在一個隨機遊程中,某個特定狀態出現的次數是否遠遠超過真隨機序列中的情況。如果是,則序列是非隨機的。
- 隨機漫步變量測試:目的是檢測待測序列中,某一特定狀態在一個游機遊程中出現次數與真隨機序列的偏離程度。如果偏離程度較大,則序列是非隨機的。