概率与数学期望

来源:互联网 发布:华沙 知乎 编辑:程序博客网 时间:2024/04/30 02:45

前言:
曾经有人问过学长,是不是概率期望基本上都是用来做dp的
学长:当然不是了
然而我觉得,有很大一部分的概率期望都是与dp有关的

离散概率初步

一个经典的例子就是抛硬币
连续抛3次硬币,恰好有两次正面的概率有多少:
抛3次硬币,一共有8可能:HHH , HHT , HTH , HTT , THH ,THT , TTH ,TTT
这八种情况的概率是相等的
这里的{HHH , HHT , HTH , HTT , THH ,THT , TTH ,TTT}用专业术语讲就是样本空间
“恰好有两个正面”这个事件可以表示为:A={HHT , HTH , THH}
所以P(A)=3/8

接下来要说的就是一个经典问题:生日问题

一共有23个人,至少两个人的生日相同的概率超过50%,为了简单起见,每个人的生日都不是2月29日

实际上这个例子和抛硬币有异曲同工之妙
每个人的生日是365天中等概率选择的,因此样本空间是|S|=365^23
接下来要计算“至少两个人的生日相同”,这个不大好统计,所以我们遵循原则:

正难则反

先计算出任何两个人的生日都不同,然后用总数减去就好了,于是有式子
这里写图片描述
在实际计算的时候,A(365,23)和365^23都是无法直接计算的
但是概率是一个不超过1的double,并且此处不需要太高的精度,所以我们直接计算:

double P(int n,int m){    double ans=1.0;    for (int i=0;i<m;i++) ans*=(n-i);    return ans;}double birthday(int n,int m){    double ans=P(n,m);    for (int i=1;i<=m;i++) ans/=n;    return 1-ans;}

但是如果m太大,上面那个程序就会爆掉
我们的解决方法是边乘边除:

double birthday(int n,int m){    double ans=1.0;    for (int i=0;i<m;i++) ans*=(double)(n-i)/n;    return 1-ans;}

这就告诉我们一个很重要的道理:

和int,ll一样,double类型也要时刻注意溢出

条件概率

公式:P(A|B)=P(AB)|P(B)
P(A|B):在事件B发生的前提下,事件A发生的概率
P(AB):事件A和B同时发生的概率

贝叶斯公式

P(A|B)=P(B|A)*P(A)/P(B)

这也是条件概率中很重要的一个公式

全概率公式

把样本空间S分成若干个不想交的部分B1,B2,B3,…,Bn,
则P(A)=P(A|B1)*P(B1)+P(A|B2)*P(B2)+…+P(A|Bn)*P(Bn)
这里的P(A|B)是指B事件发生的条件下,事件A发生的概率

其实ta的思想很简单:
比如,参加NOI,得到金牌,银牌,铜牌,当炮灰的概率分别是0.1,0.2,0.3,0.4,
在这种情况下,保送上清华的概率分别是1.0,0.8,0.5,0.1,
则被报送的总概率是0.1*1.0+0.2*0.8+0.3*0.5+0.4*0.1

使用全概率公式的关键就是划分时间空间
只有把所有情况不重复,不遗漏的进行分类,
并计算出每个事件的概率,才能得出正确的答案

数学期望

简单地说,随机变量X的数学期望EX就是所有可能值按概率加权的和

比如一个随机变量有1/2的概率等于1,1/3的概率等于2,1/6的概率等于3
那么这个随机变量的数学期望为
1/2*1+1/3*2+1/6*3
在非正式场合中,可以说这个随机变量“在平均情况下的值”为1/2*1+1/3*2+1/6*3

在解决和数学期望相关的题目时,大多数是可以直接考虑定义法解决
求出各个取值和对应的概率
当然,如果是等概率事件(所有事件的概率完全相等)
我们可以用:
各个情况之和/总情况数量(相当于求一个平均值,不是一般的好用啊)

如果遇到困难,我们可以考虑一下两个法宝:

  • 期望的线性性质:
    有限个随机变量之和的数学期望等于每个的数学期望之和
    即 E(X+Y)=EX+EY
  • 全期望公式:
    类似全概率公式,把所有情况不重复,不遗漏的分成若干类,每个计算数学期望,
    最后把这些数学期望按照每类的概率加权求和

实际上,我们最常用的就是

全概率公式

把样本空间S分成若干个不想交的部分B1,B2,B3,…,Bn,
则P(A)=P(A|B1)*P(B1)+P(A|B2)*P(B2)+…+P(A|Bn)*P(Bn)
这里的P(A|B)是指B事件发生的条件下,事件A发生的概率

全期望公式

类似全概率公式,把所有情况不重复,不遗漏的分成若干类,每个计算数学期望,
最后把这些数学期望按照每类的概率加权求和