(概率DP)正向推概率,反向推期望
来源:互联网 发布:php后端是什么 编辑:程序博客网 时间:2024/05/17 04:38
这个思想真是太经典了!
为什么要正向推概率,反向推期望呢?
首先,我们看看什么是条件概率。
事件A在另外一个事件B已经发生条件下的发生概率。条件概率表示为P(A|B),读作“在B条件下A的概率”。
然后,我们再看看什么是贝叶斯公式。
算了,我就不扯了,自己点进去看吧。
现在,正文来了。
拿飞行棋来说,可以先看看我的博客,我写了3种方法算从0到n的平均步数,很明显,最后那个逆推的算法比前面2个顺推的算法要简单的多。
举个例子,假设n=20,m=0(即没有飞行线)
先看倒推。假设你已经在第10格了,那么你下面会有6种情况,11,12,13,14,15,16,你会以各自1.0/6的概率到底每一个格子。
所以
times[i] = (times[i + 1] + times[i + 2] + times[i + 3] + times[i + 4] + times[i + 5] + times[i + 6]) / 6 + 1
再看看顺推有什么不一样???
假设你想要到达第10格,那么你仍然有6种方案,从4到10,从5到10,从6到10,从7到10,从8到10,从9到10,
但是这6种方案的概率不是1.0/6 !
为什么会这样呢?
因为,飞行棋我们都知道,有些格子是到不了的,就是说你跳过去了,没有经过它。
所以说,能够到达每个格子的概率都是一个常数,但是这个常数很复杂,几乎没什么规律。
简单的说,假设能够到达4的概率是0.99,能够到达5,6,7,8,9的概率都是0.0001,
再假设从0到4平均要2步,从0到5,6,7,8,9的平均步数都是4步(请忽略我这个假设能否对应到真实的情况)
那么,到达10之前很可能就是从4跳过来的,那么到达10的平均步数就是大约3。
对于这种结局一定的游戏,求期望应该倒推(我认为我已经说清楚了为什么)
对于有些游戏,结局是无法预判的,只能说结局是某种情形的概率是多少,这种情况自然只能顺推了。例如,请看我的博客
- (概率DP)正向推概率,反向推期望
- BZOJ 1426 概率/期望DP神题 手推概率DP
- hdu4652(概率DP,推公式)
- bzoj1426 收集邮票(递推+概率期望)
- BZOJ3450 Easy-概率与期望-递推
- UVA 11427 Expect the Expected (概率dp+推公式求期望 详解)
- [ACM] hdu 3853 LOOPS (概率DP,递推)
- 概率DP,递推(麻球繁殖,UVA 11021)
- qut1362麻烦的转盘(概率dp或递推)
- HDU_5781_ATM_Mechine(概率期望dp)
- UVA 11427 - Expect the Expected(概率递推期望)
- 递推,概率DP,概率(你想当2^n元富翁吗?,uva 10900)
- UVa 10288(Coupons) 数学期望(概率+递推) Java
- 【bzoj 3450】【Tyvj 1952】Easy(概率与期望+递推)
- 【Codeforces Round 363 (Div 2) E】【概率DP 期望DP 逆推等价法】LRU Cache替换LRU原则超多步数后每个数据在Cache中的概率
- 概率dp 求期望
- 期望&概率dp总结
- 期望&概率dp总结
- [Cloud Computing]Mechanisms: Virtualization Agent
- 简易手写输入法软件的编写
- 搜索(1):剪枝
- windows 以服务形式启动tomcat(后台启动)
- TortoiseSVN怎么记住这个单词
- (概率DP)正向推概率,反向推期望
- [李景山php]每天laravel-20161002|Validator.php-2
- (模板题)poj 1459 Power Network(Edmonds-Karp算法求最大流)
- python 读取目录下csv文件并绘制曲线v111
- 目前我找过最好的xcode发布app教程
- C#中按汉字的拼音排序建筑物名称
- mfc命名规范
- Vim配置文件vimrc
- PAT 1003. 我要通过!