美文网首页启发式算法
概率分析与随机算法

概率分析与随机算法

作者: 王侦 | 来源:发表于2017-11-25 21:10 被阅读0次

目录

  • 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.概率分析的含义

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

2.随机算法

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

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

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

4.雇佣问题的随机算法

4.1 雇佣问题的随机化方法

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



4.2 随机排列数组

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

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

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



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



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



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

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

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




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



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

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



但是这种计算会很麻烦。

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




5.3 生日悖论




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



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



5.4 球与箱子

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


5.5 特征序列

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



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



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



5.6 在线雇佣问题



对每个可能的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中没有任何应聘者入选的事件。



事件Bi仅依赖于位置i的值是否大于所有其他位置的值
事件Oi仅依赖于位置1到i-1中值的相对次序。
从位置1到i-1的排序并不影响位置i的值是否大于上述所有的值,并且位置i的值也不会影响从位置1到i-1值的次序。因此Bi和Oi是独立的。

A.12如下:




相关文章

  • 概率分析与随机算法

    目录 0.雇佣问题 1.概率分析的含义 2.随机算法 3.随机算法与概率分析的区别 4.雇佣问题的随机算法4.1 ...

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

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

  • 算法导论第5.3章 - 随机算法

    随机算法 简而言之,随机算法就是随机设定输入的排列组合。与概率分析类似,这种方法可以用这种方法来估算算法的平均情况...

  • 算法(3)概率分析与随机算法

    要点: 指示器随机变量 随机算法 2个 雇佣问题与在线雇佣问题(待完善) 指示器随机变量 基本定义 给定一个样本空...

  • 概率与计算

    本文首发在我的博客:《概率与计算》 这是一个挖坑贴,随机算法是大数据算法中的重要的算法,《概率与计算》是讲随机算法...

  • 统计学5、6章

    概率与概率分布 1、几个基本概念 随机事件,基本事件,,样本空间 事件的概率 概率的基本性质与运算法则 基本性质:...

  • iOS随机算法,概率算法

    ios中三种随机算法(0到10中随机取一个数字不包括5) //第一种 srand((unsigned)time(...

  • 章节二:概率分析和随机算法

    自然事件中很多会牵涉到随机算法,鉴于本人的概率分析功底有限,这里主要介绍一些结论性的知识,具体的概率推演及时过程大...

  • 概率基础

    写在前面 随机事件与概率随机试验随机事件和样本空间概率的定义概率的三大性质条件概率全概率公式与贝叶斯公式全概率公式...

  • 重拾「概率论」

    Content 随机变量与期望分析几何分布分析快速排序 经典概率论问题匹配问题(Match Problem)生日问...

网友评论

    本文标题:概率分析与随机算法

    本文链接:https://www.haomeiwen.com/subject/xpkcbxtx.html