Appearance
Applications of LP Duality
这一讲继续 Linear Programming Duality,重点看两个经典应用:
- 用 Strong Duality Theorem 重新证明 Max-Flow-Min-Cut Theorem;
- 用 Strong Duality Theorem 证明 von Neumann's Minimax Theorem。
核心思想:
很多“组合优化中的等价定理”可以看成 LP strong duality 的具体表现。
如果问题本身是离散的,还需要额外证明 LP optimum 可以取 integral solution。
Strong Duality Recap
对 standard form primal:
它的 dual 是:
Strong Duality Theorem:如果 primal 和 dual 都有 optimal solution,设它们分别为
和 ,那么
也就是说:
Part I: Max-Flow-Min-Cut Revisited
之前我们已经用 augmenting path 证明过 Ford-Fulkerson 的正确性。这一节用 LP duality 重新证明:
Max-Flow-Min-Cut Theorem:maximum flow 的值等于 minimum cut 的容量。
Maximum Flow as LP
给定 directed graph:
source 为
令
其中:
- objective 是从 source 流出的总流量;
- 第一组约束是 capacity constraint;
- 第二组约束是 flow conservation。
为了写 dual,把 equality constraint 看成等式约束,并给它一个 unrestricted dual variable。
A Convenient Form
把 LP 写成:
这里:
对应 capacity constraint; 对应 flow conservation,因为是 equality constraint,所以 可以是任意实数。
Dual Program
这个 LP 的 dual 可以写成:
直觉:
描述 edge 是否被 cut; 描述 vertex 在 cut 的哪一侧。
如果把一个 cut
那么可以理解为:
以及:
此时 objective:
刚好就是 cut capacity。
Why This Is Not Immediately Enough
Strong duality 直接给出:
但是我们还想说:
这里有一个问题:
Dual LP 是 fractional 的;Min-Cut 是 discrete 的。
Feasible cuts 只是 feasible dual solutions 的一个子集。
也就是说,dual LP 可能存在 fractional solution,比所有 integral cut 都便宜。
所以还需要证明:
这个 dual LP 总存在一个 integral optimum。
这就需要 total unimodularity。
Totally Unimodular Matrix
Definition:一个矩阵
是 totally unimodular (TU) 的,如果它的任意 square submatrix 的 determinant 都属于
核心定理:
如果
是 totally unimodular,并且 是 integer vector,那么 polytope 的所有 vertices 都是 integral 的。
证明思路:
取任意 vertex
其中
由 Cramer's Rule:
其中
因为
又因为
因此每个
Integrality Corollary for LP
由于 LP 的 optimum 可以在某个 vertex 上取得,所以有:
如果 constraint matrix 是 totally unimodular,并且右端向量是整数,那么 LP 存在 integral optimal solution。
对于 primal-dual pair:
和:
如果
因此:
- 如果
是整数,primal LP 有 integral optimum; - 如果
是整数,dual LP 有 integral optimum。
Total Unimodularity in the Max-Flow Dual
回到 max-flow dual:
约束矩阵可以看成两部分拼接:
其中:
是关于 的 identity matrix; 是关于 的 directed incidence matrix 的变体。
因为 identity matrix 的拼接不会破坏 total unimodularity,所以只需要证明
Why the Incidence Matrix Is TU
:这一行在 的列上是 ; :这一行在 的列上是 ,在 的列上是 ; :这一行在 的列上是 。
也就是说,每一行最多有两个 non-zero entries,并且如果有两个,它们分别是
证明
submatrix 的元素只可能是 ; - 假设所有
submatrix 的 determinant 都是 ; - 考虑任意
submatrix :
如果某一行全是
如果某一行只有一个 non-zero entry,那么沿这一行展开,
如果每一行都有两个 non-zero entries,那么每一行都有一个
所以
结论:
max-flow dual LP 存在 integral optimal solution。
From Integral Dual Solution to a Cut
现在已经知道:
并且 dual optimum 可以由 integral solution
还需要把这个 integral dual solution 转成一个 actual cut。
定义:
以及:
因为
考虑任意从
由于
- 如果
,那么 ,除非 ; - 如果
,那么 ,除非 。
根据 dual constraints,可以推出每条 crossing edge 都满足:
例如对于中间边
所以:
因此 cut capacity 满足:
另一方面,每个 cut 都可以构造一个 feasible dual solution,其 objective value 等于 cut capacity。因此:
两边合起来:
于是:
这就用 LP strong duality 证明了 Max-Flow-Min-Cut Theorem。
General Framework
用 LP duality 证明这类 theorem 的套路:
- 写出 primal LP;
- 写出 dual LP;
- 解释 primal 和 dual 分别对应哪两个问题;
- 如果其中一个问题是离散的,证明 LP optimum 可以取 integral solution;
- 用 Strong Duality Theorem 得到两个 optimum 相等。
在本节里:
- primal LP 描述 maximum flow;
- dual LP 描述 fractional min-cut;
- total unimodularity 保证 dual 有 integral optimum;
- integral dual optimum 可以转成 actual cut;
- strong duality 给出 max-flow = min-cut。
Revisiting Max-Flow Integrality
我们也可以用 total unimodularity 重新证明 max-flow integrality theorem。
Max-Flow Integrality Theorem:如果所有 capacities 都是整数,那么存在一个 integral maximum flow。
原因:
- max-flow LP 的 constraint matrix 是 TU;
- capacity vector
是整数; - 因此 max-flow LP 存在 integral optimal solution。
这说明 integrality theorem 不只是 Ford-Fulkerson 的性质,它也来自 max-flow LP 本身的 total unimodularity。
Exercise: Kőnig's Theorem
另一个可以用 LP duality 证明的经典定理是:
Kőnig's Theorem:在 bipartite graph 中,
证明思路和 max-flow-min-cut 类似:
- 把 maximum bipartite matching 写成 LP;
- 写出它的 dual,也就是 vertex cover LP;
- 利用 bipartite incidence matrix 的 total unimodularity,证明 LP optimum 可以取 integral solution;
- 用 strong duality 得到 maximum matching size 等于 minimum vertex cover size。
Part II: von Neumann's Minimax Theorem
第二个 application 是 zero-sum game 中的 Minimax Theorem。
Zero-Sum Game
有两个玩家:
- Player
; - Player
。
Player
Player
当
Player
因此这是 zero-sum game:
矩阵:
叫 payoff matrix,其中
Rock-Scissors-Paper Example
Rock-Scissors-Paper 的 payoff matrix 可以写成:
行对应 Player
列对应 Player
例如:
出 Rock, 出 Scissors,则 赢,收益为 ; 出 Rock, 出 Paper,则 输,收益为 。
Strategy
一个 pure strategy 就是固定选择某个动作。
一个 mixed strategy 是动作上的 probability distribution。
Player
满足:
Player
满足:
如果某个 action 的概率是
Expected Utility
当 Player
Player
因为是 zero-sum,
Does Order Matter?
如果
如果
一般总有:
Minimax Theorem 说,在 zero-sum game 中,这两个值其实相等。
Minimax Theorem
von Neumann's Minimax Theorem:
也就是说:
在 zero-sum game 中,谁先选择 mixed strategy 不影响最终的 game value。
Rock-Scissors-Paper 中,双方都使用:
时,期望收益是
Pure Strategy Best Response
先证明一个简单 lemma。
固定 Player
的 strategy ,Player 总存在一个 pure strategy best response。
证明:
如果
也就是:
这是关于
而 probability simplex 的 vertices 正是 pure strategies。
所以
同理,固定
LP for the Max-Min Side
由上面的 lemma:
令
于是 max-min 可以写成 LP:
这里
Dual LP
把第一组 constraints 改写为:
给每一列对应一个 dual variable
最终 dual 可以化简为:
这个 LP 的含义是:
Player
因此它正是:
由 pure strategy best response lemma,这等于:
Strong Duality Implies Minimax
Primal LP 的 optimum 是:
Dual LP 的 optimum 是:
由 Strong Duality Theorem:
因此:
这就证明了 von Neumann's Minimax Theorem。
Summary
本讲的核心结论:
- Strong Duality 可以用来证明很多“两个 optimization problems 的 optimum 相等”的定理;
- Max-Flow-Min-Cut 可以看成 max-flow LP 和 min-cut dual LP 的 strong duality;
- 因为 min-cut 是 discrete problem,所以还需要 total unimodularity 来保证 dual LP 有 integral optimum;
- totally unimodular matrix 加 integer right-hand side 会让 LP vertices 都是 integral;
- max-flow integrality theorem 也可以由 total unimodularity 推出;
- Kőnig's Theorem 也可以通过 LP duality 和 total unimodularity 证明;
- zero-sum game 的 Minimax Theorem 可以通过把 max-min 写成 LP、把 min-max 写成 dual LP 来证明。