概率分析与随机算法

目录

  • 0.雇佣问题
  • 1.概率分析的含义
  • 2.随机算法
  • 3.随机算法与概率分析的区别
  • 4.雇佣问题的随机算法
    4.1 雇佣问题的随机化方法
    4.2 随机排列数组
      4.2.1 第一个随机化方法:随机赋予优先级,按优先级重新排列
      4.2.2 第二个随机化方法:原址排列给定数组
  • 5.指示器变量与随机化分析
    5.1 指示器随机变量(概率与期望之间转换的一个方法)
    5.2 用指示器随机变量分析雇佣问题
    5.3 生日悖论
    5.4 球与箱子
    5.5 特征序列
    5.6 在线雇佣问题

0.雇佣问题

概率分析与随机算法_第1张图片

1.概率分析的含义

概率分析的一般思路是:首先对输入的分布情况进行某种假设,最常见的假设当然是均匀分布;然后以此假设为前提,对一个已知的算法进行此种分布下的复杂性和效率分析。

2.随机算法

通过使算法中某部分行为随机化
一个算法的行为不仅由输入决定,而且也由随机数生成器产生的数值决定,这个算法就是随机的。
在实践中,大多数编程环境提供了一个伪随机数生成器,它是一个确定性算法,返回值在统计上看起来是随机的。

3.随机算法与概率分析的区别

1)当算法本身做出随机选择时,称之为随机算法。将一个随机算法的运行时间称为期望运行时间。
2)进行概率分析,必须使用或者假设关于输入的分布,然后分析该算法,计算出一个平均情形下的运行时间。此时称为平均情况运行时间。

4.雇佣问题的随机算法

4.1 雇佣问题的随机化方法

让随机发生在算法上,而不是输入分布上。


概率分析与随机算法_第2张图片

4.2 随机排列数组

很多随机算法通过对给定的输入变换排列以使输入随机化。(还有其他使用随机化的方法)

4.2.1 第一个随机化方法:随机赋予优先级,按优先级重新排列

一个通常的方法是为数组的每个元素A[i]赋予一个随机的优先级P[i],然后依据优先级对数组A中的元素进行排序。


概率分析与随机算法_第3张图片

选取在1~n³之间的随机数,是为了让P中所有优先级尽可能唯一。(证明所有元素都唯一的概率至少是1-1/n,如何在两个或更多优先级相同的情况下,实现这个算法。)


概率分析与随机算法_第4张图片

概率分析与随机算法_第5张图片

4.2.2 第二个随机化方法:原址排列给定数组

概率分析与随机算法_第6张图片

概率分析与随机算法_第7张图片

概率分析与随机算法_第8张图片

5.指示器变量与随机化分析

5.1 指示器随机变量(概率与期望之间转换的一个方法)

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




指示器随机变量在分析重复随机试验时有用:


概率分析与随机算法_第9张图片

5.2 用指示器随机变量分析雇佣问题

设X是一个随机变量,其值等于雇佣一个新办公助理的次数:



但是这种计算会很麻烦。

如下为采用指示器随机比那里来计算:


概率分析与随机算法_第10张图片

概率分析与随机算法_第11张图片

概率分析与随机算法_第12张图片

5.3 生日悖论



概率分析与随机算法_第13张图片

概率分析与随机算法_第14张图片

采用指示器随机变量的一个分析:
对屋子里k个人中的每一对(i, j),对1 <= i < j <= k,定义指示器随机变量Xij如下:



两个人生日相同的概率是1/n,因此:



概率分析与随机算法_第15张图片

5.4 球与箱子

概率分析与随机算法_第16张图片

礼券收集者问题:
一个人如果想要集齐b种礼券中的每一种,大约需要blnb张随机得到的礼券才能成功。


概率分析与随机算法_第17张图片

5.5 特征序列

假设抛投一枚标准的硬币n次,最长连续正面的序列的期望长度有多长?答案是Θ(lgn)。
1)首先证明最长的连续证明的特征序列的长度期望是O(lgn)


概率分析与随机算法_第18张图片

概率分析与随机算法_第19张图片

2)证明下界:在n次硬币抛投中,最长的正面特征序列的长度期望为Ω(lgn)


概率分析与随机算法_第20张图片

概率分析与随机算法_第21张图片

采用指示器随机变量进行分析:


概率分析与随机算法_第22张图片

5.6 在线雇佣问题

概率分析与随机算法_第23张图片

概率分析与随机算法_第24张图片

对每个可能的k,希望确定能雇佣最好应聘者的概率。然后选择最佳的k值。
M(j) = max{score(i)}表示1~j中最高的分数
S表示成功选择最好应聘者的事件
Si表示最好的应聘者是第i个面试者时成功的事件



计算Pr{Si}:

为了当第i个应聘者是最好时发生。必须满足两个条件:
1)最好的应聘者必须在位置i上,用事件Bi表示。
2)算法不能选择从位置k+1~i-1中任何一个应聘者。因此,所有score(k+1)到score(i-1)都必须小于M(k)。用Oi表示从位置k+1到i-1中没有任何应聘者入选的事件。


概率分析与随机算法_第25张图片

事件Bi仅依赖于位置i的值是否大于所有其他位置的值
事件Oi仅依赖于位置1到i-1中值的相对次序。
从位置1到i-1的排序并不影响位置i的值是否大于上述所有的值,并且位置i的值也不会影响从位置1到i-1值的次序。因此Bi和Oi是独立的。
概率分析与随机算法_第26张图片

A.12如下:


概率分析与随机算法_第27张图片


概率分析与随机算法_第28张图片

你可能感兴趣的:(概率分析与随机算法)