DennyQi's Log

离散概率在组合中的使用

容斥原理

对于两个有交集的事件A,BA,B,如何求出Pr(AB)\Pr(A \cup B)?直觉就是Pr(AB)=Pr(A)+Pr(B)Pr(AB)\Pr(A \cup B)=\Pr(A)+\Pr(B)-\Pr(A \cap B)。但我们必须用公理来推导它。根据公理,我们只会计算无交集的两个集合的并的概率,所以我们做这样的的拆分:Pr(A)=Pr(A(AB))+Pr(AB)\Pr(A) = \Pr(A \setminus (A \cap B))+\Pr(A \cap B)Pr(B)=Pr(B(AB))+Pr(AB)\Pr(B) = \Pr(B \setminus (A \cap B))+\Pr(A \cap B)。而Pr(AB)=Pr(A(AB))+Pr(B(AB))+Pr(AB)\Pr(A \cup B)=\Pr(A \setminus (A \cap B))+\Pr(B \setminus (A \cap B))+\Pr(A \cap B)。这样我们就解出来Pr(AB)=Pr(A)+Pr(B)Pr(AB)\Pr(A \cup B)=\Pr(A)+\Pr(B)-\Pr(A \cap B)

用同样的方法,类比集合中我们采用的算贡献的想法,可以证明概率的容斥原理Pr[i[n]Ai]=J[n](1)JPr(jJAj)\Pr[\bigcap\limits_{i\in [n]} \overline{A_i}]=\sum\limits_{J\subseteq [n]}(-1)^{|J|}\cdot \Pr(\bigcap\limits_{j\in J} A_j)。(证明每个基本事件在等式两边的贡献相等)

Union Bound

从二元情形的容斥原理Pr(AB)=Pr(A)+Pr(B)Pr(AB)\Pr(A \cup B)=\Pr(A)+\Pr(B)-\Pr(A \cap B)中可以看出,如果我们丢掉Pr(AB)-\Pr(A \cap B)这一项,因为概率函数一定是非负的,我们就会直接得到Pr(AB)Pr(A)+Pr(B)\Pr(A \cup B)\leq\Pr(A)+\Pr(B),推广到nn元就是Pr(iIAi)iIPr(Ai)\Pr\left(\bigcup\limits_{i \in I}A_i\right)\leq \sum\limits_{i \in I}\Pr(A_i),这个结论称为“Union Bound”。

这个结论虽然推导很简单,但却在应用中有着巨大的价值。

为了看到Union Bound的巨大价值,我们来看一个复杂的例子。

我们发现一个事实,6个人之间要么至少有三个人互相之间都认识,要么至少有三个人之间互相都不认识。用一般的数学语言来描述,在6个节点的完全图(K6K_6)上,每条边要么染成红色要么染成蓝色(代表认识与不认识),那么对于任何一种染色方案,“所有边都是红色的K3K_3子图”和“所有边都是蓝色的K3K_3子图”都至少存在一个。

我们可以证明(枚举),在5个点的完全图上这一点是做不到的。也即要做到这一点至少需要6个节点,在5个点的图上至少存在一种染色方案使得红色和蓝色的K3K_3子图都不存在。

由此我们定义Ramsey数R(r,s)R(r,s),他表示使得完全图KNK_N的边任意红蓝染色始终存在“红色的KrK_r子图”或“蓝色的KsK_s子图”中的至少一个的最小的NN。这是Well-Defined的,因为我们已经看到太小的NN是不行的,而显然NN足够大时一定是可行的,所以它被限制在一个闭区间里,所以最小值一定存在。上面这个例子可以描述为R(3,3)=6R(3,3)=6

我们可以证明(r+s2r1)\dbinom{r+s-2}{r-1}R(r,s)R(r,s)的一个上界,这并不需要用到概率的知识:我们首先证明R(r,s)R(r1,s)+R(r,s1)R(r,s) \le R(r-1,s)+R(r,s-1)。令M=R(r1,s)+R(r,s1)M=R(r-1,s)+R(r,s-1),只需证明KMK_M中一定存在红色KrK_r或蓝色KsK_s。对于任意某个特定的染色,考虑与某个点(比如点1)相邻的M1M-1条边的染色情况,由于M=R(r1,s)+R(r,s1)M=R(r-1,s)+R(r,s-1),因此根据鸽巢原理,这M1M-1条边中“至少有R(r1,s)R(r-1,s)条红边”与“至少有R(r,s1)R(r,s-1)”条蓝边中总有一个成立,不然总边数就小于等于M2M-2,矛盾。如果是前者满足,那么把这些边连出去的点收集在一起就有R(r1,s)R(r-1,s)个点了,根据定义,这些点构成的完全子图里一定要么存在一个红色Kr1K_{r-1}或者蓝色KsK_s。如果存在蓝色KsK_s则证毕,否则对于得到的Kr1K_{r-1}附加上原先固定的点1就一定能得到一个红色KrK_r,因此无论如何都成立。“至少有R(r,s1)R(r,s-1)”的情况也是完全相同的。所以我们证明了这个递推不等式。对r+sr+s归纳,那么R(r,s)R(r1,s)+R(r,s1)(r+s3r2)+(r+s3r1)=(r+s2r1)R(r,s) \leq R(r-1,s)+R(r,s-1) \leq \dbinom{r+s-3}{r-2}+\dbinom{r+s-3}{r-1}=\dbinom{r+s-2}{r-1},得证。

下面我们证明下界。这里我们只能给出r=sr=s时的下界R(s,s)>2s/2R(s,s) > 2^{s/2}。只需证明对于M=2s/2M=2^{s/2},存在一种染色方案使得KMK_M中不存在任何同色的KsK_s子图。这里我们要用到概率方法——转而证明如果给KMK_M随机着色,出现“不存在同色KsK_s子图”这一事件的概率大于0,这等价于“存在同色KsK_s子图”这一事件的概率小于1。在这里,概率空间中样本集就是所有可能的染色方案(每条边可以选择染红或染蓝,共有2E2^{|E|}种)。“存在同色KsK_s子图”这一事件对应着样本集中的一个子集,即那些符合我们条件的染色方案。这是不容易计算的。然而,如果我们枚举所有的大小为ss的子图,那么每一个子图的“同色”也是一个事件。并且我们发现对于我们枚举的所有的子图,这些事件的并集恰好就是“存在同色KsK_s子图”这一事件(如果一个子图同色,那么它在“存在同色KsK_s”里有贡献;如果它在“存在同色KsK_s”里有贡献,那么一定在适当的时候被枚举到)。这些事件之间可能有交集,因此精确计算他们的并集的概率必须要容斥,但我们可以用Union Bound给出上界,而对于每个事件的概率是容易计算的——只需保证枚举到的点集里的所有边同色,边的个数为(s2)\dbinom{s}{2},因此每个事件的概率就是[12](s2)×2\left[\dfrac{1}{2}\right]^{\binom{s}{2}} \times 2(乘以2是因为有两种可能的“同色”)。因此总的概率就可以被放缩为(Ms)×21(s2)\dbinom{M}{s}\times 2^{1-\binom{s}{2}},代入M=2s/2M=2^{s/2}2s/2!s!(2s/2s)!×2×12s(s1)2\dfrac{2^{s/2}!}{s!(2^{s/2}-s)!} \times 2 \times \dfrac{1}{2^{\frac{s(s-1)}{2}}},它是小于1的!这样证明就结束了。

当我们要证明“可能出现不存在的情况”时,只需证明“存在的概率小于1”。为此,我们可以枚举所有可能情况,这些可能情况的并集恰好构成“存在”这一事件。我们不直接计算这个并集的概率,而是计算每个可能情况的概率之和,这个和通过Union Bound给出了“存在的概率”一个上界,如果这个上界都已经小于1,那么我们想证明的概率就一定小于1。这就是证明“存在”的一种概率方法。

独立事件

对于概率空间(Ω,F,Pr)(\Omega,\mathcal{F},\Pr)中的两个事件A,BFA,B \in\mathcal{F},定义两个事件是独立的当且仅当Pr(AB)=Pr(A)Pr(B)\Pr(A \cap B)=\Pr(A) \cdot \Pr(B)。对于多个事件A1,,AnA_1,\cdots,A_n,定义它们“互相独立”当且仅当对于任何I[n]I\subseteq [n]Pr(iIAi)=iIPr(Ai)\Pr(\bigcap\limits_{i \in I}A_i) = \prod\limits_{i \in I}\Pr(A_i)

特别需要注意的是,“互相独立”的定义与“两两独立”有所不同。它们并不是一回事。“互相独立”的要求更高。我们将会在随机变量一节中给出两两独立但并不“互相独立”的反例。

“独立”这个概念根据字面意思来理解,就是两个事件之间“没有关联”。比如就“在1,2,3,4中选数”这个样本空间中,“选到1或2”这个事件对应着A={1,2}A=\{1,2\},“选到1或3”这个事件对应着B={1,3}B=\{1,3\},那么发现Pr(AB)=Pr(A)Pr(B)\Pr(A \cap B)=\Pr(A)\Pr(B),所以这两个事件根据我们的定义就是独立的!

我们来看一个多项式恒等判定的例子。如果两个多项式P(x),Q(x)P(x),Q(x)是黑箱,那么如何判定它们是否恒等?假设它们的次数都不超过dd次,那么假如我们选取dd个不同的实数xix_i,对于每个都满足P(xi)=Q(xi)P(x_i)=Q(x_i),那么对于多项式T(x)=P(x)Q(x)T(x)=P(x)-Q(x)x1,,xdx_1,\cdots,x_d就是T(x)T(x)dd个根。如果我们再选一个xd+1x_{d+1},依然满足T(xd+1)=0T(x_{d+1})=0,那说明TTd+1d+1个根——这只可能是T(x)0T(x) \equiv 0,因为代数基本定理告诉我们一个dd次多项式最多只能有dd个不同的实数根。

由此我们可以采用概率方法来判定两个多项式是否恒等。我们选取一个样本集AA,里面是一些不同的实数(整数或许更加方便)。均匀随机(Uniformly At Random, u.a.r.)从AA中选取一个数字aa,如果P(a)=Q(a)P(a)=Q(a)就返回二者恒等,否则返回二者不等。这个算法怎么样呢?如果P,QP,Q确实恒等,那么我们的算法始终返回的是正确结果;如果P,QP,Q不等, 我们的算法返回“恒等”的概率是多少?由于P,QP,Q不等, 能满足P(xi)=Q(xi)P(x_i)=Q(x_i)xix_i在实数范围内就一定不超过dd个,因此我们抽取的aa恰好满足的概率不超过dA\dfrac{d}{|A|}。因此如果选择大小为100d100d的样本集,算法的出错概率就达到了1100\leq \dfrac{1}{100}

由于A|A|的增大是有代价的,使得A|A|越大并不一定越是好事。如何进一步提高算法的正确性呢?如果我们多次选择aa,比如选tt次,只有当每一次都满足P(ai)=Q(ai)P(a_i)=Q(a_i)才返回“恒等”,否则只要有一个不相等就返回“不恒等”,这样的算法在多项式明明不恒等却返回恒等的概率是多少?此时我们的样本空间变成了AtA^t,其中的基本事件为“一种取tt次的方法”。我们考虑“第ii次选到的数xx满足P(x)=Q(x)P(x)=Q(x)”这一事件发生的概率,记为Pr[P(ai)=Q(ai)]\Pr[P(a_i)=Q(a_i)]。我们可以验证P(ai)=Q(ai)P(a_i)=Q(a_i)P(aj)=Q(aj)P(a_j)=Q(a_j)是独立的,因为Pr[P(ai)=Q(ai)P(aj)=Q(aj)]=D2A2\Pr[P(a_i)=Q(a_i) \cap P(a_j)=Q(a_j)]=\dfrac{|D|^2}{|A|^2},其中DDAAP(x)Q(x)P(x)-Q(x)的根的集合;而Pr[P(ai)=Q(ai)]=Pr[P(aj)=Q(aj)]=DA\Pr[P(a_i)=Q(a_i)]=\Pr[P(a_j)=Q(a_j)]=\dfrac{|D|}{|A|},这样我们就验证了独立性,并且可以用类似的方法验证第11次到第nn次每一次满足P(ai)=Q(ai)P(a_i)=Q(a_i)所有这些事件是“两两独立的”,因此直接得到Pr[i[t]P(ai)=Q(ai)]=i=1tPr[P(ai)=Q(ai)]=DtAt\Pr[\bigcap\limits_{i \in [t]}P(a_i)=Q(a_i)]=\prod\limits_{i=1}^{t}\Pr[P(a_i)=Q(a_i)]=\dfrac{|D|^t}{|A|^t},当A|A|100d100d时,可放缩为1100t\dfrac{1}{100^t}

条件概率

对于概率空间(Ω,F,Pr)(\Omega,\mathcal{F},\Pr)中的两个事件A,BFA,B \in\mathcal{F},定义AA事件在BB事件发生下的条件概率为Pr(AB)=Pr(AB)Pr(B)\Pr(A|B)=\dfrac{\Pr(A \cap B)}{\Pr(B)},记为ABA \perp B。这是符合我们的直观的,当我们讨论“BB发生的条件下”时,我们把讨论区域限制在了BB内,因此BB就“好像是整个空间”了——所以我们除掉BB发生的概率。

两个互相独立的事件其中一个在另一个的条件下发生的概率应该就是它本身发生的概率,代入验证这确实成立:由于Pr(AB)=Pr(A)Pr(B)\Pr(A \cap B)=\Pr(A) \cdot \Pr(B)恰好得到Pr(AB)=Pr(AB)Pr(B)=Pr(A)Pr(B)Pr(B)=Pr(A)\Pr(A|B)=\dfrac{\Pr(A \cap B)}{\Pr(B)}=\dfrac{\Pr(A)\Pr(B)}{\Pr(B)}=\Pr(A)。这也是我们理解独立的一种方法,两事件独立等价于其中一个在另一个发生下的条件概率就是它自己,这表明A,BA,B是“没有关系”的。

我们可以把条件概率的等式变形为Pr(AB)=Pr(AB)Pr(B)\Pr(A\cap B) = \Pr(A|B) \cdot \Pr(B)。于是我们能够得到一个求解事件的交集的概率的链式法则:Pr(A1An)\Pr(A_1 \cap \cdots \cap A_n) =Pr(AnA1An1)Pr(A1An1)=\Pr(A_n|A_1 \cap \cdots \cap A_{n-1}) \cdot \Pr(A_1 \cap \cdots \cap A_{n-1}) ==\cdots =Pr(A1)Pr(A2A1)Pr(A3A1A2)Pr(An1A1An2)Pr(AnA1An1)=\Pr(A_1)\cdot \Pr(A_2 | A_1)\cdot \Pr(A_3|A_1 \cap A_2) \cdots \cap \Pr(A_{n-1}|A_1 \cap \cdots \cap A_{n-2})\cdot\Pr(A_n|A_1 \cap \cdots \cap A_{n-1})。它在直观上似乎更好理解,因为所有事件同时发生的概率可以写作“第一个事件发生的概率乘上在第一个事件发生的条件下第二个事件发生的概率乘上第一个事件和第二个事件都发生的条件下第三个事件发生的概率……”

Birthday Paradox

23个人里有两个人生日在同一天的概率达到50%,60个人里有两个人生日在同一天的概率达到99%。如何计算这个“生日悖论”的概率?

抽象为数学问题,我们可以这样描述:把mm个小球随机放进nn个箱子里,存在一个箱子里有至少两个小球的概率是多大?我们的概率空间是所有从[m][m][n][n]的映射ff,要计算的是“映射不为单射”这一事件的概率。为此,我们再考虑一系列事件AiA_i,其中AiA_i表示“f(i)f(j)f(i) \neq f(j)j[i1]j\in [i-1]恒成立”这一事件,它对应了一系列映射,直观上表示的是如果我们把丢球的过程拆分成一个个按顺序丢球的过程,这个事件代表第ii个球在丢的时候箱子里还是空的。于是“映射不为单射”这一事件等价于所有AiA_i都发生,因此我们要算的就是Pr[A1A2Am]\Pr[A_1 \cap A_2 \cap \cdots \cap A_m]。利用链式法则,我们可以把它转化为条件概率:Pr[AiA1Ai1]\Pr[A_i|A_1 \cap \cdots \cap A_{i-1}]是容易计算的,由于前i1i-1个球都对应了不同的箱子,留下的空箱子只有n(i1)n-(i-1)个,因此它的值就是ni+1n\dfrac{n-i+1}{n}。于是求得Pr[A1A2Am]=i=1mni+1n\Pr[A_1 \cap A_2 \cap \cdots \cap A_m]=\prod\limits_{i=1}^{m}\dfrac{n-i+1}{n},它可以写作(11n)(1m1n)\left( 1-\dfrac{1}{n}\right)\cdots \left( 1-\dfrac{m-1}{n}\right),根据1+xex1+x\leq e^x恒成立,1kn<ekn1-\dfrac{k}{n} < e^{-\frac{k}{n}},因此原式放缩为e1n[1+2++(m1)]=em(m1)2ne^{-\frac{1}{n}[1+2+\cdots+(m-1)]}=e^{-\frac{m(m-1)}{2n}}

n=365n=365,则当m=23m=23时值恰好在0.5左右。当m=60m=60时它小于0.01,因此生日重复的概率高达99%。

全概率公式

对于A,BFA,B \in \mathcal{F},恒成立Pr(A)=Pr(AB)+Pr(AB)\Pr(A)=\Pr(A \cap B)+\Pr(A \cap \overline{B})。它可以推广,因为关键在于B,BB,\overline{B}构成了全集Ω\Omega的一个划分。如果全集能被划分为nn个部分B1,,BnB_1, \cdots ,B_n,那么

A,Pr(A)=i=1nPr(ABi)\forall A, \Pr(A)=\sum\limits_{i=1}^{n}\Pr(A \cap B_i)

给定三个n×nn \times n 的矩阵A,B,CA,B,C,验证是否成立AB=CAB=C

如果采用随机算法,我们可以随机一个长度为nn的01向量xx,验证是否成立ABx=CxABx=Cx,如果成立返回等于,否则返回不等于。这和验证多项式是否恒等的例子很相似,我们来分析这个算法出错的概率——同样的,只有可能在ABCAB \neq CABx=CxABx=Cx时算法出错。由于移项可得ABC0,(ABC)x=0AB-C \neq 0,(AB-C)x=0,我们的问题等价于验证对于给定的一个矩阵DDD0D \neq 0,要求u.a.r随机一个01向量xxDx=0Dx=0的概率。

注意,DD是固定的。我们的随机在于向量xx的随机,因此我们的样本空间就是{0,1}n\{0,1\}^n,我们想求出Pr[Dx=0]\Pr[Dx=0]。我们做一点放缩,如果只要求满足i=1nD1ixi=0\sum\limits_{i=1}^{n}D_{1i}x_i=0,即只令DxDx的第一维坐标取0,那么满足要求的xx相比于Dx=0Dx=0更多了,换言之事件Dx=0Dx=0被包含于事件i=1nD1ixi=0\sum\limits_{i=1}^{n}D_{1i}x_i=0,因此肯定有Pr[Dx=0]Pr[i=1nD1ixi=0]\Pr[Dx=0] \leq \Pr[\sum\limits_{i=1}^{n}D_{1i}x_i=0]。这里我们不妨假设存在一个D1k=0D_{1k}=0(不然这一行DD全0,我们会得到概率1,放缩放得太大了!所以我们不能取全0行来做这个放缩,这时我们得换一行),那么i=1nD1ixi=0\sum\limits_{i=1}^{n}D_{1i}x_i=0可以移项得xk=1D1kikD1ixix_k=-\dfrac{1}{D_{1k}}\sum\limits_{i \neq k}D_{1i}x_i。如果除了xkx_k以外都固定,只有xkx_k随机,那我们发现等式右边就是一个固定的值,因此0和1中最多只有一个值是答案,所以概率小于等于1/21/2。这是我们的直观想法,把“局部固定”这件事严格化就恰好用到了全概率公式——对于每个固定的x1,,xk1,xk+1,,xnx_1,\cdots,x_{k-1},x_{k+1},\cdots ,x_n,让它附带上xk=0x_k=0xk=1x_k=1,就构成了样本空间的一个划分EjE_j。把xk=1D1kikD1ixix_k=-\dfrac{1}{D_{1k}}\sum\limits_{i \neq k}D_{1i}x_i记为事件GG,于是Pr[G]=jPr[GEj]\Pr[G]=\sum\limits_{j}\Pr[G \cap E_j],转化为条件概率=jPr[GEj]Pr[Ej]=\sum\limits_{j}\Pr[G|E_j]\cdot \Pr[E_j]。易知Pr[Ej]\Pr[E_j]是常数,由于是划分求和后为1。而此时Pr[GEj]\Pr[G|E_j]这个条件概率就转化成我们显然能理解的了,有Pr[GEj]1/2\Pr[G|E_j] \leq 1/2。因此jPr[GEj]Pr[Ej]12jPr[Ej]\sum\limits_{j}\Pr[G|E_j]\cdot \Pr[E_j] \leq \dfrac{1}{2}\sum\limits_{j}\Pr[E_j],由于EjE_j是划分,jPr[Ej]=1\sum\limits_{j}\Pr[E_j]=1。综上Pr[G]1/2\Pr[G]\leq 1/2。因此Pr[Dx=0]1/2\Pr[Dx=0] \leq 1/2

随机变量

随机变量是从样本空间到实数的映射ΩR\Omega \to \R。比如“投两个骰子”的样本集有36个基本事件,此时“点数之和”是一个随机变量,(2,5)(2,5)这个样本映射到实数77

形式化地,我们用X=aX=a来表示随机变量XX的取值为aa这一事件,它其实表示的是集合{sΩX(s)=a}\{s\in \Omega|X(s)=a\}。从映射的角度,我们要在样本空间里找到aa对应的原像的所有那些事件。更一般的,对于实数中的集合II类似的也可以定义事件XIX \in I,它对应着{sΩX(s)I}\{s \in \Omega| X(s) \in I\}

我们特别地定义一个记号1[A]\mathbb{1}[A]表示一个随机变量(函数),其中AA是一个事件。这个随机变量作用在一个基本事件上,1[A](ω)=1\mathbb1 [A](\omega)=1当且仅当ωA\omega \in A,否则函数值为0。它直观上用来指示事件AA是否会发生。

根据基本事件的定义,Pr(X=a)=X(s)=a,sΩPr(s)\Pr(X=a)=\sum\limits_{X(s)=a,s\in\Omega}\Pr(s)。由此可见我们其实是在用随机变量描述事件!因此我们可以把事件的性质应用到随机变量上。比如我们可以定义随机变量的独立性:XXYY独立当且仅当对于任意的a,ba,b始终成立Pr((X=a)(Y=b))=Pr(X=a)Pr(Y=b)\Pr((X=a)\cap (Y=b))=\Pr(X=a)\cdot\Pr(Y=b),记为XYX \perp Y。同样地,对于多个随机变量X1,,XnX_1,\cdots,X_n定义它们“互相独立”当且仅当对于任何I[n]I\subseteq [n]Pr[iI(Xi=ai)]=iIPr(Xi=ai)\Pr[\bigcap\limits_{i \in I}(X_i=a_i)] = \prod\limits_{i \in I}\Pr(X_i=a_i)

现在我们给出两两独立但不互相独立的反例:假设我们抛两次硬币,抛到正面取1,抛到反面取0。因此基本事件就是一个长度为2的01串。设随机变量X(ω)X(\omega)是从基本事件到其第一位的数字的映射(表示第一次的结果),Y(ω)Y(\omega)是到第二位数字的映射,而定义Z(ω)=X(ω)Y(ω)Z(\omega)=X(\omega) \oplus Y(\omega)(异或),我们可以验证它们两两独立,但当I=[3]I=[3]Pr[X=0Y=0Z=0]=1/4\Pr[X=0 \cap Y=0\cap Z=0]=1/4,而Pr[X=0]=1/2\Pr[X=0]=1/2Pr[Y=0]=1/2\Pr[Y=0]=1/2Pr[Z=0]=1/2\Pr[Z=0]=1/2,因此不成立,所以它们“两两独立”但是并不是“互相独立”的。

期望的线性性

期望是随机变量的一个重要特征:随机变量的期望定义为其概率的加权平均值。E[X]=iiPr(X=i)E[X]=\sum\limits_{i}i\Pr(X=i)。它也可以按照基本事件来给出E[X]=ωX(ω)Pr(ω)E[X]=\sum\limits_{\omega}X(\omega)\Pr(\omega)

一个最重要的定理称为“期望的线性性”,它指出当“期望”这样一个映射作用在若干个随机变量的“和”上时,等价于分别作用于每个随机变量再对它们求和:对于有限个随机变量X1,,XnX_1,\cdots,X_n始终满足E[i=1nXi]=i=1nE[Xi]E\left[\sum\limits_{i=1}^{n}X_i\right]=\sum\limits_{i=1}^{n}E[X_i]。证明就是根据定义:E[X+Y]=ij(i+j)Pr((X=i)(Y=j))E[X+Y]=\sum\limits_{i}\sum\limits_{j}(i+j)\Pr((X=i)\cap(Y=j)),提出固定的变量得到iijPr((X=i)(Y=j))+jjiPr((X=i)(Y=j))\sum\limits_{i}i\sum\limits_{j}\Pr((X=i)\cap(Y=j))+\sum\limits_{j}j\sum\limits_{i}\Pr((X=i)\cap(Y=j)),而后面的那个和式恰好就是全概率公式,因此直接可以化简得到iiPr(X=i)+jjPr(Y=j)\sum\limits_{i}i\Pr(X=i)+\sum\limits_{j}j\Pr(Y=j),这就是E[X]+E[Y]E[X]+E[Y]。这就证明了期望的线性性。从更高的角度看,期望的线性性其实来自于我们的求和的性质,这个性质在连续世界里就是“积分的线性性”。

重要的是,期望的线性性没有对随机变量提出任何的要求,即使两个随机变量不是“独立”的,它们的期望也始终符合“线性性”这一特征。这对我们计算期望提供极大的方便。

例如,我们求掷两次骰子的期望点数之和,一种方法是令XX这个随机变量为点数之和,求得E=i=212i1616min{i1,13i}=7E=\sum\limits_{i=2}^{12}i \cdot \dfrac{1}{6}\cdot \dfrac{1}{6} \cdot \min\{i-1,13-i\}=7,而如果分别用X1X_1X2X_2表示单独掷一次骰子的期望(实际上是只看某一次结果的随机变量),容易算出E0=i=16i6=7/2E_0 = \sum\limits_{i=1}^{6}\dfrac{i}{6}=7/2,两者相加就能直接得到77

再例如,我们想知道一个给定的长度为kk的01串在长度为nn的01随机串里出现的期望次数。 利用期望的线性性,我们只需求出每个固定位置上出现该串的概率,再把它们相加即可。(这里我们用到了“某事件是否发生的期望就是它的概率”这一事实,严格化书写就是E[1[A]]=1Pr[A]+0Pr[A]=Pr[A]E[\mathbb1[A]]=1 \cdot \Pr[A]+0\cdot \Pr[\overline{A}]=\Pr[A]

再看一个有趣的例子。假设在我们在数轴上随机游走,从原点出发,每秒钟等概率向左或向右移动1,问tt秒以后期望走到哪里。那么根据期望的线性性,每一步都期望移动距离0,因此tt秒之后还是期望移动距离0,因为我们没有理由偏爱任何一个方向,我们不可能破坏对称性。事实上,对称性让这个问题变得无趣了,任意一个走到xx的方案都会有一个走到x-x的方案与它抵消。 一个更有意思的问题是问位移绝对值的期望,那样正负相消就不起效果了——我们从数学上来讨论他,记Zt=i=1tXiZ_t = \sum\limits_{i=1}^{t}X_i,其中XiX_i是表示第ii步往右走还是往左走的随机变量。我们用一点数学技巧来解决这个问题,把Zt|Z_t|写作i=1t(ZiZi1)\sum\limits_{i=1}^{t}(|Z_i|-|Z_{i-1}|),于是E[Zt]=i=1tE[ZiZi1]E[|Z_t|]=\sum\limits_{i=1}^{t}E[|Z_i|-|Z_{i-1}|],这是容易计算的,因为E[ZiZi1]=(Zi1+1Zi1)+(Zi11Zi1)2E[|Z_i|-|Z_{i-1}|]=\dfrac{(|Z_{i-1}+1|-|Z_{i-1}|)+(|Z_{i-1}-1|-|Z_{i-1}|)}{2},画出函数图像注意到当Zi11Z_{i-1} \geq 11\leq -1时函数值恒为0,只有在[1,1][-1,1]形成了一个45度角的突起。而由于任何一个ZZ都是整数,因此这个函数只有可能在Z=0Z=0时取到1,其余都为0。这样就得到E[ZiZi1]=1[Zi1=0]E[|Z_i|-|Z_{i-1}|]=\mathbb1[Z_{i-1}=0]。因此E=i=1t1[Zi1=0]E=\sum\limits_{i=1}^{t}\mathbb1[Z_{i-1}=0]。容易发现我们只有可能在偶数步的时候回到原点,因此也等价于E=i=0T/21[Z2i=0]E=\sum\limits_{i=0}^{T/2}\mathbb1[Z_{2i}=0]。这是组合问题,我们必须走相同个数的左边和右边才会回到原点,因此写出E=i=0T/2(2ii)122iE=\sum\limits_{i=0}^{T/2}\dbinom{2i}{i}\dfrac{1}{2^{2i}},用Stirling公式代换阶乘,每一项可以近似为1πi\dfrac{1}{\sqrt{\pi i}},于是E1+i=1T/21πi=O(T)E \approx 1+\sum\limits_{i=1}^{T/2}\dfrac{1}{\sqrt{\pi i}}=O(\sqrt{T})(用积分来估计)。

当然,为了完善“线性性”这一概念,我们还应当证明E[cX]=cE[X]E[cX]=cE[X]:这是容易的,E[cX]=iiPr(cX=i)=cii/cPr(X=i/c)=cE[X]E[cX]=\sum\limits_{i}i\Pr(cX=i)=c\sum\limits_{i}i/c\Pr(X=i/c)=cE[X]

必须要指出的是,期望的线性性只对“有限个变量求和”成立。当变量有无穷个时它会出问题。我们再次从连续世界来看它,期望本身是一个积分,而对无穷多个变量求和本质上也是一个积分,因此期望的线性性就是一个“重积分能否化为累次积分的问题”,我们知道这是不一定能做到的。