低差異序列(low-discrepancy sequence)
如果你想在一個正方形裡放一百個點、讓它們盡量公平地覆蓋,真正的隨機點意外地差——它們留下空洞與群聚。規則格點很均勻,卻只適用特定的數量,而且把點排成可疑的列。低差異序列是巧妙的折衷之道:一份看起來像隨機那樣不規則、卻被設計成在每個尺度都均勻散開、沒有大片空隙也沒有密集群聚的點清單,而且你能逐點延長而不必重排版面。
「均勻散開」的技術度量是「差異」:對單位立方體的任何子盒子,比較落在其內的點的比例與盒子的體積;差異就是所有盒子上最壞的不吻合。隨機點的差異約為 1/sqrt(N) 階;低差異序列把它壓低到約 (log N)^d / N,小得多。著名的構造是巧妙的數論配方:Halton 序列把計數器 n 在不同質數底下的數字反轉,逐座標建出(一維的 van der Corput 序列在 2 進位下是 1/2, 1/4, 3/4, 1/8, 5/8, ...),有系統地填補空隙;Sobol 序列用二進位「方向數」,是金融與繪圖的實用主力。它們是確定性的——每次都是同一條序列,沒有種子。
這些序列是準蒙地卡羅內部的引擎,其價值正在那裡顯現。誠實的告誡關乎尺度與結構。Halton 序列在高維會退化,因為高質數底的座標在頭幾個點上會強烈相關(所以人們會打散或跳過它們);Sobol 需要謹慎選取方向數與好的初始點。(log N)^d 因子意味著維度成長時均勻性的優勢會變薄。而且因為點是確定性的,預設你得不到統計誤差棒——隨機打散能恢復一條。不過,對低到中等維度的平滑被積函數,低差異點乾淨地勝過隨機點。
一維 van der Corput 序列(2 進位)是 1/2, 1/4, 3/4, 1/8, 5/8, 3/8, 7/8, ...:每個新點都把最大的剩餘空隙對半切,所以這條線總是盡可能均勻覆蓋。二維 Halton 序列把這個 2 進位座標與一個 3 進位座標配對,把點散布到正方形上,遠比隨機配對更均勻。
在每個尺度都均勻填滿空間的確定性點——低差異、不結塊。
並非所有低差異序列都能優雅地擴展:Halton 的高維座標在頭幾個點上相關得很糟(要打散或跳過),而 (log N)^d 因子隨維度成長侵蝕均勻性。確定性的點除非你加以隨機化,否則不帶誤差棒。