近似算法基础

最优解

经常用 OPTn(I)OPT_{n}(I) 表示关于实例 IDπI \in D_{\pi} 的最优解解值 Mn(I,S)M_{n}\left(I, S^{*}\right)

在不引起混淆的情况下,通常将实例 II最优解的解值记为 OPT(I)O P T(I) 。 假设算法 A,A, 对于问题 π\pi 的任意实例 IDπI \in D_{\pi}, 都可找到相应的可行解 SSn(I),S \in S_{n}(I), 其解值为 Mn(I,S)M_{n}(I,S)

A(I)=Mn(I,S),A(I)=M_{n}(I, S), 若对于所有实例 IDπ,I \in D_{\pi}, 都有 A(I)=OPT(I)A(I)=O P T(I), 则称算法 AA 为解答问题 π\pi 的精确算法。

否则, 算法 AA 所求出解的解值达不到最优解, 即 A(I)OPT(I)A(I) \neq O P T(I), 则称算法 AA 为解答问题 π\pi 的近似算法。

绝对近似算法

给定优化问题 π,\pi, 若有算法 A,A, 存在一个常数 K0,K \geqslant 0, 使得对于所有实例 IDπ,I \in D_{\pi}, 总有

A(I)OPT(I)K|A(I)-O P T(I)| \leqslant K

则称算法 AA 为解答问题 π\pi绝对近似算法;若 AA多项式时间算法,则称 AA 为解答问 题 π\pi多项式时间绝对近似算法