算法学习笔记:概率与期望

1. 前言

概率我们很熟,在数学课本里面我们就已经学到过概率的基本定义以及计算方式。

期望我们不熟,他与概率密切相关,计算方式基于概率。

2. 定义

概率的计算方式不必我多说,各位在数学课中都有了解。

而期望,从某种意义上来讲其实就是一个加了权值的概率。

我将使用一个例子来说明期望是什么:

假设某一天小 z 有一场满分为 100 分的数学考试。他妈妈说:“儿子,如果你能够考到 80 分以上(不含 80),那么我将奖励你 100 元;如果你能够考到 60 分以上(不含 60),80 分以下(含 80),那么我将奖励你 50 元;如果你能够考到 30 分以上(不含 30),60分以下(含 60),那么我将奖励你 30 元;否则你将得不到任何奖励。”

但很不幸的是,小 z 数学考试的时候发挥失常,成绩为 [ 1 , 100 ] [1,100] [1,100] 内一个等概率的数,那么请问小 z 得到的期望钱数是多少?

备注:本场考试很难

我个人认为这个例子最能够解释期望的定义。

先列一张表格:

分数区间 钱数 概率
( 80 , 100 ] (80,100] (80,100] 100 20%
( 60 , 80 ] (60,80] (60,80] 50 20%
( 30 , 60 ] (30,60] (30,60] 30 30%
( 1 , 30 ] (1,30] (1,30] 0 30%

假设小 z 得到的期望钱数为 e e e,那么计算公式如下:

e = 100 × 20 % + 50 × 20 % + 30 × 30 % + 0 × 30 % = 39 e=100 \times 20\% + 50 \times 20\% + 30 \times 30\% + 0 \times 30\%=39 e=100×20%+50×20%+30×30%+0×30%=39

对比上面那个表格我们会发现:期望就是所有事件发生的概率乘上其代价或价值。

所以期望的定义:

E ( x ) E(x) E(x) x x x 事件的期望, x i ( i ∈ [ 1 , n ] ) x_i(i \in [1,n]) xi(i[1,n]) 为在 x x x 事件中可能会发生的 独立 的事件, P ( x i ) P(x_i) P(xi) 为其概率, V ( x i ) V(x_i) V(xi) 为其代价或价值,那么:

E ( x ) = P ( x 1 ) × V ( x 1 ) + P ( x 2 ) × V ( x 2 ) + . . . + P ( x n ) × V ( x n ) E(x)=P(x_1) \times V(x_1) + P(x_2) \times V(x_2) + ... + P(x_n) \times V(x_n) E(x)=P(x1)×V(x1)+P(x2)×V(x2)+...+P(xn)×V(xn)

化简如下:

E ( x ) = ∑ i = 1 n ( P ( x i ) × V ( x i ) ) E(x) = \sum_{i=1}^{n}{(P(x_i) \times V(x_i))} E(x)=i=1n(P(xi)×V(xi))

也就是概率乘以代价的总和。

这就是期望的定义。

3. 理解

对于一个事件数确定的 x x x(知道发生几件事,相对应的概率以及代价),有这样两种理解方式:

  1. 定义。
  2. 带权平均数。
    假设目前已有事件 x 1... n x_{1...n} x1...n 以及概率 P ( 1... n ) P(1...n) P(1...n)(使用下标或者括号是一个意思)和代价 V ( 1... n ) V(1...n) V(1...n),而且所有概率都能统一表示成 p i k \dfrac{p_i}{k} kpi 的形式(也就是通分),那么我们令第一个事件发生 p 1 p_1 p1 次,第二个事件发生 p 2 p_2 p2 次,以此类推,得到一个代价总和 v a l val val,除以 k k k 就是期望 E ( x ) E(x) E(x)

什么意思?还是上面那个例子。

编号 分数区间 钱数 概率
1 ( 80 , 100 ] (80,100] (80,100] 100 20%
2 ( 60 , 80 ] (60,80] (60,80] 50 20%
3 ( 30 , 60 ] (30,60] (30,60] 30 30%
4 ( 1 , 30 ] (1,30] (1,30] 0 30%

在这个例子中,我们可以认为事件 1 发生 20 次,事件 2 发生 20 次,事件 3 发生 30 次,事件 4 发生 30 次,总共发生 100 次,那么期望也可以这么算:

e = 100 × 20 + 50 × 20 + 30 × 30 + 0 × 30 100 = 39 e = \dfrac{100 \times 20 + 50 \times 20 + 30 \times 30 + 0 \times 30}{100}=39 e=100100×20+50×20+30×30+0×30=39

所以之前提到过,期望从某种意义上就是加了权值的概率。

这个还是有穷状态的 x x x,我们知道有哪几件事,他们发生的概率,代价等等。

但是有一些事件,我们根本不知道事件个数为多少,或者个数为正无穷,那么这样我们不知道概率,代价,怎么算期望呢?

4. 期望方程

这个时候就要请出期望方程了。

期望方程首先是一个方程,其次,里面的未知数是期望 e e e

还是使用一个例子。

小 z 在考完数学考试后拿到 100 元钱,非常高兴,在抛硬币。话说这两者有关系吗

假设他从第一次开始抛,请问:抛出连续三次正面的期望次数是多少?

如果你不知道期望方程,那么你一定晕了:这是什么问题啊?事件个数不知道、概率不知道、代价也不知道······万一无穷无尽抛不完呢?这难道也有期望吗?

而期望方程,就是解决这一类问题的。

假设期望次数为 e e e。在这道题中,代价为抛出的次数。

小技巧:一般情况下,题目问什么,什么就是期望的代价。

如果第一次抛,小 z 抛到了反面,那么很遗憾,这一次作废了,花费了 1 次,而接下来还要再花 e e e 次才能抛出连续三个正面(相当于从头开始抛),那么本次概率乘以代价为 1 2 × ( e + 1 ) \dfrac{1}{2} \times (e+1) 21×(e+1)

如果第一次为正,第二次为反,那么很遗憾,小 z 还要再从头抛,花费了 2 次,接下来还要花费 e e e 次,那么本次概率乘以代价为 1 2 × 1 2 × ( e + 2 ) \dfrac{1}{2} \times \dfrac{1}{2} \times (e+2) 21×21×(e+2)

如果前两次都为正,第三次为反,那么小 z 只能认命,从头抛,花费了 3 次,接下来还要花费 e e e 次,那么本次概率乘以代价为 1 2 × 1 2 × 1 2 × ( e + 3 ) \dfrac{1}{2} \times \dfrac{1}{2} \times \dfrac{1}{2} \times (e+3) 21×21×21×(e+3)

最后,小 z 抛出了连续三个正面!概率乘以代价为 1 2 × 1 2 × 1 2 × 3 \dfrac{1}{2} \times \dfrac{1}{2} \times \dfrac{1}{2} \times 3 21×21×21×3

由期望的定义:概率乘以代价的总和 可知:

e = 1 2 × ( e + 1 ) + 1 2 × 1 2 × ( e + 2 ) + 1 2 × 1 2 × 1 2 × ( e + 3 ) + 1 2 × 1 2 × 1 2 × 3 e = \dfrac{1}{2} \times (e+1) + \dfrac{1}{2} \times \dfrac{1}{2} \times (e+2) + \dfrac{1}{2} \times \dfrac{1}{2} \times \dfrac{1}{2} \times (e+3) + \dfrac{1}{2} \times \dfrac{1}{2} \times \dfrac{1}{2} \times 3 e=21×(e+1)+21×21×(e+2)+21×21×21×(e+3)+21×21×21×3

解这个方程,得 e = 14 e = 14 e=14

所以连续扔出 3 个正面的期望次数为 14 次。

这就是期望方程。

一般我们列期望方程解决期望问题的时候要注意以下几点:

  1. 确定这个问题事件数是否可以确定,如果可以确定且方便的情况下直接定义式计算。
  2. 事件数无穷时,我们需要考虑到每一种情况,确认其概率以及代价,此时的代价可能会含 e e e,这也体现了无穷的特性。
  3. 方程不要解错。我才不会告诉你上面那个例题我的方程一开始解错了。

期望方程可以说是期望中的重难点,而很多的期望 dp 也是基于期望方程的。期望 dp 放在另外一篇文章里面讲。

5. 总结

期望定义:

E ( x ) E(x) E(x) x x x 事件的期望, x i ( i ∈ [ 1 , n ] ) x_i(i \in [1,n]) xi(i[1,n]) 为在 x x x 事件中可能会发生的 独立 的事件, P ( x i ) P(x_i) P(xi) 为其概率, V ( x i ) V(x_i) V(xi) 为其代价或价值,那么:

E ( x ) = P ( x 1 ) × V ( x 1 ) + P ( x 2 ) × V ( x 2 ) + . . . + P ( x n ) × V ( x n ) E(x)=P(x_1) \times V(x_1) + P(x_2) \times V(x_2) + ... + P(x_n) \times V(x_n) E(x)=P(x1)×V(x1)+P(x2)×V(x2)+...+P(xn)×V(xn)

化简如下:

E ( x ) = ∑ i = 1 n ( P ( x i ) × V ( x i ) ) E(x) = \sum_{i=1}^{n}{(P(x_i) \times V(x_i))} E(x)=i=1n(P(xi)×V(xi))

也就是概率乘以代价的总和。

代价理解:

  1. 定义。
  2. 带权平均数。

列期望方程解决期望问题:

  1. 确定这个问题事件数是否可以确定,如果可以确定且方便的情况下直接定义式计算。
  2. 事件数无穷时,我们需要考虑到每一种情况,确认其概率以及代价,此时的代价可能会含 e e e,这也体现了无穷的特性。
  3. 方程不要解错。

猜你喜欢

转载自blog.csdn.net/BWzhuzehao/article/details/113757914
今日推荐