算法9:概率分析
2016-03-03 00:21
337 查看
雇用问题
目前公司的候选人的编号是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
面试费用=cic_i; 雇佣费用=chc_h, 雇佣人数=m,总人数=n
总费用=O(cin+chm)O(c_in+c_hm)
最坏情况分析
O(chm)O(c_hm)概率分析
确定输入的分布均匀分布:等可能
计算期望运行时间
指示器随机变量
给定样本空间:S 和一个事件 A,那么事件A 对应的指示器随机变量I{A}:I(A)=1 ……… 如果A发生
I(A)=0 ……… 如果A不发生
指示器分析雇佣问题
计算雇佣一个新的办公助理的期望次数X是随机变量=我们雇佣一个新的办公助理的次数
E[X]=∑nx=1xPrE[X]=\sum_{x=1}^n xPr {X=x}…………….原始期望公式
定义:XiX_i 对应于第 i个应聘者是否雇佣的指示器随机变量
Xi=IX_i=I {应聘者i是否被雇佣}=1 ………….. i被雇佣
Xi=IX_i=I {应聘者i是否被雇佣}=0 ………….. i未被雇佣
X=X1+X2+......+XnX=X_1+X_2+......+X_n
E[Xi]=PrE[X_i]=Pr{应聘者i被雇佣的概率}
结论
应聘者i 比从 1 到 i-1, 则i 更有资格的概率是 1/i. E[Xi]=1/iE[X_i]=1/iE[X]=E[∑ni=1Xi]=∑ni=1E[Xi]=∑ni=11/i=lnn+O(1)E[X]=E[\sum_{i=1}^n X_i]=\sum_{i=1}^n E[X_i]=\sum_{i=1}^n 1/i=ln n+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, bib_i是编号为 i的人的生日,设生日均匀的分布在365天内
则 PrPr{bi=rb_i=r}=1/n; 两个人 i 和 j的生日同时都落在一天的概率
Pr{bi=r且bj=rb_i=r 且 b_j =r}=Pr{bi=rb_i=r}Pr{bj=rb_j=r}=1/n2n^2
则落在同一日的概率是:
Pr{bi=bjb_i=b_j}= ∑nr=1\sum_{r=1}^nPr{bi=r且bj=rb_i=r 且b_j=r}= ∑nr=1(1/n2)=1/n\sum_{r=1}^n(1/n^2)=1/n
选定两人,则两人在同一天生日的概率是1/n
k个人中至少两人的生日相同的概率
至少两个人生日相同的概率等于1 减去 所有人生日都不同的概率。k个人生日都互不相同的事件是:Bk=⋂ki=1AiB_k=\bigcap _{i=1}^k A_i……… Ai=对所有的j<i,i与j生日不同的事件A_i = 对所有的 j
Bk=Ak⋂Bk−1B_k=A_k \bigcap B_{k-1}
Pr{BkB_k}=Pr{Bk−1B_{k-1} } Pr{Ak|Bk−1A_k | B_{k-1}}
Pr{Ak|Bk−1A_k | B_{k-1}}=(n-k+1)/n ………. n天中有 n-(k-1)天没有用
Pr{BkB_k}=Pr{Bk−1B_{k-1} } Pr{Ak|Bk−1A_k | B_{k-1}}
=Pr{Bk−2B_{k-2}}Pr{Ak−1|Bk−2A_{k-1}|B_{k-2}}Pr{Ak|Bk−1A_k|B_{k-1}}
……
=Pr{B1B_1}Pr{A2|B1A_2|B_1}……Pr{Ak|Bk−1A_k|B_{k-1}}
= 1∗(n−1)n∗n−2n......n−k+1n1* \frac{(n-1)}{n}*\frac{n-2}{n} ...... \frac{n-k+1}{n}
=1∗(1−1n)∗(1−2n)......(1−k−1n)1*(1- \frac{1}{n})*(1- \frac{2}{n}) ...... (1- \frac{k-1}{n})
又因为: 1+x<=ex1+x <= e^x
可得:
Pr{BkB_k}<=e−1ne^{-\frac{1}{n}}e−2ne^{-\frac{2}{n}}……e−(k−1)ne^{-\frac{(k-1)}{n}}
=e−∑ki=1i/n=e−k(k−1)/2ne^{-\sum_{i=1}^k i/n}=e^{-k(k-1)/2n}<=1/2
n=365 ……. =>…….k>=23
指示器分析
每一对(i, j) 定义指示器变量XijX_{ij}=II {i和j生日相同i和j 生日相同}=1 …….. 如果i和j相同
XijX_{ij}=II {i和j生日相同i和j 生日相同}=0 …….. 如果i和j不相同
两个人相同的概率是 1/n
E[Xij]E[X_ij]=Pr{i和j的生日相同i和j的生日相同}=1/n
设:X表示计数生日相同的两人对数目的随机变量: X=∑ki=1∑kj=i+1Xij\sum_{i=1}^k \sum_{j=i+1}^k X_{ij}
E[X]=E[∑ki=1∑kj=i+1Xij]E[X]=E[\sum_{i=1}^k \sum_{j=i+1}^k X_{ij}]=∑ki=1∑kj=i+1E[Xij]\sum_{i=1}^k \sum_{j=i+1}^k E[X_{ij}]= (k2)1n=k(k−1)2n(_2^k) \frac{1}{n}=\frac{k(k-1)}{2n}
当且仅当 k(k-1)>=2n 时,期望至少为1 ……. k=28
复杂度
O(n−−√\sqrt{n})球与箱子
将相同的球投入到b个箱子,求落入任意一个箱子的概率是1/b1/b几何分布
一系列伯努利试验,成功的概率pp, 失败的概率 q=1−pq=1-p, 获取一次成功需要进行多少次试验因为:k-1次是失败所以
PrPr{X=kX=k}=qk−1pq^{k-1} p
E[X]=1/P …… Var [X]=q/p2p^2
二项分布
一系列伯努利试验,成功的概率pp, 失败的概率 q=1−pq=1-p,则n次试验会有多少次成功?Pr{X=kX=k}=(nk)pkqn−k(_k^n)p^k q^{n-k}
E[x]=np …… Var[x]=npq
超几何分布
超几何分布:在含有M见次品的N件产品中取出n件,其中恰好有X见次品的概率p(X=k)=C(M,k)∗C(N−M,n−k)C(N,n)\frac{C(M,k)*C(N-M,n-k)}{C(N,n)}
特征序列
抛硬币n次, 最长连续正面的序列的期望长度是:O(lgn)O(lg n)设:事件Aik=长度至少为k的正面特征开始于第i次A_{ik}= 长度至少为 k的正面特征开始于第 i 次,给定AikA_{ik},所有kk 次都朝上的概率是
Pr{AikA_{ik}}=1/2k2^k
对于 k=2[lgn]k=2[lgn]
Pr{Ai,2[lgn]A_{i,2[lgn]}}=122[lgn]<=1/22lgn\frac{1}{2^{2[lgn]}}<=1/2^{2lgn}=1/n21/n^2
长度是2[lgn], 起始于位置 i 的一个正面特征的概率。起始位置至多有n−2[lgn]+1个n-2[lgn]+1 个
长度至少为 2[lgn]2[lgn] 的正面序列开始于任意位置的概率
Pr{⋃n−lgn+1i=1Ai,2[lgn]\bigcup_{i=1}^{n-lgn+1} A_{i,2[lgn]}}<=∑n−2[lgn]+1i=11/n2<∑ni=1/n2=1/n\sum_{i=1}^{n-2[lgn]+1} 1/n^2 < \sum_{i=1}^n /n^2=1/n
E[L]=∑nj=0jPr\sum_{j=0}^n j Pr{LjL_j} < O(lgn)
在线雇佣
省略相关文章推荐
- Hibernate学习篇03——Oracle sequence
- Android布局管理器总结一:LinearLayout
- 存储过程详解
- oracle之续day06—demo
- apue file i/o 学习笔记
- 【C】论‘\r’和'\n'的纯粹性
- 《JavaScript模式》笔记
- hdu4565 矩阵构造+矩阵快速幂
- codevs 1257
- window下连接ubuntu mysql的问题
- Hello World——CSDN Blog
- js 函数 function
- linux编译器琐碎杂记
- javascript之Array基础篇
- ios中navigation controller的漂移问题
- Java图形界面
- java基础总结第一篇(JAVA简介)
- “this”总结
- cocos create 系列 【一】 想那么多干嘛,试试就知道了
- JAXB最佳实践