演算法導論5.2 指示器隨機變數
為了分析包括包括僱傭分析在內的許多演算法,我們將使用指示器隨機變數,它為概率和期望之間的轉換提供了一個便利的方法,給定一個樣本空間S和事件A,那麼事件A對應的指示器隨機變數:
Xa = 1 如果A發生
0 如果A沒有發生
E[Xa] = Pr{A}
在很多時候,用指示器隨機變數來求期望比用概率簡單許多。下面來看一個例子,簡單在哪裡。利用指示器隨機變數分析僱傭問題,求僱傭經理次數的期望值:
1)概率分析的方法(高中時候常用的求期望的方法)
假設應聘者以隨機的順序出現,令X作為一個隨機變數,其值等於僱傭新的辦公室經理的次數。那麼 E[X] = ∑xPr{X=x},但這一計算會很麻煩。
高中的時候就經常這樣來求,其形式類似於這樣:
欲求X的期望,X可取的值有1,2,3,,,,,n。然後分別列出取每個值時的概率---
X 1 2 3,,,,n
P p1 p2 p3,,,pn
E[X] = ∑xPr{X=x}來求期望。注意這裡每一個p值都要用排列組合裡面的知識來求,對於這個題目來說還不是很難,但有的題目比這個難多了,另外還要對每一項x和p的乘積相加,求和過程往往是一個變形技巧很高的過程。
2) 用指示器隨機變數來求期望
我們定義n個和每個應聘者是否被僱傭對應的變數,Xi為對應於第i個應聘者被僱傭這個事件的指示器隨機變數。有X=X1+X2+...+Xn。(X仍然是1)中的隨機變數X,這裡我們換一種方式來求X,相當於把X分解了)
E[Xi] = Pr{Xi} = 1/i,因為應聘者是隨機出現的,所以第i個應聘者比前面i-1個優秀的概率是1/i
因此E[X] = 1+1/2+1/3+...+1/n。
比較:概率分析和指示器隨機變數的區別在哪?
概率分析對所求隨機變數X是分情況把X能取到的每個值的概率都求出來,然後像高中求期望那樣,相乘相加。
指示器隨機變數將所求的隨機變數X分解成了許多單個的事件,對於每一個事件一一的求期望,加起來即可。
引理5.2 假設應聘者以隨機順序出現,演算法HIRE-ASSISTANT 總得僱傭費用為O(ch*lnn)
由上面求的的期望可知:
E[X] = 1+1/2+1/3+...+1/n
=ln(n) + O(1)
即:面試了n個人,實際上大約只僱傭了ln(n)次。
-------------------------------------------------------------------------------------------------------------------------------------------------
5.2.1 HIRE-ASSISTANT中,假設應聘者以隨機順序出現,正好僱傭一次的概率是多少?正好僱傭n次的概率是多少?
直接排列組合:
(n-1)! / n!
1 / n!
5.2.2 HIRE-ASSISTANT中,假設應聘者以隨機順序出現,正好僱傭2次的概率是多少?
直接排列組合:比上面稍微麻煩點
(n-1) / n!
5.2.3 利用指示器隨機變數來計算投擲n次篩子總和的期望值
每一次的期望 * n 即可,充分的體現出了將期望問題分解之後來求簡單了許多。
5.2.4 帽子保管問題
有n位顧客,他們每個人給餐廳負責保管帽子的服務生一頂帽子。服務生以隨機的順序將帽子歸還給顧客。請問拿到自己帽子的顧客的期望數量是多少?
用傳統的求期望的方法幾乎無法做,計算異常艱難。(計算X等於1,2,,,n的概率就非常難,還要相加)。
指示器方法非常簡單:
將期望分解到每個人,每個人拿到自己的帽子的概率都是1 / n.(即每個人拿到自己帽子的期望都是1/n)
總的期望是 n * 1/n = 1.
5.2.5 逆序對的期望數
假設A[1..n]是由n個不同的數構成的陣列。如果i<j且A[i]>A[j],則稱(i, j)對為逆序對A的逆序對。假設A的元素形成<1, 2, ... , n>上的一個均勻隨機排列。利用指示器隨機變數來計算A中逆序對的期望數目。
同上,用概率來算期望幾乎無從下手。
將期望分解為每一個具體的事件:共有C(n,2)對數,每對數為逆序對的概率是1/2.(單個事件的期望是1/2).
那麼總得期望就是:C(n,2) * 1/2 = n(n-1) / 4
---------------------------------------------------------------------------------------------------------------------------------------------------
總結:
1)注意隨機變數指示器怎麼用,實際上就是將求一個隨機變數的期望,分解到一個個具體的事件,每一個小事件的期望往往容易求,所有小事件的期望加起來就是總得期望。其實是從另一個角度看問題。
2)習題4和5都是經典的問題,從解答也可以看出,用傳統的概率方法求期望往往無法解決或極度難以解決的問題,換個思路就變得非常簡單。