概率与期望入门
概率与期望入门
定义
期望的定义是:
通俗易懂的讲就是每种情况出现的概率\(\times\)这种情况的权值。
几种常用的处理方式
当状态转移方式不变时
如果遇到状态转移方式不变时,这类题就很好做了。
一道经典例题:
在这道题中,对于每一个格子,它能转移到哪些格子都是确定了的。我们知道这个格子\(P\)的期望有\(a的概率转移到格子A,b的概率转移到格子B,c的概率转移到格子C\),且\(a+b+c=1\)。
我们会发现,这个格子的期望\(E(P)\)有\(a\)的概率为\(E(A)\),\(b\)的概率为\(E(A)\),\(c\)的概率为\(E(A)\)。
那么根据期望的定义,我们就得知\(E(P)=aE(A)+bE(B)+cE(C)\)。那我们根据依赖的先后顺序依次求解就可以了。
当转移到的点都为等效点
在A Dangerous Maze (II)这道题中,我们发现一个点的转移方式可能会改变(随着游戏进行禁止某些转移方式),所以上面的方法是不可用的。
但是我们可以发现,这道题的起点能转移到的点都是等效点(终点),所以我们可以把他们的转移视为一样的。即将起点所有转移的代价这是为转移代价的平均值(转移代价的期望)。
在LightOJ-1342中也用到了这个技巧。
当状态与状态之间没有明显的线性递推关系
也就是说,每个状态的答案是独立的。
所以我们就能把问题分解成很多互不相关的子问题。根据期望线性,每一次的答案就是\(\sum子问题答案\)。
一道例题:LightOJ-1284
这道题就是把最终的答案拆成每个点期望答案之和。
压缩相同的状态
在概率与期望DP中很重要的一个操作是压缩状态。
举个例子:LightOJ-1248
如果记录哪些面被甩到过,显然是要炸的。但是我们发现每次甩到不重复的概率只和甩到过的个数有关。所以我们只用记录这个东西就好了。
而LightOJ-1342,是这道题的加强版。其实本质也是一样的,只用开两个维度,记录两种不同骰子面甩到的次数即可。
几个疑问
为什么期望概率DP都要倒着DP?
因为根据期望的定义,一个状态的期望值是\(\mathrm{E}(\mathrm{X})=\operatorname{Sum}\left[\mathrm{P}(\mathrm{X}=\mathrm{i}){\times} \mathrm{i}\right]\)。如果我们知道一个状态后面的所有状态的期望值,又知道这个状态通过每种转移方式转移的概率(一般在题目中均直接给出)。我们就能根据期望定义求出这个状态的期望值了。
相反,如果我们正着DP,我们只能知道状态\(A\)使用\(A\rightarrow B\)这种转移方式的概率,却不知道状态\(B\)被\(A\rightarrow B\)这种转移方式转移到的概率。\(A\rightarrow B\)这种转移方式的出现概率是\(P(A状态)\times P(A选择转移到B)\)。因为出现这个转移的概率要乘上一个\(A\)状态的出现概率,所以仔细想想就能发现,这两个概率是完全不同的。
DP状态的定义没有任何改变。只是每个状态的值代表这个状态后面产生的期望。