Rounding Linear Programs
1 Vertex Cover
问题表示
整数线性规划:
解整数线性规划是NP难的.
线性规划的一般形式
matrix $A=\{a_{ij}\}$, sets $M\subseteq [m]$, $N\subseteq [n]$.
规范形:
$m\times n$矩阵$A$,
转化方式:
等于限制变为大于等于和小于等于, 小于等于加负号;
无限制的变量变成两个非负变量之差.
几何解释: 超空间内的凸多面体
Relaxation & Rounding
线性松弛:
线性规划可以在线性时间内解.
近似:
线性规划解$x^*\in [0,1]^V$, 整数规划解$\hat x\in \{0,1\}$.
因为
所以得到的解依然是可行的.
又因为$\hat x_v\le 2x_v^*$, 所以
一般步骤
- 表示为整数规划
- 松弛为线性规划
- 找到线性规划的最优解
- 近似到可行解
- 证明离整数规划最优解不远对于点覆盖问题, Integrality Gap为2.
2 MAX-SAT
随机解
一个子句 $C=(l_1\lor l_2\lor \cdots\lor l_k )$, $l_j\in \{x_i,\neg x_i\}$
整数规划
布尔变量$x_1,x_2\cdots,x_n\in \{0,1\}$
$S_j^+:$ set of $i$ that $x_i$ is in $C_j$
$S_j^-:$ set of $i$ that $\neg x_i$ is in $C_j$
$C_j$ is satified <==> $\sum_{i\in S_j^+}x_i +\sum_{i\in S_j^-}(1-x_i)\ge 1$
整数规划:
线性规划松弛:
将$\{0,1\}$改为$[0,1]$.
随机近似:
近似比分析:
两个算法结合
随机解满足$m_1$子句, 随机近似LP松弛满足$m_2$子句, 选择$\max\{m_1,m_2\}$,
分析:
近似比$3/4$(因为$1-2^{-k}$和$1-(1-1/k)^k$中总有一个$\ge 3/4$)