【学习笔记】概率与期望
基本概念
随机变量:有多种可能的取值的变量
事件发生的概率
随机变量X的期望值,
独立事件:互相不影响的事件,满⾜ 前提:;两个随机变量是独立的
对于独立事件,我们有
常用公式
(等比数列求和公式+极限法)
期望的线性性:
需要注意的是,以上的都是随机变量,不是事件,例如两个扔骰子的点数和。
,这是等比数列求和公式的变形
前缀和技巧
前缀和技巧是概率期望中很重要的一个技巧
对于离散变量
例:
1. 有 个随机变量 ,每个随机变量都是从 中
随机⼀个整数,求 的期望
求最大值的期望,根据公式答案为
很难求,但我们可以用前缀和的思想预处理出和,相减即可。
2. 求证:概率为 的事件期望次后发生
首先这个问题很显然,我们抛硬币的时候期望抛2次得到正面或者反面
用数学方法证明如下
使用反向前缀和,设成功次数为,则
容易得出,因为第次是有可能成功的
所以
我们展开发现
根据等比数列求和公式得到,又因为,所以
得证
概率为 的事件期望次后发生
这个结论非常重要,之后很有用
另外的小技巧
很多东西都可以看成随机变量或用随机变量表示
例如表达式,,这个其实很显然,相当于你前面有多少个人再加就是你的排名
拿球问题
1.箱子里有 n 个球 1…n,你要从里面拿 m 次球,拿了后放回,求取出的数字之和的期望
每个球都有的概率被取到,根据期望的线性性质,取出数字之和的期望等于取出数字的期望之,求出每个数字期望,相加即可。
2.箱子里有 n 个球 1…n,你要从里面拿 m 次球,拿了后不放回,求取出的数字之和的期望
这个问题相对难想,设为答案的期望,设为第项贡献的期望
则
设表示取出次数的期望,在这个题目中显然
为什么要这么设计,因为这是解决拿球问题的通法
那么我们得到,对两边取期望得到
接下来是重点
期望有点类似平均值的思想,或者说将总和离散了,也就是说
那么又因为每个球都是独立平等的,所以每个一定相等,即
以上两句话是这类题的精髓
那么代回去得到,得到的结果和第一问一样,
3.箱子里有 n 个球 1…n,你要从里面拿 m 次球,拿了后以p1 的概率放回,以 p2 的概率放回两个和这个相同的球,求取出的数字之和的期望
相信经过了前两问的铺垫,这一问思路已经显而易见了,和第二问完全一样,和这些概率没半点关系,当然你可能会问放回两个相同的球的话,一个球的可能会增大,但别忘了,这类题的核心是每个球都是独立的平等的,其它球也有等概率放回两个,所以不管放回多少个,每个还是相等的,平分,然后只需要和第二问一样做就可以了,显然
游走问题
• 在⼀条 n 个点的链上游走,求从⼀端走到另⼀端的概率
老规矩,设答案为,那么,表示从节点走到下一个节点的期望步数,那么我们可以像做列出一个“状态转移方程”,设我们现在要从走到下一个点,我们从走过来,那么我们可以直接一步过去,也可以往后退再回来走过去,所以我们得出了转移方程
那么你可能会说,没有考虑往后退几步再往前走等等情况,但其实已经被更新完毕了,也就是说的值已经包含了所有可能,这所有可能也都包括到的路径,可能是往后退步,所以我们只用再加上即可,这一直让初学的我有些困惑,是很重要的一个思想
将以上式子展开可以得到,又因为(只有一种路径),所以构成了的等比数列,我们只需用等比数列求和公式,得出。
• 在⼀张 n 个点的完全图上游走,求从一个点走到另一个点的概率
第二个问题很有意思,其实不难
完全图:任意两点之间都有直接连边的图
因为是完全图,所以任意两个点都是平等的,除了出发点外还有个点,还是分两种情况讨论:第一种情况是直接到达,另一种情况是走到其它的点,也就是说
那我们发现问题了,和应该是平等的,不能因为我们选择了就是特殊的,那么我们就将问题变为:每次都有的概率到达目标点,从开始就不停地尝试,这也就和我们之前的推论一样了
概率为 的事件期望次后发生
好啊,那么答案不就是了吗。
• 在⼀张 2n 个点的完全二分图上游走,求从一个点走到另一个点的概率
• 在⼀张 n 个点的菊花图上游走,求从⼀个点走到另⼀个点的概率
• 在⼀棵 n 个点的树上游走,求从根走到 x 的期望步数
• 构造⼀张200个点的无向图,使得从 S 走到 T 的随机游走期望步数>=1000000
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现