The Hiring Problem

问题描述
假设你要雇佣一个新的办公室助理,雇佣代理每天想你推荐一个应聘者(连续推荐n个),你面试这个人,如果这个应聘者比目前的办公室助理更优秀,你就会辞掉当前的办公室助理,然后聘用这个新的。面试一个人需付给雇佣代理一笔费用,聘用办公助理也需要费用。

伪代码描述
最坏情形下,我们雇佣了每一个面试者

代价模型

Best Case 第一个最优 Cost = Ci·n+Ch
Worst Case 每次面试结果都是招聘新的 Ci·n+Ch·n
问题的期望是什么即 我们雇佣人数m的期望

概率分析
我们既不能得知应聘者出现的顺序,也不能控制这个顺序,因此我们使用概率分析。概率分析就是在问题的分析中使用概率技术。为了使用概率分析,必须使用关于输入分布的知识或者对其做假设,然后分析算法,计算出一个期望的运行时间。


计算模型


雇佣情况分析
Events: E1, E2, …, En (事件)
Ei = we hire the i-th candidate(第i个受聘用)

指示变量Xi = I(Ei)


Assuming that the order in which the candidates are presented is a uniformly random permutation, the expected cost for hiring a new assistant out of n candidates is Θ(Ci⋅n + Ch⋅lg n)

一致性随机排练的生成
工具:随机数生成器 random(a,b)

方法1:排序法排列

方法2:换位法排列

概率分析和随机算法_雇佣问题相关推荐

  1. 【算法导论】第5章,概率分析和随机算法

    5.1 雇佣问题 每面试一个人,如果比之前的人强,就要现场雇佣,花费x元,共面试n个人,问总共花费多少元(期望). 5.2 指示器随机变量 indicator random variable 示性变量 ...

  2. 算法导论之概率分析和随机算法

    在问题的分析中应用概率技术称为概率分析,前期是对所有可能的输入集合可以做假定.如果无法对输入分布做合理性建模,如果一个算法的行为不只是由输入决定,同时也由随机数生成器所产生的数值决定,则为随机算法.行 ...

  3. python 加权随机算法_加权随机算法 - 飞儿飞的个人空间 - OSCHINA - 中文开源技术交流社区...

    加权随机算法一般应用在以下场景:有一个集合S,里面比如有A,B,C,D这四项.这时我们想随机从中抽取一项,但是抽取的概率不同,比如我们希望抽到A的概率是50%,抽到B和C的概率是20%,D的概率是10 ...

  4. JAVA梅森旋转随机算法_梅森旋转算法

    概念 梅森旋转算法(Mersenne twister),可以快速产生高质量的伪随机数,修正了古典随机数发生算法的很多缺陷. 常见的两种为基于32位的 MT19937和基于64位的 MT19937-64 ...

  5. JAVA梅森旋转随机算法_伪随机数生成算法-梅森旋转(Mersenne Twister/MT)

    今天主要是来研究梅森旋转算法,它是用来产生伪随机数的,实际上产生伪随机数的方法有很多种,比如线性同余法, 平方取中法等等.但是这些方法产生的随机数质量往往不是很高,而今天介绍的梅森旋转算法可以产生高质 ...

  6. 微信红包随机数字_微信红包随机算法转载

    php固定红包 + 随机红包算法 1 需求 CleverCode最近接到一个需求,需要写一个固定红包 + 随机红包算法. 1 固定红包就是每个红包金额一样,有多少个就发多少个固定红包金额就行. 2 随 ...

  7. 前端实现红包雨功能_最全解密微信红包随机算法(含代码实现)

    code小生 一个专注大前端领域的技术平台公众号回复 Android加入安卓技术群 "  1.引言 这个系列文章已经整理了10篇,但都没有涉及到具体的红包算法实现,主要有以下两方面原因.一方 ...

  8. 使用轮转算法求时间片_彩票调度算法,让进程们拼手气? --当操作系统遇上随机算法...

    这篇文章主要想介绍下彩票调度(个人觉得这个算法非常有意思~ ),还有随机算法相对传统算法的一点优势,毕竟现在绝大多数算法都是追求确定性,尤其在操作系统,大家都希望一切可控,所以随机算法的出现听起来有些 ...

  9. js打乱数组的顺序_如何用 js 实现一个类似微信红包的随机算法

    如何用 js 实现一个类似微信红包的随机算法 js, 微信红包, 随机算法 "use strict"; /** * * @author xgqfrms * @license MIT ...

最新文章

  1. torch学习笔记(二) nn类结构-Linear
  2. bzoj1025 [SCOI2009]游戏 动态规划
  3. 【10.4】线程同步--Lock、RLock
  4. 如何做项目工作量估算
  5. 【Ubuntu-Opencv】Ubuntu14.04 Opencv3.3.0 完整卸载方案
  6. 作家如何利用Git更好地完成工作
  7. 设计灵感|双重曝光放在海报里原来这么好看!
  8. RCNN学习笔记(1):Rich feature hierarchies for accurate object detection and semantic segmentation
  9. EMS企业能源管理系统-工厂能源管控——安科瑞高逍
  10. 项目管理工具之SWOT分析法
  11. 国际足联还不考虑在中国办一届世界杯吗?
  12. 管道工程和这个管道铺设过程中的电缆卫士--电缆故障测试仪 电缆测距 故障定点 路径查找 电缆综合故障测试仪 FB11
  13. Windows Debugging
  14. centos/redhat kernel-debug-info-xx.rpm与kernel-debuginfo-xx.rpm区别
  15. FreeBSD常用命令 110 条
  16. SAP ABAP OOALV常用的方法
  17. mysql 时间字符串 1_Mysql 中的日期时间字符串查询
  18. Coding and Paper Letter(四十一)
  19. Nginx地址重写功能
  20. 我win7的快捷方式图标显示不正常的解决方法

热门文章

  1. MySQL触发器之insert、update、delete的使用
  2. Wi-Fi Direct协议详解
  3. 微信小程序-一个跑步app
  4. Explaining and Harnessing Adversarial Examples——论文的学习笔记01
  5. 工地人员定位原理又是什么--新导智能
  6. 解决telnet不是内部或外部命令的方案!
  7. CF1341B Nastya and Door 题解
  8. STM32 -- 做一块自己的开发板(STM32F103C8T6)
  9. wordpress真正静态化插件really-static(纯静态html网页生成插件)
  10. 手机mstsc远程工具_microsoft remote desktop android下载