算法9:概率分析

雇用问题

  • 目前公司的候选人的编号是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=1 Pr{ 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 }<= e1n e2n …… 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)

在线雇佣

省略

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值