概率分析

概述

概率分析(Probabilistic Analysis)是利用概率论分析算法期望运行时间的方法。其核心工具是指示器随机变量期望的线性性。即使算法本身是确定性的,只要输入服从某种概率分布,就可以使用概率分析。概率分析不同于随机化算法——前者分析输入的随机性,后者在算法中引入随机性。

定义

概率分析(Probabilistic Analysis)

概率分析是在假设输入服从某种概率分布的前提下,分析算法的期望性能。它不修改算法本身,而是对输入建立概率模型。

核心工具:

  1. 指示器随机变量(Indicator Random Variable):对事件 ,定义

  1. 期望的线性性:对任意随机变量 (不必独立):

核心性质

性质描述备注
期望的线性性和的期望等于期望之和,不要求独立性概率分析中最常用的工具
指示器随机变量将复杂事件的计数分解为简单事件的期望之和大大简化分析过程
输入分布假设需要对输入的概率分布做出假设不同分布可能导致不同的期望复杂度
期望 vs 最坏期望时间是平均情况,最坏时间是上界期望时间通常优于最坏时间

应用场景

  • 随机化快速排序

    • 假设所有排列等概率出现,或使用随机 pivot
    • 期望比较次数
    • 通过指示器随机变量分析: 表示 是否比较,
  • 哈希表

    • 简单均匀散列假设下,成功搜索的期望时间为 为装载因子)
    • 不成功搜索的期望时间为
  • 雇佣问题:面试 个候选人,期望雇佣次数为

概率分析 vs 摊还分析

比较维度概率分析摊还分析
是否使用概率
分析对象单次操作的期望代价操作序列的平均代价
假设输入服从概率分布不假设输入分布
保证期望意义下的保证最坏情况下的平均保证

参见