算法导论-第5章

    这一章,说来说去,两件事情,1.概率分析。2.随机算法。

先把这个雇佣问题拿出来。

问题:有一批参与面试的人,你要一个个面试(面试每个人都要花费c1),如果当前面试者比自己的助理能力强,则辞掉当前助理的,并把当前面试者提拔为助理(雇佣一个人要花费c2),一直面试完所有人。

这里考虑的是面试所花的money,假设总共有N人参加面试,有M人被雇佣过,则花费O(N*c1 + M*c2),因为参与面试的人员顺序是不确定的,所以要花费的money也是不确定的(N*c1是确定的,而M是不确定的,所以M*c2也是不确定的)。

1.概率分析。它是干什么的?它是为了设计高效算法而采用的一种数学分析方法,懂了吧

2.随机算法。它是什么?虽然我们知道,这个过程是随机的,但是,对方把名单一确定,那么这个过程本来花费已经确定了,而此时随机算法,就是干这个的,打乱顺序,就算你是随机的,我重新排序一个更随机的,用到的函数就是random()。

顺便补充一下:5.2节的指示器随机变量就是用的高中学的期望用期望来表示概率。

概率分析与随机算法之间的区别

1.概率分析,这个是你假定这个过程是随机的各种可能都会有。是你以为!!!

2.随机算法,这个过程已经利用随机函数,重新排列,强制为是一种随机的排列,是帮你又随机做了一次。是告诉你我确实是随机!!!


比如按书上的,可以给每个人员随机生成一个优先级,或者把每一个面试人员与其后的面试人员中随机一员交换,来产生一个随机的序列。

最后又讲了4个问题。

1.生日悖论,结论是至少23个人在一个房间,才有50%概率是同一天出生

2.球与盒子,就是你要放满b个盒子,最少需要blnb次

3.序列,一个序列最长的期望就是lgn

4.在线雇佣升级版,这个是你面试了之后,马上做出选择,要还是不要他们,所以不需要面试全部人,能够节省花费,需要有个策略

a。假如有n个人,我前面k个人面试,只给他们打分,都不要

b。剩下的人中,第一个比前面面试的k个人中最高分还要高的,那么就要了

c。一直找不到比前面高的人,那么我就要最后一个人

就是这么3步策略

那么k如何选择?

经过复杂的推断,结论就是k=n/e的时候,概率最大的能成功雇佣到满意的人员。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值