相关笔记: 随机化算法 | 大O记号 | 大Theta记号 | 5.1 雇佣问题 | 第05章_概率分析与随机化算法-章节汇总

概览

本节介绍了指示器随机变量(Indicator Random Variable)这一强大的概率分析工具,并将其应用于 5.1 雇佣问题 的分析中。指示器随机变量提供了一种在概率期望值之间进行转换的便捷方法。核心引理(引理 5.1)表明,与事件 关联的指示器随机变量的期望值恰好等于事件 发生的概率。结合期望的线性性(Linearity of Expectation)——即使随机变量之间存在依赖关系,和的期望也等于期望的和——指示器随机变量可以极大地简化涉及多个事件的期望值计算。将这一技术应用于雇佣问题,得到平均情况下的雇佣次数为 ,总雇佣费用为 ,远优于最坏情况的

  • 指示器随机变量 是一个只取 的随机变量,事件 发生时为 ,否则为
  • 引理 5.1,指示器随机变量的期望等于事件发生的概率
  • 期望的线性性,即使 之间不独立也成立
  • 指示器随机变量 + 期望的线性性 = 计算多个事件期望值的强大技术
  • 雇佣问题中,候选人 被雇佣的概率为 ,期望雇佣次数为
  • 引理 5.2:HIRE-ASSISTANT 的平均情况总雇佣费用为

知识结构总览

graph TB
    A["5.2 指示器随机变量"] --> B["指示器随机变量的定义"]
    A --> C["基本性质:引理 5.1"]
    A --> D["期望的线性性"]
    A --> E["抛硬币示例"]
    A --> F["雇佣问题的概率分析"]
    A --> G["引理 5.2:平均费用"]

    B --> B1["样本空间 S 与事件 A"]
    B --> B2["I{A} = 1(A 发生)或 0(A 不发生)"]
    B --> B3["概率与期望之间的桥梁"]

    C --> C1["E[I{A}] = Pr{A}"]
    C --> C2["证明:E[X] = 1·Pr{A} + 0·Pr{Ā} = Pr{A}"]

    D --> D1["E[ΣXi] = ΣE[Xi]"]
    D --> D2["即使 Xi 不独立也成立"]
    D --> D3["与独立性无关的关键性质"]

    E --> E1["n 次抛硬币的期望正面数"]
    E --> E2["Xi = I{第 i 次为正面}"]
    E --> E3["E[X] = ΣE[Xi] = n/2"]

    F --> F1["Xi = I{候选人 i 被雇佣}"]
    F --> F2["Pr{候选人 i 被雇佣} = 1/i"]
    F --> F3["E[X] = Σ(1/i) = Hn ≈ ln n"]

    G --> G1["平均费用 O(ch·ln n)"]
    G --> G2["vs 最坏费用 O(ch·n)"]
    G --> G3["显著改进"]

核心思想

核心思想

本节的核心思想是:通过将复杂事件分解为多个简单事件的指示器随机变量之和,并利用期望的线性性,可以将看似困难的期望值计算简化为一系列简单的概率计算。这种方法的关键优势在于:期望的线性性不要求随机变量之间相互独立,这大大拓宽了其适用范围。指示器随机变量方法将”计算期望值”的问题转化为”计算每个简单事件发生的概率”的问题,后者往往容易得多。

1. 指示器随机变量的定义

指示器随机变量(Indicator Random Variable)

给定样本空间 和事件 ,与事件 关联的指示器随机变量 定义为:

指示器随机变量是一个只取 两个值的离散随机变量,它”指示”了事件 是否发生。

2. 引理 5.1:期望等于概率

引理 5.1(Lemma 5.1)

给定样本空间 中的事件 ,令 ,则:

证明: 由指示器随机变量的定义式 (5.1) 和期望值的定义: 其中 表示 的补事件(complement),即

意义: 引理 5.1 建立了概率与期望之间的直接桥梁。要计算某个事件的期望值,只需计算该事件发生的概率即可。这一看似简单的结论,在结合期望的线性性后,将发挥巨大的威力。

3. 期望的线性性

期望的线性性(Linearity of Expectation)

对于任意随机变量 (无论它们之间是否独立),都有:

关键特性:期望的线性性不要求随机变量之间相互独立。 即使 之间存在任意形式的依赖关系,和的期望仍然等于期望的和。这一性质是指示器随机变量方法如此强大的根本原因——在很多实际问题中,不同事件之间确实存在依赖关系(如雇佣问题中,候选人 是否被雇佣依赖于之前候选人的排名),但期望的线性性让我们可以忽略这些依赖关系,分别计算每个事件的概率后简单求和。

4. 抛硬币示例

用指示器随机变量计算 次抛硬币的期望正面数

次公平硬币抛掷中出现的正面总数。定义 ,则:

由引理 5.1,,因此:

对比传统方法: 不使用指示器随机变量的话,需要分别计算出现 个正面、 个正面、 个正面的概率,然后加权求和:

这个计算明显更加复杂。指示器随机变量方法将问题简化为 个独立的简单概率计算之和。

5. 用指示器随机变量分析雇佣问题

雇佣问题的指示器随机变量分析

回到 5.1 雇佣问题,假设候选人以随机顺序到达。令 为雇佣新办公室助理的次数。

步骤一:定义指示器随机变量。 对每个候选人 ),定义:

则:

步骤二:计算每个 的期望。 由引理 5.1:

候选人 被雇佣(第 6 行执行)当且仅当候选人 比候选人 都更优秀。由于候选人以随机顺序到达,前 个候选人的排名是 的一个均匀随机排列,其中任何一个成为”最优秀”的概率相等。因此:

步骤三:利用期望的线性性求和。

这个求和称为第 调和数(harmonic number),记为

由 [[算法导论/concepts/大Theta记号|大 记号]] 的知识(附录 A),调和数的渐近界为:

更精确地,(其中 为自然对数)。

引理 5.2(Lemma 5.2)

假设候选人以随机顺序到达,算法 HIRE-ASSISTANT 的平均情况总雇佣费用为

证明: 由雇佣费用的定义和等式 (5.6) 可知,期望雇佣次数约为 ,因此总雇佣费用为

平均情况雇佣费用 相比最坏情况的 是一个显著的改进。例如,当 时,,意味着平均只雇佣约 7 次,而非最坏情况下的 1000 次。


补充理解与拓展

调和数的深入理解

调和数 是数学中一个重要的数列,在算法分析中频繁出现。它有以下重要性质:

渐近展开: ,其中 欧拉-马歇罗尼常数(Euler-Mascheroni constant)。因此

增长速度: 调和数的增长极其缓慢。下表展示了几种典型 值下的

102.932.30
1005.194.61
1,0007.496.91
1,000,00014.3913.82
21.3020.72

这意味着即使面试一百万个候选人,平均也只雇佣约 14 次!这种极其缓慢的增长使得 的平均费用在实际中非常有吸引力。

积分近似: 可以通过积分来近似:

来源:T. H. Cormen et al., Introduction to Algorithms, 4th ed., MIT Press, 2022, Section 5.2; R. L. Graham, D. E. Knuth, O. Patashnik, Concrete Mathematics, 2nd ed., Addison-Wesley, 1994.

期望的线性性的广泛应用

期望的线性性是概率论中最强大的工具之一,其应用远不止于雇佣问题。以下是几个经典应用:

1. 帽子检查问题(Hat-Check Problem,习题 5.2-5): 位顾客将帽子交给服务员,服务员随机归还。期望有多少人拿到自己的帽子?定义 ,则 。无论 多大,期望值恒为 1!

2. 逆序数期望(习题 5.2-6): 数组 的均匀随机排列,逆序对 )的期望数量为

3. 快速排序的比较次数: 快速排序在随机排列上的期望比较次数为 ,其证明核心就是指示器随机变量 + 期望的线性性。

4. 图论中的期望边数: 随机图 中期望边数为

这些例子共同展示了指示器随机变量方法的通用性:将复杂问题分解为简单事件的指示器变量之和,利用期望的线性性分别计算再求和。

来源:T. H. Cormen et al., Introduction to Algorithms, 4th ed., MIT Press, 2022, Section 5.2; M. Mitzenmacher, E. Upfal, Probability and Computing, 2nd ed., Cambridge University Press, 2017.


易混淆点与辨析

"期望的线性性需要独立性"的误解

初学者常误以为期望的线性性()只有在随机变量相互独立时才成立。

  • ❌ “期望的线性性要求 之间相互独立,如果不独立就不能拆开算”
  • ✅ “期望的线性性不需要独立性条件,它对任意随机变量都成立,无论它们之间是否存在依赖关系。需要独立性的是另一个性质——方差的线性性 仅在 相互独立时成立。混淆这两个性质是常见错误”

为什么独立性不需要? 期望的线性性本质上是求和运算与加权平均运算的可交换性,这是一个纯粹的代数性质:

而方差涉及平方项 ,交叉项 在不独立时无法简化,因此方差的线性性需要独立性。

"期望值一定等于某个实际可能值"的误解

初学者可能认为期望值一定是随机变量的某个可能的取值。

  • ❌ “期望雇佣次数是 ,所以雇佣次数一定是 7 次”
  • ✅ “期望值是所有可能取值的加权平均,它不一定等于任何一个实际可能的取值。例如,抛一次硬币的期望正面数是 ,但实际结果只能是 ,永远不会出现 次。期望值的意义在于:如果重复实验很多次,结果的平均值会趋近期望值(大数定律)。对于雇佣问题, 意味着在大量重复实验中,平均每次实验的雇佣次数约为

更准确地说,期望值可以理解为”长期平均值”(long-run average),而非对单次实验结果的预测。


习题精选

题号核心考点难度
5.2-1雇佣恰好 1 次和恰好 次的概率⭐⭐
5.2-2雇佣恰好 2 次的概率⭐⭐⭐
5.2-3用指示器随机变量计算 个骰子的期望和⭐⭐
5.2-4期望的线性性不要求独立性⭐⭐⭐
5.2-5帽子检查问题⭐⭐
5.2-6逆序数的期望值⭐⭐⭐

视频学习指南

资源链接对应内容备注
MIT 6.046J Lecture 10: Probabilistic Analysishttps://www.youtube.com/watch?v=POYVwQHqHBM指示器随机变量、期望的线性性、雇佣问题分析Erik Demaine 教授
MIT 6.042J Unit 7: Expectationhttps://www.youtube.com/watch?v=kX9mx2GkFRs期望值、指示器随机变量、期望的线性性系统讲解
Abdul Bari - Randomized Algorithmshttps://www.youtube.com/watch?v=RGPT1v2uBX0指示器随机变量应用直观讲解
河南大学《算法导论》中文字幕版https://www.bilibili.com/video/BV1H4411B7FY第5章 概率分析与随机化算法中文授课,适合入门

教材原文

教材原文摘录

“In order to analyze many algorithms, including the hiring problem, we use indicator random variables. Indicator random variables provide a convenient method for converting between probabilities and expectations.”

“Given a sample space and an event , the indicator random variable associated with event is defined as…”

“As the following lemma shows, the expected value of an indicator random variable associated with an event is equal to the probability that occurs.”

“Linearity of expectation, equation (C.24) on page 1192, to the rescue: the expectation of the sum always equals the sum of the expectations. Linearity of expectation applies even when there is dependence among the random variables.”

“Even though you interview people, you actually hire only approximately of them, on average.”

“The average-case hiring cost is a significant improvement over the worst-case hiring cost of .”


参见 Wiki

指示器随机变量