概率与期望入门

概率与期望入门

定义

期望的定义是:

\[\mathrm{E}(\mathrm{X})=\operatorname{Sum}\left[\mathrm{P}(\mathrm{X}=\mathrm{i}){\times} \mathrm{i}\right] \]

通俗易懂的讲就是每种情况出现的概率\(\times\)这种情况的权值。

几种常用的处理方式

当状态转移方式不变时

如果遇到状态转移方式不变时,这类题就很好做了。

一道经典例题:

LOOPS

在这道题中,对于每一个格子,它能转移到哪些格子都是确定了的。我们知道这个格子\(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状态的定义没有任何改变。只是每个状态的值代表这个状态后面产生的期望。

posted @ 2019-11-05 19:58  GavinZheng  阅读(667)  评论(0编辑  收藏  举报