四边形不等式优化的数学证明

F. Frances Yao 女士的原论文

参考博客

前言

感谢果果让我知道了在没完全看懂一个东西之前不能乱过题。

戒掉狂妄,戒掉浮躁。清楚目标,不要被冲昏头脑。

今天可能写不完,能写多少写多少。

四边形不等式优化的实现

之所以把实现放到前面来,是因为实现是比证明简单得多的。

应用场景

对于某些区间 dp ,常有这样的转移方程:

$$ dp_{i, i} = 0 $$

$$ dp_{i, j} = \min_{i < k \leq j} {dp_{i, k - 1} + dp_{k, j} + w_{i, j}} $$

其中二元函数 $w_{i, j}$ 表示 $[i, j]$ 这个区间的花费,是个定值。

四边形不等式

这样的转移显然是 ${O(n ^ 3)}$ 的,有时候不可接受。

但是只要 $w$ 满足如下性质,我们就可以优化到 $O(n ^ 2)$。

  • 单调性

    对于任意 $i \leq i' \leq j \leq j'$ ,有:

    $$w_{i', j} \leq w_{i, j'}$$

    即“包含大于等于被包含”。

  • 四边形不等式

    对于任意 $i \leq i' \leq j \leq j'$ ,有:

    $$w_{i, j} + w_{i', j'} \leq w_{i', j} + w_{i, j'}$$

    即“交叉小于等于包含”。

    把这四个数按大小在数轴上表示出来,中间两个数向上平移,构成一个四边形。

    此时“交叉小于等于包含”就转化成了几何意义:四边形中两条对角线之和小于一对对边之和。

    这显然是有违天理的,因此更准确地说,这玩意应该叫“反四边形不等式”。


若满足以上条件:

设 $i$ 到 $j$ 的最优决策点 $k$ 为 $s_{i, j}$ ,则有

$$ s_{i, j - 1} \leq s_{i, j} \leq s_{i + 1, j} $$

这样,每次我们枚举分割点 $k$ 的范围便可以减小。

对于每一个 $i$ ,需执行循环次数为 $s_{i + 1, j} - s_{i, j - 1}$ 。

将所有的 $i$ 对应的循环次数加起来,发现总次数不超过 $n$ 。

因此成功降了一维。

由此引出我们的四边形不等式定理:如果 $w$ 满足四边形不等式。则这样的 dp 可以在平方复杂度内解决。

数学证明

先来看看我们要证明什么。

1) 对于任意的 $i, j$,有 $s_{i, j - 1} \leq s_{i + 1, j}$ 。

2) 对于任意的 $i, j$, 有 $s_{i, j - 1} \leq s_{i, j} \leq s_{i + 1, j} $ 。

Lemma 1


若 $w$ 满足以上两个条件,则 $dp$ 也满足四边形不等式。

证明:

设有 $i \leq i' \leq j \leq j'$ 。

则需证 $dp_{i, j} + dp_{i', j'} \leq dp_{i, j'} + dp_{i', j}$ 。

当 $i' = i$ 或 $j' = j$ ,易证不等式两边相等,满足条件。

接下来分类讨论。

case 1. $i \leq i' = j \leq j'$

这时它在几何上就转变成了一个三角形。

把 $i' = j$ 这个看起来很特殊的玩意代到我们的四边形不等式里面去:

$$dp_{i, j} + dp_{j, j'} \leq dp_{i, j'}$$

转化成几何意义就是,三角形两边之和小于第三边。

所以我说这个玩意是离经叛道有悖祖宗天理不容。

又设 $k$ 为区间 $[i, j']$ 的最优决策点。

分类讨论:

  1. $k \leq j$ : 此时 $k$ 在 $[i, j]$ 区间内。

    但是, $k$ 不一定是 $[i, j]$ 的最优决策点。

    因此有

    $$ dp_{i, j} \leq w_{i, j} + dp_{i, k - 1} + dp_{k, j} $$

    两边同加 $dp_{j, j'}$ 有

    $$ dp_{i, j} + dp_{j, j'} \leq w_{i, j} + dp_{i, k - 1} + dp_{k, j} + dp_{j, j'} $$

    此时利用数学归纳法:假定对于 $k$ ,四边形(准确地说,三角形)不等式成立。

    因此又有 $dp_{k, j} + dp_{j, j'} \leq dp_{k, j'}$ 。

    由单调性,有 $w_{i, j} \leq w_{i, j'}$ 。

    结合两者得

    $$ w_{i, j} + dp_{i, k - 1} + dp_{k, j} + dp_{j, j'} \leq w_{i, j'} + dp_{i, k - 1} + dp_{k, j'} = dp_{i, j'} $$

    $$ dp_{i, j} + dp_{j, j'} \leq dp_{i, j'} $$

    得证。

  2. $k > j$ : 此时 $k$ 在 $[i', j']$ 区间内。

    证法相同,不再赘述。


case 2. $i \leq i' < j \leq j'$

此时是一个四边形。个人认为这个证法和三角形的证法是差不多的。都是试图用归纳法构造出包含的两个区间。

由于此时有 $[i, j']$ 和 $[i', j]$ 两个区间,所以需要设两个元表示此时包含/被包含区间的最优决策点。

那么我们设 $k$ 为 $[i, j']$ 最优点, $l$ 为 $[i', j]$ 最优点。

再分类讨论。

  1. $k \leq l$

    因为 $l \leq j$ ,所以 $k$ 在 $[i, j]$ 内。

    又因为 $k$ 不一定是 $[i, j]$ 区间的最优, $l$ 不一定是 $[i', j']$ 的最优:

    $$ dp_{i, j} + dp_{i', j'} \leq dp_{i, k - 1} + dp_{k, j} + dp_{i', l - 1} + dp_{l, j'} + w_{i, j} + w_{i', j'} $$

    由 $w$ 的四边形不等式性质得

    $$ w_{i, j} + w_{i', j'} \leq w_{i', j} + w_{i, j'} $$

    再次利用归纳法,假设对于 $k, l$ ,四边形不等式成立。

    则有

    $$ dp_{k, j} + dp_{l, j'} \leq dp_{k, j'} + dp_{l, j} $$

    可以看到,上述变换的目的是将原表示的两个区间的右端点互换,即从“交叉”形态转为“包含”形态。

    最终得

    $$ dp_{i, k - 1} + dp_{k, j} + dp_{i', l - 1} + dp_{l, j'} + w_{i, j} + w_{i', j'} \leq dp_{k, j'} + dp_{l, j} + w_{i', j} + w_{i, j'} + dp_{i, k - 1} + dp_{i', l - 1} $$

    $$ dp_{i, j} + dp_{i', j'} \leq dp_{i, j'} + dp_{i', j} $$

    得证。

  2. $k > l$

    证法相同,不再赘述。

    综上引理1证毕。

Lemma 2


即最优决策点单调性的证明。

形式化地,证明 $s_{i, j} \leq s_{i, j + 1} \leq s_{i + 1, j + 1}$ 。

先证左半部分, $s_{i, j} \leq s_{i, j + 1}$ 。

我们设最靠右的最优分割点 $s_{i, j} = k'$ ,另有一个分割点 $k < k'$ ,问题转化为证明 $k$ 在 $[i, j + 1]$ 上也并非最优(或是同样优秀而更靠左)。

把式子写出来。

$$ dp_{i, k' - 1} + dp_{k', j + 1} + w_{i, j + 1} \leq dp_{i, k - 1} + dp_{k, j + 1} + w_{i, j + 1} $$

就是要证这个。

首先根据引理 1 有四边形不等式

$$ dp_{k, j} + dp_{k', j + 1} \leq dp_{k, j + 1} + dp_{k', j} $$

两边同加 $w_{i, j} + w_{i, j + 1} + dp_{i, k - 1} + dp_{i, k' - 1}$ 。

可以看出,这个式子是为了将两边分别凑成两个分割点的转移方程之和。

$$ (dp_{i, k - 1} + dp_{k, j} + w_{i, j}) + (dp_{i, k' - 1} + dp_{k', j + 1} + w_{i, j + 1}) \leq (dp_{i, k - 1} + dp_{k, j + 1} + w_{i, j + 1}) + (dp_{i, k' - 1} + dp_{k', j} + w_{i, j}) $$

(这里加了括号是为了更清楚地表示出各个分割点的转移方程)

把 $(dp_{i, k - 1} + dp_{k, j} + w_{i, j})$ 移到右边去,得

$$ (dp_{i, k' - 1} + dp_{k', j + 1} + w_{i, j + 1}) \leq (dp_{i, k - 1} + dp_{k, j + 1} + w_{i, j + 1}) + (dp_{i, k' - 1} + dp_{k', j} + w_{i, j}) - (dp_{i, k - 1} + dp_{k, j} + w_{i, j}) $$

此时式子左边就是我们要的那个更优状态。

再来推第二个式子。

因为我们知道

$$ dp_{i, k' - 1} + dp_{k', j} + w_{i, j} \leq dp_{i, k - 1} + dp_{k, j} + w_{i, j} $$

两边同加 $dp_{i, k - 1} + dp_{k, j + 1} + w_{i, j + 1}$ 得

$$ dp_{i, k' - 1} + dp_{k', j} + w_{i, j} + dp_{i, k - 1} + dp_{k, j + 1} + w_{i, j + 1} \leq dp_{i, k - 1} + dp_{k, j} + w_{i, j} + dp_{i, k - 1} + dp_{k, j + 1} + w_{i, j + 1} $$

移项得

$$ (dp_{i, k' - 1} + dp_{k', j} + w_{i, j}) + (dp_{i, k - 1} + dp_{k, j + 1} + w_{i, j + 1}) - ( dp_{i, k - 1} + dp_{k, j} + w_{i, j}) \leq dp_{i, k - 1} + dp_{k, j + 1} + w_{i, j + 1} $$

发现左边这一坨和上面的右边这一坨是一样的。

合并不等式得

$$ dp_{i, k' - 1} + dp_{k', j + 1} + w_{i, j + 1} < dp_{i, k - 1} + dp_{k, j + 1} + w_{i, j + 1} $$

得证。


原不等式的右半部分 $s_{i, j + 1} \leq s_{i + 1, j + 1}$ 也可以以相同方式证出。这部分的证明先咕咕咕一下,近几天补上。

因此我们已经证明了决策点的单调性,这一部分可以直接用优化。

时间复杂度(定理)证明

前面讲过了。对于一个固定的左区间 $i$ ,其需枚举的决策点范围互不相交(除端点外),各个区间长度之和是不超过 $n$ 的,与枚举 $i$ 在同一个数量级。

本文作者:aaaaaaqqqqqq

本文链接:https://www.cnblogs.com/aaaaaaqqqqqq/p/17976949

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   aaaaaaqqqqqq  阅读(9)  评论(0编辑  收藏  举报  
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.