算法导论学习笔记5-1,2
问题复述:
假设要雇佣一名新的办公助理,你先前的雇用尝试都失败了,于是你决定找一个雇佣代理。雇佣代理每天给你推荐一个应聘者。你面试这个人,然后决定是否雇佣他。你必须付给雇佣代理一笔小的费用,以便面试应聘者。然后要真的雇佣一个应聘者需要花更多的钱,因为你必须辞退目前的办公助理,还要付一大笔中介费给雇佣代理。你承诺在任何时候,都要找最合适的人来担任办公助理。因此,你决定在面试完每个应聘者之后,如果该应聘者比目前的办公助理更合适,就会辞掉当前的办公助理,然后聘用新的。你愿意为该策略付费,但希望能够估算该费用会是多少。
假设总共有n个应聘者,并且当你面试每个应聘者的时候都需要给中介的费用为Ci,你每决定雇佣一个应聘者需要的费用为Ch,你总共雇用了m个应聘者。则总花费为(Cin+Chm)
首先看到策略问题,首想到最坏情况和最优情况。
最坏情况:所谓最坏情况,也就是将雇佣了每个面试者,即这些面试者的质量从小到大一次出现。此时所需的费用就是最大值,即(Cin+Chn)。
最优情况:此时就是只雇佣了第一个人,也就是说第一个人的质量是最好的,虽然也面试了后面的所有人,但是都没有雇佣。此时的花费为(Cin+Ch)
此时,可以知道最坏情况雇佣了n个人,最优情况雇佣了1一个人。
在分析时,当然不能简单的只考虑最坏和最优的情况,而是要考虑平均情况。此时,就需要更运用概率论的相关知识。
引入一个概念–指示器随机变量
所谓指示器随机变量,非定一个样本空间s和一个时间a,那么a对应的指示器随机变量I(a)=1(a发生),0(a不发生)
那么算此时的指示器随机变量的期望就变得很简单了,即
E【I(a)】=P(a)
回到雇佣问题,假设雇佣了第i个应聘者,则设Xi=I(a)
E【Xi】=E【I(a)】=P(a)=P(应聘者i被雇佣的概率)
接下来就是求得P(应聘者i被雇佣的概率)
应聘者i被雇佣,也就是说在包含i这个人的总共i个人里面,第i个人的质量是最好的,而这i个人的位置是随机的,也就是说最优秀的这个人在第i个位置的概率是1/i,所以求得P(应聘者i被雇佣的概率)
就是1/i。
综上,此时的1/i为雇佣了第i个应聘者的概率,那么总共有n个人,因为每个人被雇佣这个事件是相互独立的,那就要将每个人被雇佣的概率相加。即第1个人被雇佣的概率+第2个人被雇佣的概率+…+第n个人被雇佣的概率。
所以数学表达式就为
=lnn
在前面的最坏情况我们雇佣了n个人,最好情况雇佣了1个人,但是,平均下来,其实这雇佣了lnn个人。
所以,最后的期望花费为(Cin+Cjlnn)