算法导论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都是经典的问题,从解答也可以看出,用传统的概率方法求期望往往无法解决或极度难以解决的问题,换个思路就变得非常简单。