【问题标题】:PROBABILITY HIRE- ASISTANT [closed]概率雇佣助理[关闭]
【发布时间】:2014-02-16 13:35:16
【问题描述】:

这是 HIRE-ASSISTANT 问题的算法。

HIRE-ASSISTANT(n)
best <- 0
for i <- 1 to n do
      if candidate[i] is better than candidate[best]
          best <- i
          hire candidate i

现在有一些观察:

1.候选人 1 总是被雇用。

2. 最好的候选人,即排名为 n 的人,总是被录用。

3.如果最佳候选人是候选人 1,那么这是唯一被录用的候选人。

现在的问题是招聘两次的概率是多少?

我的做法:

现在在第n位候选人之前,我可以面试任意数量的候选人,但他们的排名顺序是固定的。因此,在第n位候选人之前面试的i候选人=C(n-1,i)*( ni-1)!总的情况是可能的。所以改变 i=1 从 n-1 和总和除以 n 的总可能性!我计算了答案,但它与标准答案不匹配,所以我需要帮助找出问题所在?

【问题讨论】:

    标签: algorithm combinations permutation probability


    【解决方案1】:

    雇用至少两次的概率是(n-1)/n
    假设您有一个随机排列的候选人,当且仅当第一个候选人也是最好的时,您只雇用一个候选人。它发生的概率是1/n。因此,它不会发生(并且您将雇用两次或更多)的概率是1-1/n = (n-1)/n

    恰好雇用两次:

    • 为“最佳”选择一个位置(不是第一个):n-1 可能性。让这个地方成为我
    • 对于每个这样的地方,选择 i-1 候选人放在最好的之前:Choose(n-1,i-1)
    • 这些 i-1 候选人中的第一个是其中最好的。其余需要置换:(i-2)!
    • 此外,还需要在“最佳”之后对 (n-i-1) 个候选者进行置换:(n-i-1)!。

    这为我们提供了恰好两名候选人被雇用的“有效”排列总数:

    f(n) = Sum[ Choose(n-1,i-1)*(i-2)!*(n-i-1)! | for i=2,...,n]
    

    而概率就是P=f(n)/n!

    【讨论】:

      【解决方案2】:

      实际上,在第 4 个项目符号中,我们需要置换 (ni) 个候选者,以便最终答案减少到 P = 1/n*H_(n-1) 其中 H_(n-1) 是 (n-1)^次谐波数。

      【讨论】:

        猜你喜欢
        • 2013-07-18
        • 2012-08-22
        • 1970-01-01
        • 1970-01-01
        • 2013-04-06
        • 1970-01-01
        • 1970-01-01
        • 2018-02-11
        • 1970-01-01
        相关资源
        最近更新 更多