算法9:概率分析

本文深入探讨了算法中的虚拟应聘者概念及其在最坏情况分析中的应用,通过数学期望计算了雇佣新助理的平均次数,并引入随机化算法来优化决策过程。还详细分析了生日悖论,利用指示器随机变量计算了至少两人生日相同的最小人数,最终通过复杂度分析和概率计算展示了算法效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

雇用问题

  • 目前公司的候选人的编号是1 到 n。创建虚拟应聘者,编号 0,他比其他应聘者都要差
HIRE-ASSISTANT(n)
1. best=0 
2. for i=1 to n
3.     interview candidate i
4.     if candidate i is better than candidate best
5.        best=i
6.        hire candidate i
  • 面试费用=ci; 雇佣费用=ch, 雇佣人数=m,总人数=n
  • 总费用=O(cin+chm)

最坏情况分析

  • O(chm)

概率分析

  • 确定输入的分布
  • 均匀分布:等可能
  • 计算期望运行时间

指示器随机变量

  • 给定样本空间:S 和一个事件 A,那么事件A 对应的指示器随机变量I{A}:

I(A)=1 ……… 如果A发生
I(A)=0 ……… 如果A不发生

指示器分析雇佣问题

  • 计算雇佣一个新的办公助理的期望次数
  • X是随机变量=我们雇佣一个新的办公助理的次数
    E[X]=nx=1xPr {X=x}…………….原始期望公式

  • 定义:Xi 对应于第 i个应聘者是否雇佣的指示器随机变量
    Xi=I{应聘者i是否被雇佣}=1 ………….. i被雇佣
    Xi=I{应聘者i是否被雇佣}=0 ………….. i未被雇佣
    X=X1+X2+......+Xn

  • E[Xi]=Pr{应聘者i被雇佣的概率}

结论

  • 应聘者i 比从 1 到 i-1, 则i 更有资格的概率是 1/i. E[Xi]=1/i
  • E[X]=E[ni=1Xi]=ni=1E[Xi]=ni=11/i=lnn+O(1)

随机算法

//随机雇佣问题//随机的改变应聘者的顺序
RANDOMIZED-HIRE-ASSISTANT(n)
0. randomly permute the list of candidates
1. best=0 
2. for i=1 to n
3.     interview candidate i
4.     if candidate i is better than candidate best
5.        best=i
6.        hire candidate i

概率分析和随机算法

  • 概率分析:输入做假设,例如服从均匀分布
  • 随机算法:随机化输入

随机排列组合


概率分析 和 指示器随机变量的进一步使用

生日悖论

  • 屋子内必须要最少多少人,才可以使其中两个人生日相同的概率达到50%
  • 设:k=屋内人数, n=365, bi是编号为 i的人的生日,设生日均匀的分布在365天内
    Pr{bi=r}=1/n; 两个人 i 和 j的生日同时都落在一天的概率
    Pr{bi=rbj=r}=Pr{bi=r}Pr{bj=r}=1/n2
  • 则落在同一日的概率是:
    Pr{bi=bj}= nr=1Pr{bi=rbj=r}= nr=1(1/n2)=1/n
  • 选定两人,则两人在同一天生日的概率是1/n

k个人中至少两人的生日相同的概率

  • 至少两个人生日相同的概率等于1 减去 所有人生日都不同的概率。k个人生日都互不相同的事件是:
    Bk=ki=1Ai……… Ai=j<iij
    Bk=AkBk1
    Pr{Bk}=Pr{Bk1 } Pr{Ak|Bk1}

  • Pr{Ak|Bk1}=(n-k+1)/n ………. n天中有 n-(k-1)天没有用

  • Pr{Bk}=Pr{Bk1 } Pr{Ak|Bk1}
    =Pr{Bk2}Pr{Ak1|Bk2}Pr{Ak|Bk1}
    ……
    =Pr{B1}Pr{A2|B1}……Pr{Ak|Bk1}
    = 1(n1)nn2n......nk+1n
    =1(11n)(12n)......(1k1n)
    又因为: 1+x<=ex
    可得:
    Pr{Bk}<=e1ne2n……e(k1)n
    =eki=1i/n=ek(k1)/2n<=1/2

  • n=365 ……. =>…….k>=23

指示器分析

  • 每一对(i, j) 定义指示器变量

Xij=I{ij}=1 …….. 如果i和j相同
Xij=I{ij}=0 …….. 如果i和j不相同

  • 两个人相同的概率是 1/n
  • E[Xij]=Pr{ij}=1/n
  • 设:X表示计数生日相同的两人对数目的随机变量: X=ki=1kj=i+1Xij

  • E[X]=E[ki=1kj=i+1Xij]=ki=1kj=i+1E[Xij]= (k2)1n=k(k1)2n

  • 当且仅当 k(k-1)>=2n 时,期望至少为1 ……. k=28

复杂度

O(n


球与箱子

  • 将相同的球投入到b个箱子,求落入任意一个箱子的概率是1/b

几何分布

  • 一系列伯努利试验,成功的概率p, 失败的概率 q=1p, 获取一次成功需要进行多少次试验
  • 因为:k-1次是失败所以
    Pr{X=k}=qk1p
    E[X]=1/P …… Var [X]=q/p2

二项分布

  • 一系列伯努利试验,成功的概率p, 失败的概率 q=1p,则n次试验会有多少次成功?
  • Pr{X=k}=(nk)pkqnk
    E[x]=np …… Var[x]=npq

超几何分布

超几何分布:在含有M见次品的N件产品中取出n件,其中恰好有X见次品的概率
p(X=k)=C(M,k)C(NM,nk)C(N,n)


特征序列

  • 抛硬币n次, 最长连续正面的序列的期望长度是:O(lgn)
  • 设:事件Aik=ki,给定Aik,所有k 次都朝上的概率是
    Pr{Aik}=1/2k

  • 对于 k=2[lgn]

  • Pr{Ai,2[lgn]}=122[lgn]<=1/22lgn=1/n2
    长度是2[lgn], 起始于位置 i 的一个正面特征的概率。起始位置至多有n2[lgn]+1
  • 长度至少为 2[lgn] 的正面序列开始于任意位置的概率

Pr{nlgn+1i=1Ai,2[lgn]}<=n2[lgn]+1i=11/n2<ni=1/n2=1/n

  • E[L]=nj=0jPr{Lj} < O(lgn)

在线雇佣

省略

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值