5.1 雇用问题
5.1.1 问题描述
-
问题
- 假如你要找一个雇佣代理,帮你雇佣一个办公助理
- 雇佣代理每天给你推荐一个应聘者。你面试这个人,然后决定是否雇佣他。
- 你必须付给雇佣代理一小笔费用,以便面试应聘者。然而要真的雇佣一个应聘者需要花更多的钱,因为你必须辞掉目前的办公助理,还要付一大笔中介费给雇佣代理
- 你承诺任何时候都要找最适合的人来担任这项职务,因此,你决定在面试完每个应聘者后,如果该应聘者比当前的办公助理更合适,就会辞掉当前的办公助理,然后聘用新的
-
伪代码
1
2
3
4
5
6
7HIRE-ASSISTANT(n)
best = 0
for i = 1 to n
interview candidate i
if candidate i is better than candidate best
best = i
hire condidate i -
每次雇佣员工都会产生一笔费用,我们的任务是估算该费用会是多少
5.1.2 最坏情形分析
- 在最坏的情况下,我们实际上雇佣了每个面试的应聘者,总的费用是O(chn)
5.1.3 概率分析
-
大多数情况下我们采用概率分析来分析一个算法的平均运行时间
-
为了进行概率分析,我们必须使用或者假设关于输入的分布。分析该算法,计算出一个平均情形下的运行时间,其中我们对所有可能的输入分布取平均值
5.1.4 随机算法
-
当一个算法的行为不仅由输入决定,而且也由随机数生成器产生的数值决定,则称这个算法是随机的
-
当分析一个随机算法的运行时间时,我们以运行时间的期望值衡量,我们将一个随机算法的运行时间称为期望运行时间
-
一般而言,当概率分布是在算法的输入上时,我们讨论的是平均运行时间;当算法本身做出随机选择时,我们讨论其期望运行时间
5.2 指示器随机变量
-
指示器随机变量
- 它为概率与期望之间的转换提供了一个便利的方法
- 定义
- 给定一个样本空间S和一个事件A,那么事件A对应的指示器随机变量I{A}定义为
1
2I(A) = 1 如果A发生
I(A) = 0 如果A不发生
- 给定一个样本空间S和一个事件A,那么事件A对应的指示器随机变量I{A}定义为
-
定理
- E[IA] = P(A)