在現實世界中,機率很難被描述。如果我擲骰子,說它有六分之一的機率擲出 5 是什麼意思?我們說結果是隨機的,因為我們缺乏預測哪個面朝上的資訊。但這並非真正隨機。如果我們知道我如何移動我的手以及我拋擲骰子時作用在骰子上的所有力的細節,我們或許可以預測擲骰子的結果。然而,實際上,我們通常缺乏這種預測能力。數學家稱這種情況為“偽隨機”:雖然它看起來和感覺對我們來說是隨機的,但我們知道,事實上,如果我們擁有我們想要的所有資訊,擲骰子就不是隨機的了。
同樣,如果我向 Google 請求一個隨機生成的數字,它需要一個過程來輸出一個數字,但 Google 無法訪問純理論的隨機數學模型。因此,它使用一個非隨機的過程,產生一個對我們來說看起來是隨機生成的數字,因為我們不知道該過程是什麼——或者至少我們不知道一些輸入是什麼。Google 生成的數字也是偽隨機的。
偽隨機數字出現在各個領域:建模、賭場和彩票都需要偽隨機數字作為輸入。此外,銀行和金融機構使用此類數字進行安全和欺詐檢測。由於駭客對破解這些偽隨機程式碼非常感興趣,人們開發了複雜的生成這些數字的方法。例如,許多“隨機”數生成器依賴於物理過程。例如,網路安全和網際網路服務公司 Cloudflare 有一個名為 LavaRand 的系統,該系統使用熔岩燈來生成偽隨機數字。
關於支援科學新聞
如果您喜歡這篇文章,請考慮透過以下方式支援我們屢獲殊榮的新聞報道 訂閱。透過購買訂閱,您將有助於確保未來能夠看到關於當今塑造我們世界的發現和想法的具有影響力的故事。
現在假設我們有一組數字,或者更廣義地說,是空間中的點。您如何判斷這組點來自真正的隨機過程,還是這組點是由確定性過程產生的?這個問題是許多數學領域的中心問題,數學家有各種檢測隨機性的方法。然而,我們想知道,“這些測試的效果到底有多好?是否存在並非隨機生成的但可以滿足測試的點集?” 如果是這樣,我們稱之為偽隨機。偽隨機特性和對其的搜尋有各種各樣的應用,從理解素數到一種叫做量子混沌的東西(我個人認為這是最適合樂隊名稱的數學物理學領域)。
在疫情期間,我開始研究一個與偽隨機性相關的問題:在沒有隨機性的地方尋找隨機行為。這項工作始於我發給當時在特拉維夫大學的研究員尼克拉斯·特克瑙 (Niclas Technau) 的一封電子郵件。到 2022 年年中,儘管從未面對面見過面,但我們兩人已經共同撰寫了三篇論文,並且找到了一些我們能夠證明通過了極強偽隨機測試的序列的唯一示例。
檢測隨機性
我們如何檢測隨機性?也許最粗略的方法是所謂的均勻分佈。考慮兩個盒子,裡面有點,顯然是散佈在裡面的——一個盒子裡的點填滿了整個正方形,另一個盒子裡的點有一半是空的。
圖片來源:約翰·奈特
哪個盒子看起來更隨機?希望您選擇的是完全填滿點的那個,因為隨機過程不太可能導致一個盒子底部一半沒有點。考慮均勻分佈的一種方式是問,“如果我在這組點中取足夠多的點,該組點所覆蓋的區域的每個子區域是否會獲得其公平的點數?” 如果是這樣,則該組點是均勻分佈的。我應該取樣多少個點?理想情況下,答案是無窮多個。這樣,如果這些點確實是隨機生成的,那麼出現奇怪行為(例如所有點都落在中線之上)的可能性就非常低——並且隨著點數的增加,這種可能性會越來越接近於零。
讓我們關注 0 到 1 之間的數字序列。均勻分佈的隨機序列是指點落在該區間任何位置的機率相等。取由方程 xn = {πn2} 建立的序列 0.142、0.566、0.274、0.265,...,其中花括號表示我們忽略該數字的整數部分。因此,第一個數字是 π x 12 = 3.141。當我們去掉 3 時,我們得到 0.141。第二個數字是 π x 22 = 12.566;去掉 12,就是 0.566。
要確定該序列是否均勻分佈,我們可以問,“對於該序列中給定數量的點,有多少點填充 0 到 1 之間的任何特定子區域?” 落入子區域的公平點數是點數乘以該區域的面積,因為點落入該區域的機率等於該區域的面積。
當我們計算這個性質時,我們發現這個序列 xn = {πn2} 是均勻分佈的。但是,例如,序列 xn = {3⁄7n2} 不是均勻分佈的,因為 0.05 和 0.1 之間的子區間是一個永遠不會收到點的區域的示例。(這些結果可以追溯到 1916 年數學家赫爾曼·韋爾的開創性工作。)
圖片來源:約翰·奈特
其他測試
雖然均勻分佈是一個有用的測試,但它衡量隨機性的方法很粗略。要用另一種方法評估一組點的隨機程度,請嘗試在這裡找出隨機生成的影像
圖片來源:約翰·奈特
即使所有三個盒子中的點看起來都是均勻分佈的,但它們看起來並不都是隨機的。左邊的盒子中的所有點之間的間隔非常規則,並且在中間的影像中,這些點似乎聚集在一起。只有右側框中的點看起來是隨機的。這種型別的例子促使數學家開發出更復雜的測試,稱為間隙分佈和配對相關性。前者測量點之間的間隙大小,後者測量點的聚類——它們聚集或分開的程度。在這些測試中,當我們考慮越來越多的點時,我們會分別計算點之間的間隙數量或彼此接近的配對數量。如果這些與我們從隨機資料中期望的結果一致,我們就說間隙分佈或配對相關性是“泊松式的”(以法國機率學家西蒙-德尼·泊松的名字命名)。
這些測試很有用,但要實際證明一個序列滿足這些測試仍然很困難。本質上,證明一組點具有某種模式比證明它沒有任何模式更容易。但作為數學家,我們想要一個邏輯證明,而不會僅僅滿足於測試大量點。
一組示例
我上面使用的是一組流行的示例的一部分,它們都可以寫成 xn = {αnθ},其中 α 和 θ 各自代表一個數字(例如,α = π 和 θ = 2)。這些序列在歷史上很有趣,因為它們是韋爾用來理解均勻分佈的第一個例子之一。最近,由於它們與量子混沌相關的某些深刻思想的聯絡,它們再次流行起來。奇怪的是,我們知道幾乎所有 α 和 θ 的選擇都會給出一個具有泊松配對相關性的序列。然而,直到最近,我們還沒有一個 α 和 θ 的確切選擇能給出泊松配對相關性的例子。這是數學中一個常見的問題,我們可以證明大多數選擇會導致特定結果,但卻找不到一個具體的例子。(我們說這就像在乾草堆裡找乾草。)在尋找間隙分佈方面,我們真的束手無策。
這就是特克瑙和我決定解決的問題。在我們早期的線上討論之後,我們首先研究 θ = 1/2,由於複雜的原因,這是一個重要的例子。我們試圖繞過通常用於解決此問題的大量數學機制(主要是因為我不理解它),並回到韋爾用於均勻分佈的 1916 年技術。問題的關鍵在於證明某個特定的總和很小。最初,我們可以證明該總和不是無限大,但我們無法充分限制它。
經過大量的撓頭苦思,當我們意識到如果 θ 很小,這些技術會更好地工作時,突破就來了,因此我們改變了問題。與獨立研究同一問題的數學家 Athanasios Sourmelidis 一起,我們能夠證明,如果 θ 小於或等於 1/3,則該序列具有泊松配對相關性(對於任何 α)。這給了我們一個完整的序列族,我們可以證明它們具有泊松配對相關性。然後,特克瑙和我能夠擴充套件這些技術,使指數更小,並表明所得序列滿足一個更強的偽隨機測試,稱為三相關性。透過使 θ 越來越小,我們能夠證明越來越強的偽隨機特性。
這些技術之所以有效,是因為隨著我們使指數變小,序列 nθ 增長得越來越慢,這有助於限制所得的總和(我們在 θ = 1/2 的情況下找不到其上限)。有些序列的增長速度比 nθ 慢,無論指數是多少,例如序列 (log n)A,其中 log 是自然對數(儘管任何對數都適用),而 A 是任何大於 0 的指數。對數和對數的冪增長非常非常緩慢。有了這個見解,我們可以證明,如果 θ > 1,則序列 xn = {α(log n)θ} 具有泊松式的所有相關性和泊松間隙分佈。
從某種意義上說,這種組合是可能的最強的偽隨機測試。這也是我們所知的唯一顯示此行為的示例族。換句話說,我們的數學機制無法檢測出此序列是確定性的還是隨機的垃圾(即使在無限次取樣之後)。這意味著目前沒有辦法判斷這個序列是隨機的還是偽隨機的。奇怪的是,如果我們取 θ = 1,則該序列甚至不是均勻分佈的。因此,對於序列 xn = {αlog n},這些點似乎聚集在 0 到 1 之間的區間的左側。這種模式甚至可以用肉眼看到,並且與稱為本福德定律的東西有關,這意味著很明顯這個序列不是隨機的。
偽隨機數的世界既奇特又充滿了未解之謎。數學家們認為各種有趣的序列都是偽隨機的,但卻無法證明這一點。儘管與數學的其他領域存在著深刻的聯絡,但由於我們對偽隨機序列的許多猜想缺乏證明,這阻礙了我們的進展。Technau、Sourmelidis 和我終於提供了一組例子,我們可以證明它們表現出強大的偽隨機特性,但這些技術似乎只適用於緩慢增長的序列。在數學領域,很難預料進步會出現在哪裡。也許將一些更復雜的現有機制與我們開發的方法相結合,可能會提供更深入的見解。又或者,有人會開發出一整套新的工具來判斷什麼是隨機的,什麼不是隨機的。
