隨機演算法與機率分析

指示隨機變數(indicator random variable)

想像一個計數器,當某件特定的事發生時你恰好按一次,不發生就完全不按。要數某件事在多次試驗中發生幾次,你給每次試驗一個自己的計數器,再把按鍵次數加起來。指示隨機變數就是這個「單一事件計數器」化成數學:事件發生時它是 1,不發生時是 0。

精確地說:對一個事件 A,指示變數 X_A 定義為 A 發生時 X_A = 1,否則 X_A = 0。它的關鍵特性是期望值等於事件的機率:E[X_A] = 1 乘以 Pr[A] + 0 乘以 Pr[非 A] = Pr[A]。這造就了一個強大的三步計數配方。第一步:把你關心的量寫成指示變數之和,X = X_1 + X_2 + ... + X_n,每個可能的發生對應一個。第二步:由期望值的線性性質,E[X] = Σ E[X_i] = Σ Pr[事件 i]。第三步:算出每個小機率再相加。例如要求 n 頂帽子隨機歸還時,拿回自己帽子的人數期望:令 X_i 表示第 i 人拿回自己的帽子,於是 E[X_i] = 1/n,而 E[X] = n 乘以 1/n = 1。

指示變數是幾乎每個乾淨隨機分析背後的主力——快速排序的期望比較次數(X_ij 表示元素 i 與 j 是否曾被比較)、雜湊的期望碰撞數、空桶的期望數目。它們之所以重要,是因為把一個困難的全域計數,換成一袋可以逐一計算的瑣碎局部機率。誠實的提醒:指示變數只給你平均值。要說這個計數以高機率接近平均,你需要一個尾界;若事件相依,你可能需要額外小心(帶共變異數的切比雪夫,或為切爾諾夫所需的獨立性)。

擲一枚公正硬幣 100 次;令 X_i 在第 i 次為正面時為 1。正面次數為 X = X_1 + ... + X_100,而 E[X] = Σ E[X_i] = 100 乘以 (1/2) = 50。不需要組合學——每次擲幣一個指示變數,加一次就好。

E[指示變數] = Pr[事件]:把計數變成把機率相加的橋樑。

其奧妙在於把指示變數相加用的是線性性質,而線性從不需要獨立性——所以即使事件糾纏相依,你也能算出期望計數。獨立性要到後來、當你想對這個計數取尾界時才變得必要。

又称
0/1 indicatorBernoulli indicator指示變數