Computational Optimal Transport 笔记——第三章(2)

常用定义

树的等价命题

3.Algorithmic Foundations

3.5 A Heuristic Description of the Network Simplex

network simplex依赖于两个简单的原则:每个可行的原始解可以对应一个互补对 ( f , g ) (f,g) (f,g)。如果这个互补对是可行的,则我们达到最优值。如果不是,可以考虑更新 P P P,使得 P P P仍然是可行的,同时它的互补对 ( f , g ) (f,g) (f,g)也被更新,它更接近可行区域。

3.5.1 Obtaining a Dual Pair Complementary to P

Simplex 首先将任意极值解 P P P关联一对互补对偶变量(f, g)。通过找两个向量 f f f g g g,对于 S ( P ) S(P) S(P)中的任意 ( i , j ′ ) (i,j') (i,j) f i + g j = C i , j f_i+g_j=C_{i,j} fi+gj=Ci,j。并且保证 ( f , g ) (f,g) (f,g)是可行的。
s s s S ( P ) S(P) S(P)的势。因为 P P P是极值点,因此 s ≤ n + m − 1 s \leq n+m-1 sn+m1。由于 G ( P ) G(P) G(P)没有圈, G ( P ) G(P) G(P)是一个树或者一个森林,如图3.3所示。

对于 ( f , g ) (f,g) (f,g) 的目标是与 P P P互补,即应该满足在 n + m n+m n+m个变量上的 s s s个线性等式约束

其中 S ( P ) S(P) S(P)的元素被列举为 ( i 1 , j 1 ′ ) , . . . , ( i s , j s ′ ) (i_1, j'_1), ..., (i_s, j'_s) (i1,j1),...,(is,js)
因为 s ≤ n + m − 1 < n + m s\leq n+m-1<n+m sn+m1<n+m,线性系统(3.6)总是不确定的。即在 G ( P ) G(P) G(P)中对偶变量是不确定的。
考虑在 G ( P ) G(P) G(P)中的一棵树。假设这个树在源点中有 k k k个节点 i 1 , . . . , i k i_1,...,i_k i1,...,ik,在目标节点处有 l l l个节点 j 1 ′ , . . . , j l ′ j'_1,...,j'_l j1,...,jl,令 r = d e f . k + l r\xlongequal{def.} k+l rdef. k+l,则有 r − 1 r-1 r1条边,对应于 f f f中的 k k k个变量、 g g g中的 l l l个变量, r − 1 r-1 r1个线性等式。为了消除不确定性,我们可以在树中选择任意的根节点,并且将对应的对偶变量赋值为 0 0 0
此时一棵树中有 r − 1 r-1 r1个变量& r − 1 r-1 r1个约束,可以求解出树中所有的对偶变量。
从根节点开始我们可以使用广度优先或深度优先搜索遍历树,以获得一系列简单的变量赋值,这些赋值决定了树中所有其他双变量的值,例如图 3.4。这个过程对于图 P P P中所有的树都可重复进行,以获得与 P P P互补的对偶变量对 ( f , g ) (f,g) (f,g)

3.5.2 Network Simplex Update

如果通过3.5.1的算法得到的对偶对 ( f , g ) (f,g) (f,g)是可行的,也就说对于所有的 i , j i,j i,j,我们都有 f i + g j ≤ C i , j f_i+g_j \leq C_{i,j} fi+gjCi,j,根据Proposition 3.3我们得到的结果是最优的。如果存在 i , j i,j i,j f i + g j > C i , j f_i+g_j >C_{i,j} fi+gj>Ci,j,则网络单纯形算法发挥作用。我们首先初始化图G为 G ( P ) G(P) G(P),对应于可行解 P P P并且增加了不满足条件的边 ( i , j ′ ) (i,j') (i,j)。会有接下来两种情况:

  1. G仍然是一个森林( 当增加的 ( i , j ′ ) (i,j') (i,j)存在于两棵子树之间)。在3.5.1中提出的方法仍然可以被使用在图G上,来获得新的互补对偶向量 ( f , g ) (f,g) (f,g)。可以注意到这个增加的边(约束)移除了在 n + m n+m n+m个对偶变量之间的部分不确定性,没有对原始变量 P P P进行任何改变。这个更新被称作"degenerate"(退化),因为虽然 P i , j P_{i,j} Pi,j仍然为0,但是 ( i , j ′ ) (i,j') (i,j)进入了图G中。 G ( P ) G(P) G(P)包含在 G G G中。
  2. G有一个圈。我们需要去移除 G G G中的边,确保 G G G 仍然是一个森林,同时也更新 P P P使得 P P P是可行的,并且 G ( P ) G(P) G(P)包含在 G G G中。通过如下方法实现:增加 P i , j P_{i,j} Pi,j(不满足条件的边 ( i , j ′ ) (i,j') (i,j)对应的权重)的值并且改进在圈中的 P P P中的其他元素,与Proposition 3.4中证明的过程类似的。具体的过程如下。我们记图 G G G中的圈为 ( i 1 , j 1 ′ ) , ( j 1 ′ , i 2 ) , ( i 2 , j 2 ′ ) , . . . , ( i l , j l ′ ) , ( j l ′ , i l + 1 ) (i_1,j'_1), (j'_1,i_2), (i_2,j'_2),...,(i_l,j'_l),(j'_l,i_{l+1}) (i1,j1),(j1,i2),(i2,j2),...,(il,jl),(jl,il+1),其中 i 1 = i l + 1 = i i_1=i_{l+1}=i i1=il+1=i j 1 = j j_1=j j1=j,来强调圈是从增加的边 ( i , j ) (i,j) (i,j) 处开始的.
    接下来,增加所有正向边 { i , j } \{i,j\} {i,j},减少所有反向边 { j k ′ , i k + 1 } \{ j'_k, i_{k+1} \} {jk,ik+1},获得一个更新的结果 P ~ \tilde{P} P~。下式中 θ = min ⁡ k P i k + 1 , j k \theta=\min_k P_{i_{k+1},j_k} θ=minkPik+1,jk,令 k ∗ = arg ⁡ min ⁡ k P i k + 1 , j k k^{*}=\arg \min_k P_{i_{k+1},j_k} k=argminkPik+1,jk。相当于在图 G G G中移除边 ( i k ∗ + 1 , j k ∗ ) (i_{k^{*}+1}, j_{k^{*}}) (ik+1,jk),使用3.5.1的方法计算新的对偶变量。


3.5.3 Inprovement of the Primal solution

虽然这未必是我们最初的动机,但可以看出,以上的操作只会提高P的成本。如果加入的边没有形成一个圈,也就是第一种情况,原始的解并未改变,当形成了圈,也就是第二种情况, P P P被更新为 P ~ \tilde{P} P~,并且如下有如下公式

我们现在使用在上节迭代中形成的对偶向量 ( f , g ) (f,g) (f,g)。他们满足 f i k + g j k = C i k , j k f_{i_k}+g_{j_k}=C_{i_k,j_k} fik+gjk=Cik,jk f i k + 1 + g i k = C i k + 1 , j k f_{i_{k+1}}+g_{i_k}=C_{i_{k+1},j_{k}} fik+1+gik=Cik+1,jk对于所有G中的初始边都成立,并且有

因为 C i , j < f i + g j C_{i,j}<f_i+g_j Ci,j<fi+gj,因此这一项是负的。因此如果 θ > 0 \theta>0 θ>0,我们有

如果 θ = 0 \theta=0 θ=0,图 G G G被改变,但是 P P P并未改变。
n e t w o r k s i m p l e x a l g o r i t h m network simplex algorithm networksimplexalgorithm 可以被总结如下:初始化算法,使用NW corner rule 得到极值解 P P P,用 G ( P ) G(P) G(P)初始化图 G G G。计算与 P P P互补的对偶变量 ( f , g ) (f,g) (f,g)(使用3.5.1描述的树结构求解)。接下来分两种情况讨论:

  1. 寻找不满足约束 C − f ⊕ g ≥ 0 C-f\oplus g \geq 0 Cfg0的索引对。如果没有则 P P P是最优解,停止算法。如果有,进行第二步。
  2. 将满不足约束的一对边 ( i , j ′ ) (i,j') (i,j)加入到 G G G中。如果 G G G仍然没有圈,则按照 3.5.1 3.5.1 3.5.1更新 ( f , g ) (f,g) (f,g)。如果有圈,在圈内操作,保证 ( i , j ′ ) (i,j') (i,j)被标记为正,移除有最小流值得边,如图3.5一般更新 P P P G G G,建立相应的互补对 ( f , g ) (f,g) (f,g)。返回第一步。
    被证明,此算法是多项式时间复杂度算法。

3.6 Dual Ascent Methods

不同于 network simplex,dual ascent methods 在每次迭代中保持对偶可行解,并且通过在 f f f g g g上加稀疏向量,使得对偶问题的目标函数值逐渐增加。
Definition 3.2 对于 S ⊂ [ n ] S \subset [n] S[n] S ′ ⊂ [ m ] ′ = d e f . 1 ′ , . . . , m ′ S' \subset [m]'\xlongequal{def.} {1',...,m'} S[m]def. 1,...,m 1 s ∈ R n 1_s \in R^n 1sRn索引在S中的元素为1其余元素为0,对于 1 S ′ ∈ R m 1_{S'} \in R^{m} 1SRm有相同的定义。
在下文中, ( f , g ) (f,g) (f,g)是在 R ( C ) R(C) R(C)中可行对偶对,即对于所有的 ( i , j ′ ) ∈ [ n ] × [ m ] ′ , f i + g j ≤ C i , j (i,j') \in [n] \times [m]', f_i+g_j \leq C_{i,j} (i,j)[n]×[m],fi+gjCi,j。我们称 ( i , j ′ ) (i,j') (i,j)是平衡对,如果 f i + g j = C i , j f_i+g_j=C_{i,j} fi+gj=Ci,j,其他的称为不活跃的。接下来我们说明一个可行对偶对 ( f , g ) (f,g) (f,g)可以被以 S S S S ′ S' S的集合为索引的稀疏向量扰动,仍然是可行的。
Proposition 3.5 如果对于所有的 i ∈ S i \in S iS ( i , j ′ ) (i,j') (i,j)是平衡的(意味着 j ′ ∈ S ′ j' \in S' jS
, 对 于 足 够 小 的 对于足够小的 \varepsilon>0$是可行的对偶变量,
都有 ( f ~ , g ~ ) = d e f . ( f , g ) + ε ( 1 S , − 1 S ′ ) (\tilde{f}, \tilde{g})\xlongequal{def.} (f,g)+\varepsilon (1_S,-1_{S'}) (f~,g~)def. (f,g)+ε(1S,1S).
在3.5.1中 network simplex的迭代背后的动力被获得。为了取得这个目标, P P P逐步被更新以至于它的互补对偶对达到可行解。一个对称的方法,从可行对偶变量开始来获得可行初始问题的解 P P P,推动了dual ascent methods。接下来的proposition是dual ascent methods 的主要推动,它保证了 ( f , g ) (f,g) (f,g)的可行上升方向的存在性。
Proposition 3.6要不然 ( f , g ) (f,g) (f,g)是问题3.4的最优解

否则存在 S ⊂ [ n ] , S ′ ⊂ [ m ] ′ S \subset [n], S' \subset [m]' S[n],S[m]使得 ( f ~ , g ~ ) = d e f . ( f , g ) + ε ( 1 S , − 1 S ′ ) (\tilde{f}, \tilde{g})\xlongequal{def.} (f,g)+\varepsilon (1_S,-1_{S'}) (f~,g~)def. (f,g)+ε(1S,1S) 是可行的 (对于任意小的 ε \varepsilon ε)并且有更好的目标函数值。

dual ascent method 通过由集合 S , S ′ S,S' S,S产生的任意向量更新可行解 ( f , g ) (f,g) (f,g)。当集合 ( S , S ′ ) (S,S') (S,S)由Proposition 3.6的证明过程构造。步长 ε \varepsilon ε在Proposition 3.5被定义。我们推导了一种方法称为 primal-dual method。对于匹配问题,此方法退化为 Hungarian algorithm。
两种算法的不同点:

  • Simplex-type methods总是保证目前的解是可行集合的极值点,寻找满足 R ( C ) R(C) R(C)的对偶解。然而dual ascent 没有做这个假设,迭代可以自由生成位于可行集内部的解。
  • dual network simplex通过更新 ( f , g ) (f,g) (f,g)来产生一个初始问题的解 P P P满足边界约束但是在收敛时是非负的。dual ascent 建立 P P P,它是非负的,但是不需要满足约束条件。

3.7 Auction Algorithm(拍卖算法)

Complementary slackness(互补松弛性)可以注意到在optimal assignment problem,对于 optimal transport problem提出的原始对偶条件是更加容易公式化,因为任何极值解 P P P都是排列矩阵 P σ P_{\sigma} Pσ,对于给定的 σ \sigma σ。给定最优的原始的 P σ ∗ P_{\sigma^{*}} Pσ和对偶解 f ∗ , g ∗ f^{*}, g^{*} f,g,我们有:

由于在3.2中阐明的 C-transforms 原则, 一个人可以选择 f ∗ = g C ˉ f^{*}=g^{\bar{C}} f=gCˉ。因此,我们有

相反,如果存在满足满足如下条件的向量 g g g和排列 σ \sigma σ,则他们都是最优的,也就是说 σ \sigma σ是最优分配, g C ˉ g^{\bar{C}} gCˉ g g g是最优的对偶对。

Partial assignment and ε − \varepsilon- ε complementary slackness auction algorithm 的目标是迭代地更新三元组 S , ξ , g S, \xi, g S,ξ,g,其中 S S S [ n ] [n] [n]的子集, ξ \xi ξ是一个部分分配向量,也就是从 S S S [ n ] [n] [n]的单射, g g g是一个对偶向量。对偶向量 g g g收敛于满足近似互补松弛条件(3.8), S S S增长逐步包含 [ n ] [n] [n] ξ \xi ξ收敛于一个排列。在每次迭代以后算法保持一下三个性质:

算法更新 给定一个点 j j j,auction algorithm 不仅使用了在一般 C-transform 中的最优值,而且使用了 second best 来定义接下来在 g g g上的更新,对于索引 i ∉ S i \notin S i/S S S S ξ \xi ξ

  1. 更新 g g g:将 g g g j i 1 j_i^{1} ji1的元素移动 ε \varepsilon ε、最小和第二小的调整的cost ( C i , j − g j j {C_{i,j}-g_j}_j Ci,jgjj)的加和
  2. 更新 S S S ξ \xi ξ:如果存在一个索引 i ′ ∈ S i' \in S iS ξ i ′ = j i 1 \xi_{i'}=j_{i}^{1} ξi=ji1,移除它

    ξ i = j i 2 \xi_{i}=j_i^2 ξi=ji2并且在 S S S中加入 i i i。(感觉原始文献中存在问题,自己修改了一下公式)

    算法性质 算法从空的分配点集 S = ϕ S=\phi S=ϕ、空的部分分配向量 ξ \xi ξ,和 g = 0 n g=0_{n} g=0n开始,当 S = [ n ] S=[n] S=[n]时停止,循环执行上述两个步骤,直到终止。从公式(3.9)中可以明显地看出特性(b)和(c)成立。 ε − \varepsilon- ε互补松弛在第一次迭代( S = ϕ S=\phi S=ϕ)是成立。通过下述的proposition可以知道特性(a)成立。

Proposition 3.7 auction algorithm在每步迭代中保存了 ε − \varepsilon- ε 互补松弛。

Proposition 3.8 auction algorithm最多执行 N = n ∥ C ∥ ∞ / ε N=n \Vert C \Vert _{\infty}/ \varepsilon N=nC/ε步。

remark 3.3这个算法终止前进行了 N 3 ∥ C ∥ ∞ / ε N^3 \Vert C \Vert_{\infty}/\varepsilon N3C/ε此简单的操作。当使用 ε − \varepsilon- εscaling method时,复杂度会减少 N 3 ∥ C ∥ ∞ N^3 \Vert C \Vert_{\infty} N3C(在每次迭代中减少 ε \varepsilon ε的数值)。

Proposition 3.9 auction algorithm 找到了一个分配,它的费用是 n ε n\varepsilon nε次优的。

综上所述 auction algorithm可以被视为一个使用 C-transform机制的方法。接下来我们将探讨另一种基于正则化的方法,即所谓的Sinkhorn算法,它与auction算法也有相似之处。最后请注意,在欧几里得空间的低维规则网格上,可以将这些经典线性求解器与多尺度策略相结合,以获得显著的加速效果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值