动态规划 —— 概率 DP 与期望 DP
【概述】
由于概率和期望具有線性性質,使得可以在概率和期望之間建立一定的遞推關系,這樣就可以通過動態規劃來解決一些概率問題,例如概率和期望的最值問題就常常使用概率 DP、期望 DP 來解決。
與其他的動態規劃一樣,合理的選擇狀態以及高效的狀態轉移方程是關鍵,選擇合適的狀態不僅可以提高效率,而且可以保證動態規劃所必須的無后效性。
一般來說,將問題直接作為狀態是最好的,當找到正確的狀態定義后,轉移是較容易想到的,一般的遞推即可確定轉移。
例如:n 個人做 XX 的期望次數,可以設計狀態 f[i] 表示 i 個人做完事的期望。
【概率 DP】
概率 DP 通常已知初始的狀態,然后求解最終達到目標的概率,因此概率 DP 需要順序求解。
其相較于期望 DP較為簡單,當前狀態只需加上所有上一狀態乘上轉移概率即可,即:f[i]=f[i-1]*p[i]
【期望 DP】
期望 DP 與概率 DP 不同,其需要倒序求解。
當求解達到某一目標的期望花費時,由于最終的花費無從知曉(無法從無窮推起),因此期望 DP 需要倒序求解。
設 f[i]?為?i?狀態下實現目標的期望值,即到了 f[i]?這個狀態的差距是多少。
初始時,令 f[n]=0,即在目標狀態期望值為 0,然后進行狀態轉移,新的狀態為上一狀態與轉移概率的乘積再加上轉移的花費
即:f[i-1]=f[i]*p[i]+w
最后初始位置 f[0] 即為所求的期望值
需要注意的是,當轉移關系不成環時,期望 DP?可以進行線性遞推,但當轉移關系成環時,期望 DP 的最終狀態相當于一個已知量,而轉移關系相當于一個個方程,此時需要使用高斯消元法來解決。
【例題】
- Discovering Gold(LightOJ-1030)(期望DP):點擊這里
- Dice (III)(LightOJ-1248)(期望DP):點擊這里
- Just another Robbery(LightOJ-1079)(概率DP+01背包):點擊這里
- Let's Play Osu!(CF-236D)(期望DP):點擊這里
- Piglet's Birthday(CF-248E)(概率DP):點擊這里
- Robots(2019 ACM-ICPC 南京賽區網絡賽 D)(期望DP):點擊這里
- Everything Is Generated In Equal Probability(HDU-6595)(期望DP):點擊這里
- Kejin Player(HDU-6656)(期望DP+降維):點擊這里
總結
以上是生活随笔為你收集整理的动态规划 —— 概率 DP 与期望 DP的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通(1040:输出绝对值)
- 下一篇: 训练日志 2019.1.31