zoukankan      html  css  js  c++  java
  • 概率期望从入门到入土

    概率期望

    基础定义

    首先,对于独立事件(A,B),我们有(E(AB) = E(A)E(B))

    这个式子在非独立事件的前提下是不成立的

    另外(A,B)理解为随机变量,(AB)就是他们的乘积,一样理解为一个随机变量

    根据等比数列求和公式

    我们有

    [sum_{i = 0}^nx^i = frac{1 - x ^{n + 1}}{1 - x} ]

    (xin(0,1))时,我们有

    [sum_{i = 0}^infty x^i = frac{1}{1 - x} ]

    一个特别特别特别重要的式子

    对于任意事件(A,B)

    我们都有

    [E(A + B) = E (A) + E (B) ]

    也就是期望的线性相加性

    我们尝试证明一下

    [egin{align} E(A + B) &= sum_{i}sum_{j}(A=i&&B = j) imes(i + j)\ &=sum_isum_j(A=i&&B=j) imes i+(A= i&&B=j) imes j\ &=sum_iisum_j(A = i&&B= j) + sum_jjsum_i(A=i&&B= j)\ &=E(X) + E(Y) end{align} ]

    有了期望的线性相加性,我们就可以解决很多问题

    接下来介绍几种套路以及思想

    前缀和思想

    对于离散变量(X)(离散变量只能取整数)我们有:

    [P(x = k) =P(x <= k) - P(x <= k - 1) ]

    非常简单易懂的式子

    还有

    [P(X + Y = K) = sum_iP(X = i &&Y= k - i) ]

    小练习

    给定一个离散数组(X[1....n]),每个数在([1,S])间随机,求数组最大值的期望值

    我们设(Y = max_{i = 1}^nX_i)

    [egin{align} E(Y) &= sum_iP(Y=i) imes i\ &=sum_i(P(Y <= i) - P(Y <=i - 1)) imes i\ end{align} ]

    因为所有的(X_i)都是独立的

    所以

    [P(Y<=i) = P(X_j<=i)^n = (frac{i}{S})^n ]

    所以

    [E(Y) = sum_i((frac{i}{S})^n - (frac{i - 1}{S})^n) imes i ]

    小练习2

    请尝试证明

    概率为(p)的事件期望(frac{1}{p})次后发生

    [egin{align} E(X) &= sum_iP(X =i) imes i\ &= sum_i(P(X >= i) - P(X >= i + 1)) imes i\ &= sum_{i}((1 - p)^{(i - 1)} - (1 - p)^{i}) imes i\ &= sum_{i = 0}^infty(1 - p)^i\ &= frac{1}{1 - (1 - p)}\ &= frac{1}{p} end{align} ]

    对于任意的(exp)((exp >0))

    都有 (exp = sum_{i = 0}^infty[i <=exp])

    拿球问题

    1

    给定(n)个编号(1-n)的球,随机取(1)个,放回,求(m)次的编号的期望和

    很显然一次的期望和是

    [E(X) = sum_{i = 1}^nfrac{i}{n} = frac{(n + 1)n}{2n} = frac{(n + 1)}{2} ]

    而发现放回之后每一次操作都是独立的

    则有

    [sum_{i = 1}^mE(X) = frac{m(n + 1)}{2} ]

    2

    给定(n)个编号(1-n)的球,随机取(1)个,不放回,球(m)次的编号的期望和

    我们设这(m)次的和是(S)

    则有

    [S = sum_{i = 1}^nx_i ]

    其中

    [x_i = {_{0}^{i} ]

    则有

    [E(S) = sum_{i = 1}^nE(x_i) ]

    我们只需要求出单个(E(x_i))的贡献

    [E(x_i) = P(x_i) * i\ P(x_i)=frac{C^{m - 1}_{n - 1}}{C_n^m} = frac{m}{n} ]

    所以

    [E(S) = sum_{i = 1}^nE(x_i) =sum_{i = 1}^nfrac{mi}{n} = frac{m(n - 1)}{2} ]

    我们惊奇的发现:放回不放回竟然对期望没有影响!

    3

    给定(n)个编号(1-n)的球,随机取(1)个,有(p_1)的几率放回(1)个,有(p2)概率放回(2)个,求(m)次的编号的期望和

    由上面的结论我们上来猜测

    答案为 (frac{m(n - 1)}{2})

    恭喜你猜对了

    我们再来尝试证明一下(其实和(p1),(p 2))没有任何关系

    我们设(S)为最后的和,第(i)的球出现了(y_i)次,他的贡献是(x_i),(x_i = y_i imes i)

    [egin{align} E(S) &= sum_{i = 1}^nE(x_i)\ &= sum_{i = 1}^nE(y_i) imes i\ &= sum_{i = 1}^n frac{mi}{n}\ &= frac{m(n - 1)}{2} end{align} ]

    发现,由((28))((29))这一步有点玄学

    我们发现每一步其实是独立得,每一个数被选的概率都是(frac{m}{n}),因为每个数都有可能被抽出后再被放回,综合考虑所有情况下所有的小球都是均等的

    游走问题

    1链上游走

    在⼀条 (n)个点的链上游⾛,求从⼀端⾛到另⼀端的概率

    我们设(x_i)表示从(i)开始,第一次到(i + 1)的期望步数

    由于(iin[2,n])

    则有

    [x_i = frac{1}{2} + frac{1}{2} imes(x_{i - 1} + x _ i + 1) ]

    边界有

    $x_1 = 1 $

    我们就有递推式.

    2完全图上游走

    在⼀张 (n) 个点的完全图上游⾛,求从⼀个点⾛到另⼀个点的概率

    在⼀张 (n) 个点的完全图上游⾛,求从⼀个点⾛到另⼀个点的概率

    我们发现,除了目标点之外,所有点的概率都是一样的

    一个点的概率是(frac{1}{n - 1})

    期望步数就是

    ((n - 1))(小练习2)

    3完全二分图上游走

    我们发现只有两种情况

    同侧点到同侧点和同侧点到异侧点

    我们设(S_A)为同侧点到同侧点的期望步数

    (S_B)为同侧点到异侧点的期望步数

    则有

    [S_B = frac{1}{n} + frac{n - 1}{n}(SA + 1)\ S_A = 1+S_B ]

    解方程就好了

    4菊花图上游走

    菊花图就是完全二分图

    5树上游走

    求根到(x)的期望步数

    我们设(f_{u})(u ->v)第一次的期望步数

    则有

    [egin{align} f_u &= frac{1}{d_u}+frac{1}{d_u}sum_{j in other_u}(1 + f_j+f_u)\ d_uf_u & =1 + d_u-1+(d_u - 1)f_u + (d_u - 1)sum_{j in other_u} f_j\ f_u &= d_u+(d_u-1)sum_{jin other_u}f_j end{align} ]

    我们想

    对于根我们把根看作(u),要走的子树看作(v)就好了

    再来一遍DP就没了

    经典问题

    1

    每次随机⼀个 ([1,n]) 的整数,问期望⼏次能凑⻬所有数

    我们设

    (x_i)表示已经凑齐了前(i - 1)个数,再凑齐一个的期望步数

    单次的概率是

    [P = frac{n - i + 1}{n} ]

    那么期望就是

    [E(x) = sum_{i = 1}^nfrac{1}{P_i} = sum_{i = 1}^nfrac{n}{n - i+ 1} ]

    2

    随机⼀个⻓度为$ n$ 个排列 (p),求$ p[1…i]$ 中 (p[i]) 是最⼤的数的概率

    很明显答案是

    (frac{1}{i})

    求满足上面条件的(i)的个数的平方的期望之和

    首先我们应该明白一个东西

    [E(X)^2 e E(X^2) ]

    这应该是比较明显的,所以我们求出(i)的个数期望和在平方是显然不可以的.要去想别的思路.

    我们再来看一看我们要求的式子

    [E((sum_{i}^nX_i)^2) ]

    其中如果(i)被选了,(X _i)就是(1),否则为(0).

    [(sum_{i = 1}^nX_i)^2 = sum_{i,j,i<j}^n(X_iX_j + X_i^2) ]

    而由于(X_i)(1)(0)所以平方无意义

    上式可以化为

    [sum_{i,j,i<j}^n(E(X_iX_j+X_i)) = sum_i^nE(X_i) + sum_{i,j,i<j}E(X_iX_j) ]

    前面那个式子我们其实就是调和级数,其实就是第一问的(frac{1 }{i})

    我们重点看后面的式子

    所人话就是给你排列中的(i,j)((i<j))(i)(1...i)中的最大值同时满足(j)(1....j)中的最大值的概率

    这两个事件感性理解一下是独立的

    所以上式可以化为

    [sum_i^nE(X_i) + sum_{i,j,i<j}E(X_iX_j) = sum_{i = 1}^nfrac{1}{i} + sum_{i = 1,j>i}frac{1}{ij} ]

    3

    随机⼀个⻓度为 (n) 的排列 (p),求$ i$ 在 (j) 的后面的概率

    很明显(frac{1}{2})

    因为(i,j)独立所以每个数在后面的概率是均等的‘

    4

    随机⼀个长度为(n)的排列 (p),求它包含 $w[1…m] $作为⼦序列/连续子序列的概率

    首先考虑第一问

    这里给出两种做法

    首先,从组合计数的方面考虑

    [P=frac{C_{n}^m(n - m)!}{n!} = frac{1}{m!} ]

    或者说考虑

    在所有的排列中,(w)数组的可能性只有(m!)个,而每一种可能都是独立均等的

    所以答案是(frac{1}{m!})

    5

    (n) 堆⽯头,第(i)堆个数为$ a[i](,每次随机选⼀个⽯头然后把那⼀整堆都扔了,求第) 1 $堆⽯头期望第⼏次被扔

    我们规定一个(X)数组(X_i)表示(i)是第(X_i)次被拿走的

    则有

    [X_1 = sum_{i = 1}^n[X_i<=X_1] ]

    老样子,直接上期望的线性相加性

    [egin{align} E(X_1) &= sum_{i = 2}^nE([X_i<=X_1]) + 1\ &=sum_{i = 2}^nP([Xi<=X_1]) + 1\ &=(sum_{i = 1}^nfrac{a_i}{a_1+a_i})+1 end{align} ]

    6

    随机⼀个⻓度为$ n $的(01)串,每个位置是$ 1 (的概率是) p (,定义) X (是每段连续的) 1 (的⻓度的平⽅之和,求)E[X]$

    对于任意一个期望问题,我们先考虑,如果没有概率期望,该怎么做,推出式子后无脑套期望的线性相加就好了

    我们设(g_x)(x)结尾时后缀(1)的个数

    (f_x)表示以(x)结尾时 的答案

    则有

    [egin{align} g_x &= g_{x - 1} + 1 (if(s_x = 1))\ &=0(else)\ f_x &= f_{x - 1}-g_{x - 1}^2+g_x^2(if(s_x =1))\ &=f_{x - 1}(else) end{align} ]

    我们发现我们这个式子可以直接套

    但是平方就比较恶心

    我们发现

    [E(g_x^2) = frac{E(g_{x - 1}^2) +2E(g_x)+ 1}{p} ]

    我们就把平方搞定了,就可以愉快的求(f_ x)

    7

    给⼀个序列,每次随机删除⼀个元素,问$ i $和 (j) 在过程中相邻的概率

    (i)(j)相邻说明了什么,他们中间的数在他们之间就被删除掉了

    我们考虑使用组合计数理性证明

    我们发现我们只在意([i,j])(i,j)是否是最后被删除的

    [P = frac{(j - i - 1)!*2}{(j - i + 1)!} = frac{2}{(j - i)(j - i + 1)} ]

    8

    给定⼀棵树,将他的边随机⼀个顺序后依次插⼊,求 (u,v) 期望什么时候连通

    式子整理一下,发现就是(u,v)之间的边数有关

    我们设(k)(u,v)之间的边的数量,运用组合计数枚举恰好在第(i)时刻连通

    [P=sum_{i = k}^nfrac{kC_{i - 1}^{k - 1}(k - 1)!(n - k - 1)!}{(n - 1)!} ]

    9

    给$ 1…n (这) n $个数,每次随机选择⼀个还在的数并且删掉他的所有约数,求期望⼏次删完

    经典问题,代表着经典的套路

    这道题直接做貌似没有思路,因为每个数有''附属关系'',就比较恶心

    这种具有删除关系的题目其实都是有一个套路的

    我们假设一个数被删除后,剩下的数会被判“死缓”等到

    如果我们选中了一个被判死缓的数,就把他直接删掉

    如果是一个没有被判断死缓的数,就把他的约数判死缓,然后把他删掉

    这样的话唯一的区别是什么?

    我们选到每一个数的概率是不一样的

    但是选到还没有被判断死缓的数的概率是一样的

    所以两种方法本质是相同的

    我们再设$X_i (如果)i(删除时没有被判死缓,)X_i$就是(1)否则(0)

    [egin{align} S &= sum_{i = 1}^nX_i\ end{align} ]

    [egin{align} E(S) &= sum_{i = 1}^nE(X_i)\ &=sum_{i = 1}^nfrac{1}{lfloor frac{i}{n} floor} end{align} ]

    就是(i)的倍数一共(frac{i}{n})个,(i)是最早被删除的概率就是(frac{1}{lfloor frac{i}{n} floor})

    期望线性性练习题

    1

    给定$ n (个硬币,第) i (个硬币的价值为) w[i]$,每次随机取⾛⼀个硬币,获得的

    收益是左右两个硬币的价值的乘积,求期望总价值

    我们设(x_{i,j}),如果(i,j)相遇了就是(1),否则就是(0)

    那么答案就是

    [S =sum_{i,j}x_{x_i,j}*w_i*w_j ]

    我们直接上期望线性性

    [egin{align} E(S) &= sum_{i,j}E(x_{i,j})* w_i*w_j\ &= frac{2w_iw_j}{(j - i)(j - i + 1) } end{align} ]

    2

    • 有$ N (个数) a[1…N]$,每次等概率选出两个数,然后合并成⼀个新的数放回

    来,得到的收益是新的数的值,求总收益的期望

    我们设(X_i)表示(a_i)被选的次数

    答案就是

    [S = sum_{i = 1}^n X_ia_i ]

    老套路

    [egin{align} E(S) &= sum_{i = 1}^nE(X_i)a_i end{align} ]

    进下来问题变成了如何求(E(X_ i))

    我们想一个数在第(j)次合并一个数的概率是什么?

    [sum_{j = 1}^{n - 1}frac{2}{n - j + 1} ]

    (j)次还有((n - j + 1))个数,每个数都是独立的

    [E(S) = sum_{i = 1}^nsum_{j = 1}^{n - 1}frac{2a_i}{n - j + 1} ]

  • 相关阅读:
    May LeetCoding Challenge22 之 比较器comparator、map按Value排成逆序、桶排序
    May LeetCoding Challenge21 之 动态规划的min使用
    May LeetCoding Challenge20 之 二叉树中序遍历
    May LeetCoding Challenge19 之 单调栈2.0
    May LeetCoding Challenge18 之 滑动窗口2.0
    May LeetCoding Challenge17 之 滑动窗口
    May LeetCoding Challenge16 之 链表重组
    APT常用命令
    DDCTF-misc-流量分析
    Wireshark学习笔记
  • 原文地址:https://www.cnblogs.com/wyxdrqc/p/11294167.html
Copyright © 2011-2022 走看看