四边形不等式

四边形不等式

  设 w(x,y) 是定义在 Z 上的二元函数。若对于定义域上的任意 a,b,c,d(abcd),都有 w(a,c)+w(b,d)w(a,d)+w(b,c) 成立,则函数 w 满足四边形不等式。

 定理

  设 w(x,y) 是定义在 Z 上的二元函数。若对于定义域上的任意 a,b(a<b),都有 w(a,b)+w(a+1,b+1)w(a,b+1)+w(a+1,b) 成立,则函数 w 满足四边形不等式。

 证明

  对于 a<c,有 w(a,c)+w(a+1,c+1)w(a,c+1)+w(a+1,c)

  对于 a+1<c,有 w(a+1,c)+w(a+2,c+1)w(a+1,c+1)+w(a+2,c)

  两式相加,得到 w(a,c)+w(a+2,c+1)w(a,c+1)+w(a+2,c)

  根据一式和三式类推,对任意的 abc,有 w(a,c)+w(b,c+1)w(a,c+1)+w(b,c)

  同理,对任意的 abcd,有 w(a,c)+w(b,d)w(a,d)+w(b,c)

一维线性DP的四边形不等式优化

  对于形如 f[i]=min0j<i{f[j]+w(j,i)} 的状态转移方程,记 p[i]f[i] 取到最小值时的 j 值,即 p[i]f[i] 的最优决策。若 p[1,N] 上非严格单调递增,则 f 具有决策单调性。

 定理

  在状态转移方程 f[i]=min0j<i{f[j]+w(j,i)} 中,若函数 w 满足四边形不等式,则 f 具有决策单调性。

 证明

  i[1,N]j[0,p[i]1],根据 p[i] 的最优性,有 f[p[i]]+w(p[i],i)f[j]+w(j,i)

  i[i+1,N],因为 w 满足四边形不等式,有 w(j,i)+w(p[i],i)w(j,i)+w(p[i],i)

  两式相加,得到 f[p[i]]+w(p[i],i)f[j]+w(j,i)

  这说明以 p[i] 作为 f[i] 的决策,比以任意 j<p[i] 作为 f[i] 的决策更优,因此 f[i] 的最优决策一定满足 p[i]p[i]

  所以 f 具有决策单调性

//待填

二维区间DP的四边形不等式优化

 定理一

  在状态转移方程 f[i][j]=minik<j{f[i][k]+f[k+1][j]+w(i,j)} 中(特别地,f[i][i]=w(i,i)=0),如果 w 满足四边形不等式,且对于任意的 abcd,有 w(a,d)w(b,c),那么 f 也满足四边形不等式。

 证明*

  当 i+1=j 时,f[i][j+1]+f[i+1][j]=f[i][i+2]

  若 f[i][i+2] 的最优决策是 i ,则 f[i][i+2]=f[i][i]+f[i+1][i+2]+w(i,i+2)=w(i+1,i+2)+w(i,i+2)w(i+1,i+2)+w(i,i+1)=f[i+1][i+2]+f[i][i+1]=f[i+1][j+1]+f[i][j]

  若 f[i][i+2] 的最优决策是 i+1 ,则 f[i][i+2]=f[i][i+1]+f[i+2][i+2]+w(i,i+2)=w(i,i+1)+w(i,i+2)w(i,i+1)+w(i+1,i+2)=f[i][i+1]+f[i+1][i+2]=f[i][j]+f[i+1][j+2]

  故当 ji=1 时,四边形不等式对 f[i][j] 成立

  然后用数学归纳法,假设当 ji<k 时,f 满足四边形不等式;考虑 ji=k 的情况,设 f[i][j+i] 的最优决策为 xf[i+1][j] 的最优决策为 y;不妨设 i+1xy

  根据 xy 的最优性,有 f[i][j+1]+f[i+1][j]=f[i][x]+f[x+i][j+1]+w(i,j+1)+f[i+1][y]+f[y+1][j]+w(i+1,j)

  对于 f[i][j]f[i+1][j+1]xy 不一定最优,故 f[i][j]+f[i+1][j+1]f[i][x]+f[x+i][j]+w(i,j)+f[i+1][y]+f[y+1][j+1]+w(i+1,j+1)

  因为 w 满足四边形不等式,所以 w(i,j)+w(i+1,j+1)w(i,j+1)+w(i+1,j)

  根据归纳假设,有 f[x+1][j]+f[y+1][j+1]f[x+1][j+1]+f[y+1][j]

  结合前面四个不等式,得到 f[i][j]+f[i+1][j+1]f[i][j+1]+f[i+1][j]

 定理二

  在状态转移方程 f[i][j]=minik<j{f[i][k]+f[k+1][j]+w(i,j)} 中(特别地,f[i][i]=w(i,i)=0),记 p[i][j]f[i][j] 取到最小值时的 k 值(最优决策)。若 f 满足四边形不等式,那么对于任意 i<j,有 p[i][j1]p[i][j]p[i+1][j](决策单调性)。

 证明

  记 pp[i][j],对于任意的 i<kp,因为 f 满足四边形不等式 f[i][k]+f[i+1][p]f[i][p]+f[i+1][k]

  移项可得 f[i+1][p]f[i+1][k]f[i][p]f[i][k]

  根据 p 的最优性,有 f[i][p]+f[p+1][j]f[i][k]+f[k+1][j]

  因此 f[i+1][p]+f[p+1][j]+w(i+1,j)f[i+1][k]f[k+1][j]w(i+1,j)=(f[i+1][p]f[i+1][k])+(f[p+1][j]f[k+1][j])(f[i][p]f[i][k])+(f[p+1][j]f[k+1][j])=(f[i][p]+f[p+1][j])(f[i][k]+f[k+1][j])0

  所以对于 f[i+1][j]p 比任意的 kp 更优,因此 p[i+1][j]p[i][j]

  同理可证 p[i][j1]p[i][j]

//待填

posted @   Pedesis  阅读(1336)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示