前言
突然发现自己没有系统学过期望。
做一本通的时候是从二分图开始听的课,dp这一章只是四处搜题解而已。
做期望题基本都是靠玄学和《感性理解》
都是很简单的东西,但系统很重要,该补的还是要补的。
期望的基本性质
- E(c)=cE(c)=cE(c)=c
- E(cx)=cE(x)E(cx)=cE(x)E(cx)=cE(x)
- E(x+y)=E(x)+E(y)E(x+y)=E(x)+E(y)E(x+y)=E(x)+E(y)
- E(xy)=E(x)E(y)E(xy)=E(x)E(y)E(xy)=E(x)E(y) (条件:x,y相互独立)
比较容易错的是第四条。其实这个性质附带的条件是很自然的,把两边的期望式子都拆开:
∑i,jxiyjP(x=xi,y=yj)=(∑ixiP(x=xi))×(∑jyjP(y=yj))\sum_{i,j} x_iy_jP(x=x_i,y=y_j)=(\sum_i x_iP(x=x_i))\times (\sum_j y_jP(y=y_j))i,j∑xiyjP(x=xi,y=yj)=(i∑xiP(x=xi))×(j∑yjP(y=yj))
这个东西成立的条件是 P(x=xi,y=yj)=P(x=xi)×P(y=yj)P(x=x_i,y=y_j)=P(x=x_i)\times P(y=y_j)P(x=xi,y=yj)=P(x=xi)×P(y=yj),也就是 x,yx,yx,y 相互独立。
第三条看着特显然但是也不是那么显然。
E(x+y)=∑i,j(xi+yj)P(x=xi,y=yj)=∑ixi∑jP(x=xi,y=yj)+∑jyj∑iP(x=xi,y=yj)=∑ixiP(x=xi)+∑jyjP(y=yj)=E(x)+E(y)E(x+y)=\sum_{i,j} (x_i+y_j)P(x=x_i,y=y_j)\\=\sum_i x_i\sum_j P(x=x_i,y=y_j)+\sum_{j}y_j\sum_i P(x=x_i,y=y_j)\\=\sum_ix_iP(x=x_i)+\sum_jy_jP(y=y_j)\\=E(x)+E(y)E(x+y)=i,j∑(xi+yj)P(x=xi,y=yj)=i∑xij∑P(x=xi,y=yj)+j∑yji∑P(x=xi,y=yj)=i∑xiP(x=xi)+j∑yjP(y=yj)=E(x)+E(y)
其中 ∑jP(x=xi,y=yj)\sum_j P(x=x_i,y=y_j)∑jP(x=xi,y=yj) 自然语言就是只要 x=xix=x_ix=xi,yyy 取什么值都行,那么也就是 P(x=xi)P(x=x_i)P(x=xi),才有了第二行到第三行的变换。
其中第三条极其常用,当总问题较为复杂时,常常将其拆分为几个小问题分别进行期望的求解。
较复杂的期望模型
给出初始状态 SSS,终止状态 TTT。
每个状态 AAA 有若干转移状态 BiB_iBi 和对应的概率以及转移代价,∑P(A→Bi)=1\sum P(A\to B_i)=1∑P(A→Bi)=1。
定义 E(x)E(x)E(x) 表示从 xxx 到结束的期望代价,则有转移:
E(A)=∑i(E(Bi)+cost(A→Bi))∗P(A→Bi)E(A)=\sum_{i}(E(B_i)+cost(A\to B_i))*P(A\to B_i)E(A)=i∑(E(Bi)+cost(A→Bi))∗P(A→Bi)
转移正确性来自期望本身的定义。
当转移为 DAG 时,直接拓扑即可。(绿豆蛙的归宿)
当转移有环时,高斯消元。(随机游走)
利用概率求解期望
先求出每个事件的概率,最终乘上其对应的价值,也可以求出期望。