概念
- 提供不比最优解差太多的可行解
- 定义: 对于最优化问题 $U = \{\Sigma_I, \Sigma_O, L, L_I, M, cost, goal\}$ , A是U的一个一致性算法. 对于所有问题实例$x\in L_I$, A对于x的相对误差$\epsilon_A(x)$定义为其中, $Opt_U(x)$是x的最优cost.
- 对于任意$n\in \mathbb{N}$, 我们定义A的相对误差为
- A关于x的近似率$R_A(x)$定义为
- 对于任意$n\in \mathbb{N}$, 我们定义A的相对近似率为
- 对于任意正实数$\delta>1$, 如果对任意$x\in L_I$, $R_A(x)\le \delta$, 定义A为U的$\delta-$近似算法.
- 对于任意函数$f:\mathbb{N}\to \mathbb{R^+}$, 如果对任意$n \in \mathbb{N}$, $R_A(x)\le f(n)$, 定义A为U的$f(n)-$近似算法.
- 对于最小化问题, 有
- 对于最大化问题, 有
- Greedy Makespan Schedule:
- 对于处理时间$p_i$排序, 从最大的开始, 依次将每个任务分配给最先空闲的机器.
- 证明这个算法是MS的2-近似算法:
- $I = (p_1, p_2, \cdots, p_n, m)$, $p_1>p_2>\cdots>p_n$, 显然有还有
- 对于任意$k = 1, 2, \cdots, n$, 因为$p_k$是$p_1$到$p_k$中最小的, 所以有
- 分类讨论:
- 当$n\le m$时, 显然
- 当$n>m$时, 设$T_l$满足$cost(T_l)=\sum_{r\in T_l}p_r = cost(GMS(I))$, 而k是$T_l$中最大的下标
- 如果$k\le m$, $|T_l|=1$, 所以$Opt_{MS}(I) = p_1 = p_k$, $GMS(I)$是最优解.
- 如果$k>m$, 因为其他机器的cost肯定不小于$cost(GMS(I)) - p_k$, 不然$p_k$就不会安排在这个机器, 所以再根据上面的式子2, 有因此最终有因此GMS是MS的2-近似算法.
- 定义: 对于最优化问题 $U = \{\Sigma_I, \Sigma_O, L, L_I, M, cost, goal\}$ , 如果对于所有的输入对$(x, \epsilon)\in L_I\times \mathbb{R^+}$, A可以计算出一个相对误差不大于$\epsilon$的可行解A(x), 而且$Time_A(x, \epsilon^{-1})$有$|x|$的多项式函数上界, 那么A被称为U的多项式时间近似方案(PTAS).而如果$Time_A(x, \epsilon^{-1})$有$|x|$和$\epsilon^{-1}$的多项式函数上界, 那么A被称为U的完全多项式时间近似方案(FPTAS).
- PTAS: 任意输入, 想要多小误差都可以在|x|线性时间求解.
FPTAS: 任意输入, 想要多小误差都可以在|x|和$\epsilon^{-1}$线性时间求解(误差越小越慢)
最优化问题分类
- NPO问题可以分为下列5类:
- NPO(I): 存在FPTAS的NPO最优化问题
- 例如背包问题
- NPO(II): 存在PTAS的NPO最优化问题
- 例如Makespan Schedule
- NPO(III): $U\in NPO$满足
- 存在$\delta > 1$, 有多项式时间$\delta-$近似算法
- 没有PTAS. (即存在$d<\delta$, U无$d-$近似算法)
- 例如最小顶点覆盖, $\Delta-$TSP, MAX-SAT
- NPO(IV): $U\in NPO$满足
- 存在多项式时间$f(n)$近似算法, 且f有多项式上界
- 在某些假设下, 不存在任何$\delta-$近似算法
- NPO(V): $U\in NPO$满足对于所有可能存在的$f(n)-$近似算法, $f(n)$都没有多项式上界
- 例如TSP, 最大团
- NPO(I): 存在FPTAS的NPO最优化问题
- 在$P\ne NP$的前提下, 每一类都非空
近似算法的稳定性
- 一般认为NPO(V)中的问题是不可求解的, 但是可以将$U\in NPO(V)$的输入$L_I$根据难度划分.
- 对于最优化问题 $U = \{\Sigma_I, \Sigma_O, L, L_I, M, cost, goal\}$ 和 $\overline U = \{\Sigma_I, \Sigma_O, L, L, M, cost, goal\}$ , $L_I\subseteq L$, $\overline U$关于$L_I$的距离函数$h_L:L\to \mathbb{R^{\ge 0}}$满足如下性质:
- 对于所有$x\in L_I$, 有$h_L(x)=0$
- h是多项式时间可计算的
- 对于$\overline U$关于$L_I$的距离函数$h$, 对于任意$r\in \mathbb{R}$, 定义
- A是$\overline U$的一致性算法, 也是$U$的$\epsilon-$近似算法($\epsilon \in \mathbb{R^{>1}}$). 令p为正实数.
当对于所有实数 $0 < r\le p$, 存在$\delta_{r, \epsilon}\in \mathbb{R^{>1}}$满足A是$U_r= \{\Sigma_I, \Sigma_O, L, Ball_{r,h}(L_I), M, cost, goal\}$的$\delta_{r, \epsilon}-$近似算法, 我们定义A关于h是p-稳定的 - 如果对于所有正实数p, A都是p-稳定的, 那么A关于h是稳定的; 如果对于任意正实数p, A都不是p-稳定的, 那么A关于h是不稳定的
- TSP和$\Delta-$TSP:
- 对于任意输入实例(G, c), 定义对于任意整数$k>2$, $Ball_{r, dist}(L_\Delta)$包含满足下面条件的带权图
- 只有在h合理划分问题实例的时候才是有意义的
- U和$\overline U$, h, $U_r$定义同上, 令$A=\{A_\epsilon\}_{\epsilon>0}$是U的一个PTAS
- 如果对所有的$r>0$和$\epsilon>0$, $A_\epsilon$是一个$U_r $的$\delta_{r,\epsilon}-$近似算法, 那么A关于h是稳定的
- 如果$\delta_{r,\epsilon}\le f(\epsilon)\cdot g(r)$, 其中
- f和g是从$\mathbb R^{\ge 0}$到$\mathbb {R^+}$的函数,
- $\lim_{\epsilon\to 0}f(\epsilon) = 0$
那么A关于h是超稳定的
对偶近似算法
- 当限制条件不明确时, 可以找一个不比$Opt_U(I)$差的解, 允许$S\not\in M(I)$, 但是S离M(I)”不太远”
- 对于最优化问题U, 定义限制条件距离函数为满足如下性质的函数$h: L_I \times \Sigma^*_O\to \mathbb R^{\ge 0}$
- 对于$S\in M(x)$, $h(x, S)=0$
- 对于$S\not\in M(x)$, $h(x, S)>0$
- h是多项式时间可计算的
- 例如01背包问题中, 定义如果存在$\epsilon$满足对任何$i=1,2,…,m$有$\sum_{l\in T_i}p_l\le 1 + \epsilon$, 则$T\in M_\epsilon^h(I)$
- 定义满足如下条件的算法A为U的$h-$对偶$\epsilon-$近似算法: 对所有$x\in L_I$, 有
- $A(x)\in M_\epsilon^h(x)$
- 如果目标是最大化, 则$cost(A(x))\ge Opt_U(x)$, 如果目标是最小化, 则$cost(A(x))\le Opt_U(x)$
- 定义满足如下条件的算法A为U的$h-$对偶多项式时间近似方案(h-dual PTAS for U):
- 对于任意输入$(x,\epsilon)\in L_I\times \mathbb R^+$, $A(x, \epsilon)\in M_\epsilon^h(x)$
- 如果目标是最大化, 则$cost(A(x,\epsilon))\ge Opt_U(x)$, 如果目标是最小化, 则$cost(A(x,\epsilon))\le Opt_U(x)$
- $Time_A(x, \epsilon^{-1})$有$|x|$的多项式函数上界
- 如果$Time_A(x, \epsilon^{-1})$有$|x|$和$\epsilon$的多项式函数上界, 则A为U的$h-$对偶完全多项式时间近似方案(h-dual FPTAS for U)