Bruce12138
Machine Learning
Software Enterprise
Graph Theory
Algorithm II
Machine Learning
Software Enterprise
Graph Theory
Algorithm II
  • Algorithm II

    • Contents
    • Lecture 5
    • Lecture 6
    • Lecture 7

Lecture 5

1. 点覆盖

定义点覆盖问题为,给定一张含点权 w:V→Rw: V\to \mathbb{R}w:V→R 的图 G=(V,E)G=(V,E)G=(V,E),找到一个点覆盖 C(∀e∈E,e∩C≠∅)C (\forall e\in E, e\cap C\neq \emptyset)C(∀e∈E,e∩C=∅) 使得点权和 w(C)=∑v∈Cw(v)w(C)=\sum_{v\in C} w(v)w(C)=∑v∈C​w(v) 最小。

写出这个问题的线性规划为:

Minimize∑v∈Cxv w(v)Subject toxu+xv≥1∀ {u,v}∈E0≤xv≤1∀ v∈V\begin{align*} \text{Minimize}\quad & \sum_{v\in C} x_v\,w(v)\\ \text{Subject to}\quad & x_u + x_v \ge 1 && \forall\,\{u,v\}\in E\\ & 0 \le x_v \le 1 && \forall\,v\in V \end{align*} MinimizeSubject to​v∈C∑​xv​w(v)xu​+xv​≥10≤xv​≤1​​∀{u,v}∈E∀v∈V​

断言: 对于二分图,这个点覆盖 LP 的任意极点都是整数。

证明: //TODO,考虑假设有非整数的极点,然后推反,不一定对,回头学了再补。

2. 线性规划的对偶性(duality)

考虑下面的线性规划:

Maximize7x1+3x2Subject tox1+x2≥2,/⋅y13x1+x2≥4,/⋅y2x1,x2≥0\begin{align*} \text{Maximize}\quad & 7x_1+3x_2\\ \text{Subject to}\quad & x_1 + x_2 \geq 2, && /\cdot y_1\\ & 3x_1 + x_2 \geq 4, && /\cdot y_2 \\ & x1,x2\geq 0 \end{align*} MaximizeSubject to​7x1​+3x2​x1​+x2​≥2,3x1​+x2​≥4,x1,x2≥0​​/⋅y1​/⋅y2​​

得到了

Minimize2y1+4y2(lower bound as tight as possible)Subject toy1+3y2≤7,(coefficient of x1)y1+y2≤3,(coefficient of x2)y1,y2≥0\begin{align*} \text{Minimize}\quad & 2y_1 + 4y_2 && \text{(lower bound as tight as possible)}\\ \text{Subject to}\quad & y_1 + 3y_2 \leq 7, && (\text{coefficient of } x_1)\\ & y_1 + y_2 \leq 3, && (\text{coefficient of } x_2) \\ & y1,y2\geq 0 \end{align*} MinimizeSubject to​2y1​+4y2​y1​+3y2​≤7,y1​+y2​≤3,y1,y2≥0​​(lower bound as tight as possible)(coefficient of x1​)(coefficient of x2​)​

一般情况

考虑以下具有 nnn 个变量 xi(i∈[1,n])x_i(i\in[1,n])xi​(i∈[1,n]) 和 mmm 个限制的线性规划:

Minimize∑i=1ncixiSubject to∑i=1nAjixi≥bj∀j=1,…,m,x≥0.\begin{align*} \text{Minimize}\quad & \sum_{i=1}^{n} c_ix_i\\ \text{Subject to}\quad & \sum_{i=1}^{n} A_{ji} x_i \geq b_j \quad \forall j = 1,\dots,m,\\ & x\geq 0. \end{align*} MinimizeSubject to​i=1∑n​ci​xi​i=1∑n​Aji​xi​≥bj​∀j=1,…,m,x≥0.​

那么它的对偶为以下具有 mmm 个变量 yi(i∈[1,m])y_i(i\in[1,m])yi​(i∈[1,m]) 和 nnn 个限制的线性规划:

max∑j=1mbjxjs.t.∑j=1mAjiyj≤ci∀i=1,…,n,y≥0.\begin{align*} \text{max}\quad & \sum_{j=1}^{m} b_jx_j\\ \text{s.t.}\quad & \sum_{j=1}^{m} A_{ji} y_j \leq c_i \quad \forall i = 1,\dots,n,\\ & y\geq 0. \end{align*} maxs.t.​j=1∑m​bj​xj​j=1∑m​Aji​yj​≤ci​∀i=1,…,n,y≥0.​

注

  • 上面展示了如何为最小化问题生成对偶,类似的方法也适用于最大化问题。所有 max 问题都可以转化为 min 问题。我们在约束函数里面将 x 替换成 -x 从而得到了 min 问题。
  • 对偶问题的对偶会回到这个LP本身。

对偶性定理

在例子中,原问题和对偶问题的最优解是一致的。我们现在提出两个定理以连接原始解和最优解。

定理-弱对偶性 weak duality: 如果 xxx 是原始可行的 primal-feasible (指 xxx 是原始问题的一个可行解),且 yyy 是对偶可行的 dual-feasible,那么

∑i=1ncixi≥∑j=1mbjyj\sum_{i=1}^{n}c_ix_i \geq \sum_{j=1}^{m}b_jy_j i=1∑n​ci​xi​≥j=1∑m​bj​yj​

证明(讲义):

∑j=1mbjyj≤∑j=1m∑i=1nAjixiyj=∑i=1n(∑j=1mAjiyj)xi≤∑i=1ncixi\sum_{j=1}^{m}b_jy_j \leq \sum_{j=1}^{m}\sum_{i=1}^{n}A_{ji}x_iy_j = \sum_{i=1}^{n}\Big(\sum_{j=1}^mA_{ji}y_j\Big)x_i \leq \sum_{i=1}^{n} c_ix_i j=1∑m​bj​yj​≤j=1∑m​i=1∑n​Aji​xi​yj​=i=1∑n​(j=1∑m​Aji​yj​)xi​≤i=1∑n​ci​xi​

这个定理告诉我们,每个对偶可行解都是任何原始解的下界。原始 LP 和对偶 LP 的最优解是重合的,从而得到以下定理。

笔者补充证明

在这个定理中,强调了 max 问题的可行解总是不超过 min 问题的可行解。所以在这里我们定义原始 LP 为

min∑i=1ncixis.t.∑i=1nAjixi≥bj∀j=1,…,m,x≥0.\begin{align*} \text{min}\quad & \sum_{i=1}^{n} c_ix_i\\ \text{s.t.}\quad & \sum_{i=1}^{n} A_{ji} x_i \geq b_j \quad \forall j = 1,\dots,m,\\ & x\geq 0. \end{align*} mins.t.​i=1∑n​ci​xi​i=1∑n​Aji​xi​≥bj​∀j=1,…,m,x≥0.​

由该定义,得到对偶 LP 为

max∑j=1mbjyjs.t.∑j=1mAjiyj≤ci∀i=1,…,n,y≥0.\begin{align*} \text{max}\quad & \sum_{j=1}^{m} b_jy_j\\ \text{s.t.}\quad & \sum_{j=1}^{m} A_{ji} y_j \leq c_i \quad \forall i = 1,\dots,n,\\ & y\geq 0. \end{align*} maxs.t.​j=1∑m​bj​yj​j=1∑m​Aji​yj​≤ci​∀i=1,…,n,y≥0.​

那么 ,我们可以由式子的右侧开始

因为∑i=1nAjixi≥bj(来自于原始LP的限制)所以∑j=1mbjyj≤∑j=1m∑i=1nAjixiyj(带入)\begin{align*} \text{因为} &\sum_{i=1}^{n} A_{ji} x_i \geq b_j \qquad\text{(来自于原始LP的限制)}\\ \text{所以} &\sum_{j=1}^{m} b_j y_j \leq \sum_{j=1}^{m} \sum_{i=1}^{n} A_{ji} x_i y_j \quad\text{(带入)} \end{align*} 因为所以​i=1∑n​Aji​xi​≥bj​(来自于原始LP的限制)j=1∑m​bj​yj​≤j=1∑m​i=1∑n​Aji​xi​yj​(带入)​

然后再交换 求和的顺序得到

∑j=1m∑i=1nAjixiyj=∑i=1n(∑j=1mAjiyj)xi\sum_{j=1}^{m}\sum_{i=1}^{n}A_{ji}x_iy_j = \sum_{i=1}^{n}\Big(\sum_{j=1}^mA_{ji}y_j\Big)x_i j=1∑m​i=1∑n​Aji​xi​yj​=i=1∑n​(j=1∑m​Aji​yj​)xi​

再由对偶 LP 的限制就可以推出

∑i=1n(∑j=1mAjiyj)xi≤∑i=1ncixi\sum_{i=1}^{n}\Big(\sum_{j=1}^mA_{ji}y_j\Big)x_i \leq \sum_{i=1}^{n} c_ix_i i=1∑n​(j=1∑m​Aji​yj​)xi​≤i=1∑n​ci​xi​

证毕。也就是用两个LP的限制互相带入得到了这么一个不等式。

定理-强对偶性 strong duality: 如果 xxx 是一个原始最优解, yyy 是一个对偶最优解,那么

∑i=1ncixi=∑j=1mbjyj\sum_{i=1}^{n}c_ix_i = \sum_{j=1}^{m}b_jy_j i=1∑n​ci​xi​=j=1∑m​bj​yj​

证明略。

此外,如果原始问题无界,那么对偶问题是不可行的。同样的,如果对偶问题无界,那么原始问题不可行。

二分图上的最大基数匹配和顶点覆盖

设 G=(A∪B,E)G=(A\cup B, E)G=(A∪B,E) 是一个二分图且 MMM 是图的一个匹配。令 xex_exe​ 为表示是否选取边 e∈Ee\in Ee∈E 的变量。我们想要在确保每个顶点最多只有一条邻边属于 MMM 的情况下,最大化 MMM 的基数 (cardinality of M)。将这些条件写成线性规划为

Maximize∑e∈ExeSubject to∑e=(a,b)∈Exe≤1∀a∈A,∑e=(a,b)∈Exe≤1∀b∈B,xe≥0.\begin{align*} \text{Maximize}\quad & \sum_{e\in E} x_e\\ \text{Subject to}\quad & \sum_{e=(a,b)\in E} x_e\leq 1 & \forall a\in A,\\ & \sum_{e=(a,b)\in E} x_e\leq 1 & \forall b\in B,\\ & x_e\geq 0. \end{align*} MaximizeSubject to​e∈E∑​xe​e=(a,b)∈E∑​xe​≤1e=(a,b)∈E∑​xe​≤1xe​≥0.​∀a∈A,∀b∈B,​

因此对偶LP为

Minimize∑v∈A∪ByvSubject toya+yb≥1for (a,b)∈Eyv≥0.\begin{align*} \text{Minimize}\quad & \sum_{v\in A\cup B} y_v\\ \text{Subject to}\quad & y_a+y_b \geq 1 \quad\text{for } (a,b)\in E\\ & y_v\geq 0. \end{align*} MinimizeSubject to​v∈A∪B∑​yv​ya​+yb​≥1for (a,b)∈Eyv​≥0.​

容易发现这个对偶 LP 就是点覆盖问题的松弛 (relaxation,原问题是整数规划,这里将原问题的约束放松到实数解以构造线性规划)。基于弱对偶性,我们对于任意匹配 MMM 和任意点覆盖 CCC 有 ∣M∣≤∣C∣|M|\leq |C|∣M∣≤∣C∣。此外,由于原问题和对偶问题在二分图中都是整数解(见上文断言),所以强对偶性证明了 König 定理。

定理-König 1931: 设 M⋆M^\starM⋆ 为一个最大基数匹配, C⋆C^\starC⋆ 为一个二分图最小点覆盖,那么

∣M⋆∣=∣C⋆∣|M^\star| = |C^\star| ∣M⋆∣=∣C⋆∣

另一个众所周知的对偶性,也是线性规划对偶性的一个特例,是最大流最小割定理 (max-flow=min-cost theorem)。

互补松弛

互补松弛:Complementarity Slackness. 强对偶性在原问题和对偶问题的最优解之间提供了一个重要的关系。

定理: 设 x∈Rnx\in \mathbb{R}^nx∈Rn 是原问题的一个可行解,y∈Rmy\in \mathbb{R}^my∈Rm 是对偶问题的一个可行解,那么

x,y 都是最优解  ⟺  {xi>0  ⇒  ci=∑j=1mAjiyj,∀i=1,…,n,yj>0  ⇒  bj=∑i=1nAjixi,∀j=1,…,m.x, y \text{ 都是最优解} \iff \begin{cases} x_i > 0 \;\Rightarrow\; c_i = \sum_{j=1}^m A_{ji} y_j, & \forall i=1,\dots,n, \\[1em] y_j > 0 \;\Rightarrow\; b_j = \sum_{i=1}^n A_{ji} x_i, & \forall j=1,\dots,m. \end{cases} x,y 都是最优解⟺⎩⎨⎧​xi​>0⇒ci​=∑j=1m​Aji​yj​,yj​>0⇒bj​=∑i=1n​Aji​xi​,​∀i=1,…,n,∀j=1,…,m.​

两个问题的可行解 x,yx,yx,y 同时是最优解的充要条件为:

原始变量 xix_ixi​ 和它对应的对偶约束 (A⊤y)i≥ci(A^\top y)_i\geq c_i(A⊤y)i​≥ci​ 至少有一侧是取等号的。要么 xi=0x_i=0xi​=0 要么 ci=∑j=1mAjiyjc_i = \sum_{j=1}^m A_{ji} y_jci​=∑j=1m​Aji​yj​。对于对偶问题那一侧也同理。 证明:// TODO, 考虑由最优解推出互补松弛,再由互补松弛+可行解推出这是最优解。

Last Updated: 9/30/25, 2:09 PM
Contributors: Zhixiang Dai
Prev
Contents
Next
Lecture 6