中科大算法分析与设计近似算法复习知识点

三、近似算法

3.1 NP-完全性理论

图灵机

  • 确定性图灵机DTM:执行的动作唯一
  • 非确定性图灵机NTM:执行的动作有多个可选

P类问题\(P={L:L能在多项式时间内被DTM接受}\)

确定性算法在多项式时间内可解

多项式时间内可解的问题\(=\)P

NP类问题\(P={L:L能在多项式时间内被NTM接受}\)

非确定性算法在多项式时间内可解

多项式时间内可验证的问\(=\)NP

多一规约\(L_1和L_2是两个判定问题,实例I_2=f(I_1)\)

\[\forall I \in U_1, I是L_1输出yes的实例 \Leftrightarrow f(I)是L_2输出yes的实例 \\ L1 \le_m L_2 \]

多项式时间多一规约\(f\)是多项式时间可计算的

NPC问题:对于判定问题q,满足\(1)q\in NP;2)NP \le_m^p q;\)

NP-hard问题:对于判定问题q,满足\(2)NP \le_m^p q;\)

\(NPC \sqsubseteq NP-hard\)

解题思路:

  • \(一个问题不可判定 \Rightarrow 该问题\notin NP \Rightarrow 该问题 \notin NPC\)
  • 证明\(q \in NPH\),找到\(q' \in NPC/NPH\),再将\(q'\)多项式归约到\(q\)
  • 如果继续证明\(q \in NP\),则\(q \in NPC\)
  • NPC问题:SAT可满足性问题、最大独立集问题、背包问题、覆盖问题、路径问题
  • NPH问题:停机问题

规约策略

  • \(X\le_pY,Y\le_pX \Rightarrow X \equiv_pY\)\(最大独立集问题 \equiv_p 最小顶点覆盖问题\)

  • 特殊到一般,\(最小顶点覆盖问题 \le_p 最小集合覆盖问题\)

3.2 相关问题总结

  1. 独立集问题(Independent-Set):图的顶点集合的子集中,所有顶点两两没有边
  2. 团问题:图的顶点集合的子集中,所有顶点两两均有边
  3. 顶点覆盖问题(Vertex-Cover):图的顶点集合的子集中,边集中至少有一个顶点在该子集中。
  4. 集合覆盖问题(Set-Cover):非空集合的若干非空子集合的并集等于原有集合。
  5. 3-SAT问题3-CNF(合取范式)组成的布尔公式存在真值解。
  6. 哈密尔顿圈问题:图中通过每一个顶点恰好一次的回路。

上述问题均是NPC的。

单源最短路径和欧拉环是P问题。

3.3 近似算法

三种放宽要求的可能性:

  • 超多项式时间启发:存在一个伪多项式时间的算法,如背包问题。(缺点:只对弱NPC问题有效)
  • 概率分析:不再要求问题的解满足所有输入实例。(缺点:选取一个特殊的输入分布不容易)
  • 近似算法:不再要求总是找到最优解。设计一个算法找出所有情况下的次优解来解NP-hard问题、

近似解分类

  • 容易近似:背包问题、调度问题、装箱问题
  • 中等难度:顶点覆盖问题、欧式TSP问题、Steiner Trees
  • 难于近似:着色问题、TSP、Clique(团)

性能保证:在最优解和近似解之间建立某种联系。

绝对性能度量:绝对近似算法是优化问题的多项式时间近似算法A,\(\exist k > 0\),使得

\[\forall I\in D,|A(I) - OPT(I) | \le k \]

含义:近似解和最优解相差某一小的常数。

对于大多数的NPH问题,不存在绝对近似算法,除非\(P=NP\)

两种绝对近似算法:

  • 图是否可以3着色:

    • G为二部图,即可2着色
    • G一定可以4着色,四色定理
    • \(|A(G)-OPT(G)| \le 2\)
  • 图边着色最小颜色数:

    • 最大度 / 最大度+1
    • \(|A(G)-OPT(G)|\le1\)

前提已知最优解 或 值所在的小范围

对于大多数NPH问题,存在绝对近似算法当且仅当存在多项式精确算法。

反证不存在绝对近似算法

  • 背包问题,通过Scaling放大利润为k+1倍,再算解的值
  • 最大团问题,构造\(G^{k+1}\)

相对性能度量:算法A在一个输入实例上的性能比为

\[R_A(I) = \begin{cases} \frac{A(I)}{OPT(I)},最小化问题 \\ \frac{OPT(I)}{A(I)},最大化问题 \end{cases} \\ 1 \le R_A(I) \le 1+\varepsilon,A为(1+\varepsilon)-近似算法 \]

含义:近似解和最优解比值为某一小的常数。

  • 绝对性能比\(R_A = inf\{ r|R_A(I)\le r,\forall I \in D \} =性能比上界集合中的最小值\)
  • 渐近性能比\(R_A^\infty = inf \{ r | R_A(I)\le r,\forall I \in D 且OPT(I)\ge N \}=最优解要足够大\)
  • 最佳可达性能比\(R_{MIN}(\Pi)=inf \{ r\ge1 | \exist多项式时间算法A,R_A^\infty\le r \}\)
    • \(\begin{cases}1,最容易近似 \\有界,\bigtriangleup TSP问题 \\无界,难于近似 \end{cases}\)

\(1\le R_A^\infty \le R_A < \infty\)

对于有Scaling性质的问题,\(R_A^\infty = R_A\)

很多问题找不到绝对近似算法。

有些问题找不到有界性能比近似算法。

3.3.1 多机调度问题

List调度算法:n个作业依次分配给当前负载最小的机器。

\(\frac{A(I)}{OPT(I)} \le 2-\frac{1}{m}\)

证明上界:

\[\begin{align} &A(I) = L,作业运行时间最长\\ &OPT(I) \ge \frac{\sum P_i}{m}\ge \frac{m(L-P_{last})+P_{last}}{m} \\ &\Rightarrow OPT(I) \ge A(I) + \frac{1-m}{m}P_{last} \\ &\because OPT(I) \ge P_{last} \\ &\therefore 1 \ge \frac{A(I)}{OPT(I)} + (\frac{1}{m}-1)\frac{P_{last}}{OPT(I)}\\ &\therefore \frac{A(I)}{OPT(I)} \le (2-\frac{1}{m})\frac{P_{last}}{OPT(I) } \le 2-\frac{1}{m} \end{align} \]

证明紧确界:有\(n=m(m-1)+1\)个作业

\[\begin{align} &P_1=\cdots=P_{n-1}=1,P_n=m \\ &OPT(I)=前n-1个机器每个运行m个作业+第n个机器运行P_n=m \\ &A(I)=前n个机器每个运行m-1个作业+第1个机器运行P_n=2m-1 \\ &R_A=2-\frac{1}{m} \end{align} \]

LPT调度算法:将作业递序排列,然后List策略调度。

\(\frac{A(I)}{OPT(I)} \le \frac{4}{3} -\frac{1}{3m}\)

3.3.2 装箱问题BP

n件物品,每件物品在单位大小之内,按某种策略装入单位大小的箱子中,令箱子数最小。

首次适应算法FF

\(R_{FF}(I)\le 2\)\(R_{FF}^\infty=1.7\)

证明:

最多只有一个箱子是大于半空的。

物品的总大小至少为总箱子的一半,\([\sum S_i] \ge \frac{1}{2} FF(I)\)

最优解至少为物品的总大小,\(OPT(I) \ge [\sum S_i]\)

\(R_{FF}(I) = 2\)

递减首次适应FFD

\(R_{FFD} \ge 1.5\)\(R_{FFD}^\infty = \frac{11}{9}\)

3.3.3 旅行商问题TSP

求最短哈密顿回路HC,访问所有顶点一次的回路。

这里研究\(\bigtriangleup TSP\),即输入满足三角不等式

近邻法NN:从当前顶点访问最近尚未访问的顶点,一次构造哈密尔顿圈HC\(R_{NN}^\infty=\theta(lg\ n)\)

MST启发:先找一个欧拉环ET,然后再”Short-Cut“获得哈密尔顿圈。

\(R_{NN}^\infty=2\)

有欧拉环,当且仅当图连通且顶点度数均为偶数

MST:

  1. 构造最小生成树
  2. 每条边复制一个
  3. 找到欧拉圈
  4. 短路欧拉路的方法构造HC,即遇到重复顶点就跳过。

CH启发:不需要将所有边都复制,只在每对奇度顶点之间连线。

\(R_{CH}^\infty = 1.5\)

CH:

  1. 构造最小生成树
  2. 每对奇度顶点之间连线
  3. 找到欧拉圈
  4. 短路欧拉路的方法构造HC,即遇到重复顶点就跳过。

本文来自博客园,作者:小陆斑比,转载请注明原文链接:https://www.cnblogs.com/bamlubi/p/15763710.html

原文地址:https://www.cnblogs.com/bamlubi/p/15763710.html