概率期望学习笔记
概率期望
本文主要参(chao(shan))考(xi(jian))自
《浅析信息学竞赛中概率论的基础与应用》--胡渊鸣
1.概率
1.1基础知识
概率就是对事情发生的可能性的度量。
竞赛用到的初等概率论有三个主要内容,样本空间Ω,事件集合F,概率测度P。 常说的事件,是样本空间Ω的一个子集。在竞赛中,往往可以认为样本空间Ω的每一个子集都是一个事件,所有事件的集合即为F。概率测度P是事件集合到实数的一个函数。一个合理的概率测度,需要满足以下三个公理:
-
对于任意的事件A,满足P(A)≤1
-
P(Ω)=1
-
对于任意的事件A,B,A∩B=∅,满足P(A∪B)=P(A)+P(B)
我们称满足条件的三元组(Ω,F,P)为概率空间。
1.2条件概率
条件概率就是已知一些条件之后,概率就会发生变化。例如:
有α和β两所大学,α大学99%是男生,β大学99%是女生(我也要去),假设两所大学人数相等。从两所学校中抽取一个人,求被选到的人是男生的概率有多么大。
很显然,这个概率就是50%,如果我们又得知了他来自α大学,那么他是男生的概率就是99%。由此可见,当我们得到了更多的信息后,概率就会发生变化。
如果我们设P(A|B)为在知道B事件发生的情况后A事件发生的概率,那么
其中,P(A,B)就是P(A∩B),也可写作P(AB)。
1.3全概率公式
设B1,B2,⋯,Bk是样本空间的一个划分,那么
如前面的例子,P(♂)=P(♂|Uα)P(Uα)+P(♂|Uβ)P(Uβ)=99%×50%+1%×50%=50%
全概率公式在概率论中有很重要的作用,在做题的时候也经常会用到,概率论中很多问题都涉及这个公式。
1.4Bayes公式
考虑P(A|B)P(B)=P(AB)=P(B|A)P(A),那么把中间去掉,就能得到
把Bayes公式和全概率公式结合起来,可以得到
例如已知选到的人是男生,求他是α大学的概率。
2.随机变量与期望
期望是概率题中又一个常出现的概念,他是随机变量的一个属性。
2.1随机变量
随机变量(random variable)实际上并不随机,也不是一个变量,而是一个定义在样本空间Ω上的一个确定的实值函数。
函数X:Ω⇒R是一个随机变量
在大多数情况下,有了随机变量就可以抛弃对原本样本空间的关注,而是集中于对于每个实值,随机变量能取到的概率。这实际是对样本空间的一个划分,将其随机变量值相同的事件划为一类。
2.2随机变量的期望
期望是对随机变量在平均情况下的一种刻画。对于一个随机变量X,其期望为:
其中X=k表示的是{ω|ω∈Ω,X(ω)=k}这个集合。
前一个式子是枚举每一个事件,而后一个式子就是对样本空间进行了划分。
2.3随机变量的独立性与乘积的期望
对于两个随机变量X1,X2和实数x1∈X1(Ω),x2∈X2(Ω),如果有P(X1=x1,X2=x2)=P(X1=x1)P(X2=x2),就称X1,X2相互独立。
两个相互独立的随机变量的重要性质是其积的期望等于其期望的积。
2.4期望的线性性
不论随机变量是否独立,总有:
这个性质非常常用,下面就是一道例题:
Maze (Codeforce 123E)
给定一颗树,从根节点S出发,到叶子节点T停止,求DFS算法的期望步数。其伪代码如下:
DFS(x)
if x == exit vertex then
finish search
flag[x] <- TRUE
random shuffle the vertices' order in V(x) // here all permutations have equal probability to be chosen
for i <- 1 to length[V] do
if flag[V[i]] = FALSE then
count++;
DFS(y);
count++;
分析:
首先,明确样本空间为从S到T的全部路径,期望变量X为路径的长度(加上弹栈的代价)。我们要求的就是E[X]。
我们构造一些小的随机变量Xe,其中,e是图上的一条边。Xe[ω]就是一条路径经过e的次数。对于∀ω∈Ω,X[ω]=∑eXe[ω],记为X=∑eXe。利用期望的线性性,可以得到E[X]=∑eE[Xe]。
如果e在S到T的必经之路上,那么经过次数显然为1,否则为0或2,所以难点就在于求出不在必经之路上的边的期望经过次数。
考虑一条不在必经之路上的边,设距离他最近的在必经之路上的点为u,这条边在u的儿子v对应的子树中,T在u的儿子w对应的子树中。可以发现,v≠w,否则最近的点可以是w。那么这条边能否被遍历到就取决于从u先遍历了v还是w,那么就是在边的排列中v是否排在w的前面。而在一个随机排列中,一个元素排在另一个的前面的概率就是12!所以这条边的期望经过次数就是1。
综上,所有边的期望经过次数都是1,那么如果树有n个点,不论树的形状如何,所求的答案都是n-1!
2.5全期望公式
首先来考虑一个与条件概率相似的问题,在一些条件下,如已知A一定发生,样本空间Ω上的随机变量X会如何变化?
如果将这个受约束的随机变量记为X|A,那么
而另一个更奇怪的公式就是对于两个随机变量X,Y,E[E[X|Y]]=E[X]
根据上面的分析,X|Y=y是在一个新的样本空间Y=y上的一个随机变量。当我们不指明随机变量Y的取值时,E[X|Y]是一个新的随机变量,其期望等于当Y在各种特殊输出y时,E[X|Y=y]按照P(Y=y)加权的和。具体推导过程如下:
举一个例子,在全年级同学(样本空间Ω)中,等概率抽取一个人,求其成绩的期望值。
第一种方法,其期望值为全年级同学的平均分;
第二种方法,每个班统计平均分,然后按照抽到每个班的概率进行加权求和。
第二种方法实质上就是新建了一个随机变量表示抽到的同学的班级,通过这个新的随机变量将原来的样本空间进行了划分。
3.概率转移网络上的相关问题
概率转移网络是一个有向网络,由点集(状态集)V,转移概率矩阵G:V×V→[0,1],以及起点v0组成。∀u∈V,∑vG[u,v]≤1。其意义就是在某一个时刻t,当前状态处于u,那么就有G[u,v]的概率转移到状态v,还有1−∑vG[u,v]的概率消失。
下面来看两道例题:
3.1例题 Museum(Codeforces 113D)
两个人参观博物馆,博物馆由n(n≤22)个房间和连接房间的一些走廊构成。然而,两个人忘记了约定在哪里集合,于是他们决定进行随机移动。每一次移动时也有pi的概率留在原来的房间,有1−pi的概率从当前的房间连接的走廊中随机选择一条。只有当两个人同时位于同一个房间时才算相遇,两个人不能在走廊里相遇。显然,经过足够的时间后,他们一定能够相遇。现在两个人分别在a,b两个房间,你需要求的就是对于每个房间i,最终在房间i相遇的概率。
3.1.1 分析
由于有两个人,所以我们的状态要设置为一个二元组(u,v)其中,u,v分别是第一个人和第二个人所在的位置。显然有n2个状态,初始状态v0=(a,b),终止状态集合为{(x,x)|x∈[1,n]},状态转移矩阵G也很容易得出。
3.1.2 方法1 : 迭代
如果把终止状态集合中的元素的转移只有向自己为1,其余全部为0,那么,设xt为时间为t时每个状态的概率。显然,t为0时,只有初始状态为1,其余全部为零。xt+1=xt⋅G。那么做k次矩阵快速幂后就可以得到x2k。当做的次数足够多时,就可以无限逼近答案。当数据比较弱时有可能能够通过,但是遇到比较强的数据就无能为力了。
3.1.3 方法2 : 列方程
与上一种方法不同的是,这里我们把终止状态集合中的元素的转移全部设为0,即到达了终止状态后就会消失。
那么我们考虑在消失之前,每个状态的期望经过次数Eu。很显然,Eu=∑txtu。那么,
那么我们就得到了n2个方程,解之即可。时间复杂度为O(n6)
3.2 例题 SDOI2012 走迷宫
这道题建模与上一道题相似。我们把终点的出边删掉,设E[Xv]是v点到终点的期望经过步数,显然E[XT]=0。那么E[Xu]=∑vG[u,v]E[Xv]+1。
我们想一下为什么这样是对的。我们新设一个随机变量Yu表示从u开始的出边到达的点。这个随机变量是从Ω到V的映射。那么直接用全期望公式E[Xu]=E[Xu|Yu]即可。
4. 两个常用不等式
4.1 Markov不等式
对于非负随机变量X存在:
简单证明:
把x分为两类:
那么:
因为:
所以
这个不等式说明了随机变量表现出一个较大值的概率和它期望的关系,在我们只知道一个随机变量的期望的时候非常实用。而在大多数情况下等号是取不到的,而且左边会远小于右边。
4.2 Chebyshev不等式
我们称随机变量X的方差Var[X]为E[(X−E[X])2],标准差σ为√Var[X]。
如果我们知道了随机变量的方差,就可以进一步对随机变量以大于某一幅度偏移其期望的概率进行估计。对于随机变量X和正实数a,有:
如果用a=cσ代替可以得到:
上式表明在仅知道标准差的情况下,随机变量偏移其期望c倍标准差的概率小于等于1c2。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战