(概率DP)正向推概率,反向推期望

本文通过飞行棋游戏,对比分析了正向推概率与逆向推期望的算法效率。以n=20为例,阐述了逆推算法如何简化从起点到目标格子的平均步数计算过程,指出在结局固定的游戏场景中,逆推算法更优。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自大神博客:传送门

这个思想真是太经典了!

为什么要正向推概率,反向推期望呢?

首先,我们看看什么是条件概率

事件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概率dp是两种不同的动态规划方法。 期望dp是指通过计每个状态的期望值来求解最终的期望。在期望dp中,我们通常定义dp\[i\]表示在第i个状态时的期望值,然后通过状态转移方程来更新dp数组,最终得到最终状态的期望值。期望dp通常用于求解期望问题,例如求解骰子的期望点数、求解抽奖的期望次数等。 概率dp是指通过计每个状态的概率来求解最终的概率。在概率dp中,我们通常定义dp\[i\]表示在第i个状态时的概率,然后通过状态转移方程来更新dp数组,最终得到最终状态的概率概率dp通常用于求解概率问题,例如求解抛硬币出现正面的概率、求解从一副牌中抽到红心的概率等。 总结来说,期望dp概率dp的区别在于它们所计的是不同的值,期望dp的是期望值,而概率dp的是概率值。 #### 引用[.reference_title] - *1* [概率/期望dp专题](https://blog.youkuaiyun.com/qq_34416123/article/details/126585094)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [【动态规划】数学期望/概率DP/期望DP详解](https://blog.youkuaiyun.com/weixin_45697774/article/details/104274160)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值