趣题:公司应该雇用多少员工?

    某大公司有这么一个规定:只要有一个员工过生日,当天所有员工全部放假一天。但在其余时候,所有员工都没有假期,必须正常上班。这个公司需要雇用多少员工,才能让公司一年内所有员工的总工作时间期望值最大?
    假设一年有 365 天,每个员工的生日都概率均等地分布在这 365 天里。


    你的第一感觉或许是,公司应该雇用 100 多人,或者 200 多人吧。答案或许会让你大吃一惊:公司应该雇用 365 个人。注意,雇用 365 个人并不意味着全体员工全年的总工作时间为 0 ,因为 365 个人的生日都是随机的,恰好每天都有一个人过生日的概率极小极小。下面我们就来证明,这个问题的最优解就是 365 人。

    由于期望值满足线性关系(即对于随机变量 X 和 Y 有 E(X) + E(Y) = E(X+Y) ),因此我们只需要让每一天员工总工作时间的期望值最大就可以了。假设公司里有 n 个人,那么在特定的一天里,没有人过生日的概率是 (364/365)n 。因此,这一天的期望总工作时间就是 n · (364/365)n 个工作日。为了考察函数 n · (364/365)n 的增减性,我们来看一下 ((n+1) · (364/365)n+1) / (n · (364/365)n) 的值,它等于 (364 · (n+1)) / (365 · n) 。如果分子比分母小,解得 n > 364 。可见,要到 n = 365 以后,函数才是递减的。

    这个问题的答案非常出人意料,反直觉性恐怕不亚于经典的生日悖论。它应该可以看作是生日悖论番外篇了吧。对于这个答案,还有什么更直观,更有启发性的解释吗?大家一起来想想吧。

    问题来源:http://mindyourdecisions.com/blog/2011/06/07/birthday-laws-probability-puzzle/

35 条评论

  • biohu

    又板凳

  • aihorn_mac

    我的沙发没了,话说答案在意料中

  • 灿星海

    数学之美啊……每天有一个人过生日和每天没有人过生日不是对立的,所以这跟生日悖论看似冲突了?

  • morrowind

    比起生日悖论的实用性,这个公司要亏死了。
    想到一个虽繁复但更直观点的:
    考虑公司已经有n名员工了,生日分布在d天,那么当再招募一名新员工时,此人生日与原公司员工重合的概率为d/365,因此他的加入,潜在给公司增加的总工作天数为
    (d/365)*(365-d) + (1-d/365)(364-d) = 364(1-d/365)
    即重合概率×重合下的此人需工作天数,加上不重合概率×不重合下此人需工作天数
    另外,他的加入,潜在导致公司减少的总工作天数为
    (1-d/365)n
    即不重合概率×原公司员工数,重合情况下原公司员工所需工作时间不变。
    同样当n<364的时候,新增工作时间总是多于减少的工作时间。
    当n=364的时候,新增第365人,并不会增加期望的工作时间。
    所以准确来说是答案应该是364。

  • anonymous

    orz ls。。。。
    364*(364/365)^364=365*(364/365)^365好不好

  • 宁波不锈钢回收

    我一般很少顶人…这篇文章不顶是不行的。

  • atom

    其实也是合乎情理的了,当然是雇佣的人越多,总的工作时间越大了。以员工生日为参数,讨论工作时间最大值,本身也是蛋疼问题。。。

  • Scofield

    大牛,你有eaglefantasy的可否再介绍一个化学大牛的网站呢?

  • osirpt

    和并行算法的效率有点关系。一年中出现生日就放假就好比固定周期内进程被挂起,当进程数太多时,并行效率反而下降

  • 小灰

    这个答案真的有点出乎意料~

  • shenheng

    貌似缺了一個條件,就是招人時,不能選擇對方的生日。
    如果可以選擇的話,都選某一天生日的就行了。

  • bobbielf2

    直观的解释,雇用越多的人,工作一天的工时越大,但也有可能一年放假更多天数。
    问题就是想找到这对矛盾的一个平衡,使一天的工时越大越好,又使放假的天数越少越好。
    其实文中的数学解法已经是最好的解释了,这和生日悖论一样,之所以称为悖论,是因为不通过数字的计算,凭感觉是很难得到好的估计的。

  • error 404

    这是啥公司啊球雇佣……
    不过算下来每年假期的期望值是多少?……

    说来这个问题的奇妙之处在于……员工的生日一旦雇佣就固定了,于是如果恰好生日都不重合,那么大家都不用上班了……

    如果恰好在公司忙节连续N个生日,也不用干活了……

    当然这是数学问题……我又认真了……

  • MagicPig

    设a=364/365,即求y=xa^x的极大值问题。对其求导得到y’=a^x(xlna+1),其极点满足a^x(xlna+1)=0,即必有xlna+1=0。因此x=-1/lna≈364.5。试了下,假如一年有n天,那么不论n是多少,结果x总是约等于n-0.5。现在新问题来了,为什么-1/ln(1-1/n)要约等于n-0.5呢……

  • cuiaoxiang

    级数展开一下 ln(1+x)=x+x^2/2+… 当 x 很接近 0 的时候

  • 学夫子

    这里面最主要的一个原因是,人越多。相同生日的概率就很大,反倒是生日不一样的概率很小,所以人越多,生日重复的概率就越大。

  • 风力发电机

    原来是智力题,还以为是讲公司管理的,嘿嘿

  • 呵呵

    。。。

  • ASSOS

    能应用到实际····

  • laoma

    招聘:
    只招收生日为2月29日的人

  • trek jerseys

    呵呵 这么复杂 不知道招多少个

  • specialized cycling jerseys

    喔 呵呵 如果招少人了 那我们员工就很吃亏了

  • Christina Wang

    可以考虑用鸽巢原理解释吧,当雇佣366人时,必有两个人在同一天生日。
    具体应该怎么解释还没想清楚。。。

  • cervelo

    同样当n<364的时候,新增工作时间总是多于减少的工作时间。
    当n=364的时候,新增第365人,并不会增加期望的工作时间

  • yyf999111

    有个问题,“那么在特定的一天里,没有人过生日的概率是 (364/365)^n ”,但是已知生日是均匀分布的,这句话还成立么?
    因为如果假设里提到了每个人的生日均匀分布在365天里,其实已经违背了员工的生日日期是iid的了吧。

  • 哎呦

    不应该招364人和365人一样的么?

  • 鲲鹏

    364和365一样的吧

  • jmir

    大牛就是举重若轻

  • YYCFROMMARS

    本来觉得第二天的概率是条件于第一天的,浪费了好多时间编程算。。结果答案一样,364和365,一年有y天,答案都是y和y–1

回复给 鲲鹏 取消回复

9  ×    =  18