算法导论:概率分析和随机算法

参考资料:
概率分析和随机算法
雇佣问题
在讲述概率分析和随机算法之前,需要先简单介绍一下,概率论的基础知识

基础知识

伯努利试验:在相同条件下,重复地进行n次相互独立的实验 。
有两种可能的结果,成功概率:p、失败概率:q=1-p。
例如:进行n次抛硬币的实验。
几何分布:在n次伯努利试验中,试验k次才得到第一次成功的机率。(是离散型概率分布)
例如:进行n次抛硬币,试验k次才得到第一次正面的概率。
几何分布的概率与期望分别是:

几何分布的概率与期望

二项分布:重复n次独立的伯努利试验。在每次试验中只有两种可能的结果,而且两种结果发生与否互相对立,并且相互独立,与其它各次试验结果无关,事件发生与否的概率在每一次独立试验中都保持不变,则这一系列试验总称为n重伯努利实验。
例如:进行完n次抛硬币之后,正面出现的次数
二项分布的概率与期望:
二项分布的概率与期望

0-1分布:就是试验次数为1的二项分布
0-1分布的期望:
0-1分布的期望

当然还有一个很重要的调和级数:
调和级数

概率分析

我们先从一个简单的问题开始,来介绍概率分析:
首先介绍雇佣问题:假设你要雇佣一个新的办公室助理,雇佣代理每天想你推荐一个应聘者(连续推荐n个),你面试这个人,如果这个应聘者比目前的办公室助理更优秀,你就会辞掉当前的办公室助理,然后聘用这个新的。面试一个人需付给雇佣代理一笔费用,聘用办公助理也需要费用。
也就是只要面试了(不管最后有没有聘用),就要花费a,如果聘用了,就要再花费b。

雇佣问题

例如,现在有一个人,参加了面试并且最后被聘用了,就要花费a+b的费用。
雇佣问题

所以总的花费就是an+bm,其中n是面试的总人数,m是雇佣的次数,我们最后只雇佣最优秀的人,所以只要比前一个雇佣的人优秀,那么就开除前一个人,雇佣当前的人。
雇佣花费

所以会有两种情况出现:
最好情况:面试n次但只雇佣一次(即第一个人就是最优秀的人)
那么雇佣费用为:an+b1
最坏情况:面试n次,应聘者质量按出现的次序严格递增. 面试n次,雇佣n次
那么雇佣费用为:an+bn
但是应聘者并非总以质量递增递减次序出现,因此,平均情况下,会雇用多少次?为了解决这个问题,我们就需要进行概率分析了。为了进行概率分析就必须假设输入分布。
在雇用问题中
假设应聘者以随机顺序出现.即第i应聘者都等可能的被雇用。假设任意两个应聘者间可以比较,可以确定哪一个更有资格。此时,计算平均情况下的雇用费用,即计算雇用一个新的办公助理的期望。
用X表示雇用新办公助理的次数,则:
期望

其中Pr{X = x}表示在整个过程中,雇佣了x次的概率,这个计算起来会很麻烦。
所以我们可以换一种思路,将其分解成多个0-1分布来分析:
0-1分布

我们将Xi看做0-1分布,即i被雇佣则为1,不被雇佣则为0。根据前面所说0-1分布的期望,就是1的概率,在这里也就是应聘者i被雇佣的概率。i被雇佣说明他是前i个人里面最优秀的那一个,那第i个人是前i个人里最优秀的概率是多少呢?显然是1/i,也就是应聘者i被雇佣的概率是1/i。那么我们可以得出Xi的期望E[Xi]=1/i。
那么X也就是所有应聘者组成的分布的期望E(X),根据调和级数,可以计算出结果,如上图所示。
所以可以得出在平均情况下的费用:
平均情况费用

从上面雇佣问题中,我想我们已经了解到了概率分析

概率分析定义:用概率论方法对不确定性问题进行定量研究,为决策提供定量的依据。 

例如:


概率分析

这个算法是随着输入的变化而变化的,对于某个特定的输入,它总是会产生固定的雇佣次数 — 确定型算法

随机算法

概率分析是在,输入已经确定的基础上进行的分析,但是在大多数情况下,输入的分布信息无法得知,只能采用随机算法。

随机算法

如图所示,将输入的序列随机打乱,可以消除或者减少最坏情况的发生。
在这里重要的就是RANDOM过程,共有两种打乱方法,分别是随机排列数组和原址排列数组。
随机排列数组
随机排列数组

会给原数组中的每一个元素,生成一个优先级数据,当然生成的数字大小范围是1到结点个数的3次方。
最后根据优先级排序,得到结果。
原址排列数组
原址排列数组

这种方法就是将第一个数与后面随机选择的数进行交换。
原址排列数组

例如将第一个数0和后面的数字8进行交换
原址排列数组

这里将数字2和数字5进行交换。就是这样进行,这种方法比上一种要好。
概率分析和随机算法的区别
概率分析和随机算法

概率分析:对于某个特定的输入,它总是会产生固定的结果。
随机算法:随机算法的随机发生在算法上,而不是发生在输入分布上 .对输入进行随机再排列。
最后的小结:
小结

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录 0.雇佣问题 1.概率分析的含义 2.随机算法 3.随机算法与概率分析的区别 4.雇佣问题的随机算法4.1 ...
    王侦阅读 7,792评论 0 1
  • 随机变量是根据偶然性取值的变量。我们在谈到随机变量时,通常是以“概率分布”的形式来描述他们。也即:随机变量落在每一...
    小狸投资阅读 10,903评论 1 7
  • 001.中学时代的渴望 有些路没得选,比如作为学生就得上学,幼儿园、小学、中学、大学……很难逃离这条成长路上必须完...
    尧五月阅读 2,953评论 3 3
  • 随便说说罢 去复旦耍的一天 感受一无所有 刚比赛的时候其实很方 人家学校都是什么复旦交大浙大同济 听着就很厉害 虽...
    ErinWen阅读 1,404评论 0 0
  • 街角,遍布于大大小小的城市之中,存于世界的各个角落。也许一个小小的转角,便是生活最仆素,真实的模样。 凌晨五点,大...
    伊如陌阅读 3,304评论 2 7