Skip to content

算法Algorithm

Douglas–Rachford 分裂

Douglas–Rachford splitting · Douglas Rachford method · DR splitting

分别计算两个极大单调算子的预解,通过反射平均恢复和算子的零点,证明状态与影子点的收敛,并用周期反例说明平均的作用。

两个隐式子问题分别容易求解时,未必容易求出它们之和的隐式解。Douglas–Rachford用两次独立预解来协调它们。迭代保存的是一份辅助状态,真正的解要从状态再取一次预解才能恢复;混淆这两个点,会把正确收敛的算法读成错误答案。

形式陈述 ​

状态、两个影子与平均反射 ​

在有限维实欧氏空间中,设 A,B为极大单调算子,且 Z={x:0∈Ax+Bx}≠∅。固定 γ>0,从任意辅助状态 z0执行

(1)pk=JγAzk,qk=JγB(2pk−zk),zk+1=zk+qk−pk.

两次预解均全域单值,不要求 A、B光滑或Lipschitz。定义反射预解 RA=2JγA−I、RB=2JγB−I,则主更新为

T=12(I+RBRA),zk+1=Tzk.

在这些假设下,zk收敛到某个 T的不动点 z¯,两个影子 pk,qk收敛到同一零点 p¯=JγAz¯。一般 z¯≠p¯;正确输出是影子及其关系证书,而非未经转换的状态。

直觉

固定点怎样恢复原问题解 ​

若 z=Tz,则两影子相同,记为 p=q。预解定义分别给

z−pγ∈Ap,2p−z−pγ=p−zγ∈Bp.

两项相加为零,所以 p∈Z。反过来,若 p∈Z,选 a∈Ap使 −a∈Bp,令 z=p+γa,便有 JγAz=p及JγB(2p−z)=p。因此解存在恰好保证辅助不动点存在,但恢复公式必须保留。

为什么反射之后还要平均 ​

牢固非扩张性给任意输入 z,w的

‖JAz−JAw‖2≤⟨JAz−JAw,z−w⟩,

这里为简洁省略共同的 γ。展开 RAz−RAw=2(JAz−JAw)−(z−w),便得 ‖RAz−RAw‖≤‖z−w‖。RB也非扩张,故 S=RBRA非扩张。

取任意不动点 z∗,Sz∗=z∗。平方中点恒等式给

‖z+Sz2−z∗‖2=12‖z−z∗‖2+12‖Sz−z∗‖2−14‖z−Sz‖2.

使用非扩张性及 Tz−z=(Sz−z)/2,得到

(2)‖Tz−z∗‖2+‖Tz−z‖2≤‖z−z∗‖2.

平均不仅不放大距离,还用距离下降支付主点位移。仅知道未平均的 S非扩张,只能得到距离不增,不能排除周期。

例子与边界

两条直线上的四轮计算 ​

令 A=NU,B=NV,其中 U={(t,0)}、V={(t,t)}。法锥预解就是投影,所以

PU(a,b)=(a,0),PV(a,b)=((a+b)/2,(a+b)/2).

相应反射为 RU(a,b)=(a,−b)、RV(a,b)=(b,a),故 RVRU=J为逆时针直角旋转。DR更新是

T=12(I+J)=12(1−111).

从 z0=(1,0)开始,

k 辅助状态 zk 第一影子 pk=PUzk
0 (1,0) (1,0)
1 (1/2,1/2) (1/2,0)
2 (0,1/2) (0,0)
3 (−1/4,1/4) (−1/4,0)
4 (−1/4,0) (−1/4,0)

状态每轮旋转 45∘,长度乘 1/2,最终趋于两线交点零。第二轮影子恰好经过零,不代表以后每轮都停在零;状态仍未固定,下一影子可以离开这个偶然的交点。

若只迭代 RVRU=J,得到的是未平均的Peaceman–Rachford更新,非零初值永远四周期。这不是“计算精度不够”,而是迭代矩阵本身没有收缩。

状态极限可以在解集之外 ​

在实直线上取 A=∂f、f(x)=(x−2)2/2,B=N{0}。唯一零点为 p∗=0,因为在那里 Ap∗=−2可由法锥中的 2抵消。

取 γ=1,两个近端/预解分别为 JAz=(z+2)/2、JBw=0。所以

zk+1=(zk−2)/2.

从 z0=0开始,状态依次为 −1,−3/2,−7/4,−15/8,趋向 −2;第一影子依次为 p0=1,p1=1/2,p2=1/4,…,趋向正确解零。若直接把状态 −2交给原问题,它甚至违反 x=0的约束。

图中灰色辅助状态可以在原问题的不可行位置收敛,蓝色影子才是要交付的原变量。极限线分别标出两份对象,不能只看某条曲线已变平便报告答案。

子问题可解仍需零点存在 ​

极大单调性确保两次预解都可执行,不保证两部分能够平衡。例如 A=0,B(x)={1},有 JAz=z,JBz=z−γ,故 zk+1=zk−γ持续漂移。没有零点时,式(2)没有可用的不动点作比较。

非凸近端、随轮变化的步长或仅近似预解都超出当前精确固定参数证明。两条直线的几何速度来自显式矩阵,并非对所有极大单调算子都成立。

推论与应用

从平方可求和到整列收敛 ​

将式(2)求和,zk有界,且 ∑k‖zk+1−zk‖2<∞。有限维聚点定理给 zkj→z¯。两次预解连续,故 T连续;相邻位移趋零使 Tz¯=z¯。到这个不动点的距离不增而有子列趋零,整个状态序列收敛。

由预解连续性,pk→JAz¯。又有 qk−pk=zk+1−zk→0,所以第二影子也有同一极限。固定点恢复证明已保证这个极限解决原包含关系。

停止时保留两份位置和两份算子值 ​

每轮可计算

ak=(zk−pk)/γ∈Apk,bk=(2pk−zk−qk)/γ∈Bqk,

且 ak+bk=(pk−qk)/γ。影子差同时衡量两位置是否一致与两算子值是否平衡;但当 pk≠qk时,不能声称 ak+bk∈(A+B)pk,因为 bk是在 qk处取得。

式(2)还给前 N轮中 mink‖pk−qk‖2≤‖z0−z∗‖2/N。如果初始到某不动点的距离没有可知上界,这不是可以凭空报出的数值精度;实际仍可报告两份残差和模型允许的更强证书。

每轮调用两次预解,另需 O(d)向量运算及存储。凸函数拆分时它们可由两个prox实现;ADMM与DR在适当对偶拆分下有联系,但变量变换、初始化和资格条件需要逐项给出,本页不把它们无条件标成同一迭代。

参考资料
关系图谱6 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系