概率及期望

概率:

对于一事件 A 它可以由很多个事件转移过来,转移之前的事件设成事件 Bi (这里我们保证所有的事件 Bi 构成完备事件组,即它们两两互不相容,其和为全集),对于每一个 i 都对应着一个转移到 A 的概率。我们可以对这个概率进行分析,首先事件 Bi 发生,其次事件 Bi 发生的条件下事件 A 发生的概率,所以全概率公式为 P(A)=i=1nP(Bi)×P(A|Bi)
image
所以在做题的时候我们可以知道对于求一个状态的概率,我们需要知道所有能转移到他的情况以及每种情况转移到他的概率,在这个时候我们必须要保证所有的前身事件必须两两互斥,至于是否和为全集我们不考虑,但是必须包含能转移到A的所有情况。
例:投骰子,点数1-6,投出几就走几步,起点是1,求到达x点的概率。
思路:利用全概率公示的思想。
过程:设 dp[i] 为从1到 i 点的概率,最终结果就是 dp[x] ,能投一次就到达 i 点的位置是: i1,i2,i3,i4,i5,i6 ,这六种情况。对于第 j 个事件转移到i的概率就是 dp[ij]×P(i|ij) ,然而在这种情况下我们假设先到达了 i6 这个点,而我们又投出了3点,那么我们将会到达 i3 这个点,所以导致我们找到的前身事件之间并不是两两互斥的,所以我们需要重新定义前身事件。定义到达i点的前身事件是到达 ij 且不经过 ij+1ij+2... ,这样就保证了各个前身时间的互斥性。所以我们重新考虑一个前身事件的计算方式:到达 ij 且不经过 iji 之间的其他点的概率是 dp[ij]×(7j)/6 ,接下来我们考虑全概率公式条件概率的部分,也就是到达 ij 这个点并且不经过 iji 之间的节点一步到达i的概率 1/(7j) 所以我们就可以得到转移方程 dp[i]=j=16dp[ij]×(7j)/6×1/(7j)=j=16dp[ij]/6 ,初始条件就是 dp[1]=1 ,递推即可。

期望:

涉及到全期望公式,虽然还不理解,看上去形式和全概率公式极其相似 E(B)=i=1NP(Ai)×E(B|Ai) ,接下来就用例题来加深一下理解。
例:投骰子,点数 16 ,投出几就走几步,起点是1,求到达 x 点的期望步数。
思路:利用全概率公式。
过程:设 E(i) 代表从 i 点到 x 点的期望步数,最终结果就是 E(1) 。此时我们最先知道 E(x)=0 ,我们考虑用逆推的形式,也就是说所有的期望都是由它后继的期望转移过来,我们考虑对于一个点 i 它的后继可能的情况就是:i+1,i+2,i+3,i+4,i+5,i+6 ,那么 i 这个点转移到其中任意一种情况的概率都是 1/6 ,所以根据全概率公式我们可以写出 E(i)=j=16(E(i+j)+1)/6=j=16E(i+j)/6+1
接下来我们来分析第二种解题方法也就是找事件的前身来对该节点的期望值进行更新。
思路同上。
过程:设 e(i) 是从 1 节点到达 i 节点的期望步数。最终的结果就是 e(x) 。此时我们最先知道 e(1)=0 ,所以我们考虑顺着推。对于一个节点i他的前驱的可能情况:i1,i2,i3,i4,i5,i6 ,就像我们一开始分析概率顺着转移的时候,我们需要保证每个事件之间是互不相容的。所以在这里我们观察全期望公式,对于 P(Aj) 分我们知道这个概率和上面我们所求概率时的概率时一样的,因为在设置事件的时候还是按照原来的思想就是到达点i-j且不经过i-j到i之间的所有节点的情况,P(Aj)=dp[ij]×(7j)/6 ,接下来我们考虑 E(B|Aj) 部分。
状态决定转移顺序,因为状态决定了我们可以先知道哪些数值,利用已知来推未知。

posted @   top_x  阅读(106)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
点击右上角即可分享
微信分享提示