OI学习笔记6:决策单调性

决策单调性

一、决策单调性

1、定义。

  • 定义:状态转移方程中,记 \(p[i]\) 为令 \(F[i]\) 取到最值的转移位置 \(j\) 的值(即 \(p[i]\)\(F[i]\) 的最优决策),若 \(p\) 数组在 \([1,N]\) 单调非降,则称 \(F\) 具有决策单调性。

2、双指针。

  • 如果在满足决策单调性的同时,保证后一次与前一次的函数取值也形成单调性,那么就可以根据值的增与减确定最优决策点的位置,此时就可使用双指针进行扫描。

二、四边形不等式

1、四边形不等式。

  • 定义 \(w(x,y)\) 为整数域上一二元函数。
  • 若对于 \(D_w\) 上任意整数 \(a,b,c,d\),其中 \(a\leq b\leq c\leq d\),都有

    \[w(a,d)+w(b,c)\geq w(a,c)+w(b,d) \]

    成立,则称 \(w\) 满足四边形不等式。(跨越 \(+\) 包含 \(\geq\) 交叉)

2、拓展形式。

  • 若对于 \(D_w\) 上任意 \(a,b\in Z\),且 \(a<b\),都有

    \[w(a,b+1)+w(a+1,b)\geq w(a,b)+w(a+1,b+1) \]

    成立,则 \(w\) 满足四边形不等式。

3、区间包含单调性。

  • 若对于 \(D_w\) 上任意整数 \(a,b,c,d\),且 \(a\leq b\leq c\leq d\),都有

    \[w(a,d)\geq w(b,c) \]

    成立,则称 \(w\) 满足区间包含单调性。

4、满足四边形不等式的函数类。

(1)四条性质。

  • 性质 \(1\):若函数 \(w_1(l,r),w_2(l,r)\) 均满足四边形不等式(或区间包含单调性),则对于任意 \(c_1,c_2\geq 0\),函数 \(c_1w_1+c_2w_2\) 也满足四边形不等式(或区间包含单调性)。
  • 性质 \(2\):若存在函数 \(f(x),g(x)\) 使得 \(w(l,r)=f(r)-g(l)\),则函数 \(w\) 满足四边形不等式。当函数 \(f,g\) 单调增加时,函数 \(w\) 还满足区间包含单调性。
  • 性质 \(3\):设 \(h(x)\) 为一单调增加的下凸函数,若函数 \(w(l,r)\) 满足四边形不等式并且满足区间包含单调性,则复合函数 \(h(w(l,r))\) 也满足四边形不等式和区间包含单调性。
  • 性质 \(4\):设 \(h(x)\) 为一下凸函数,若函数 \(w(l,r)\) 满足四边形恒等式并满足区间包含单调性,则复合函数 \(h(w(l,r))\) 也满足四边形不等式。

(2)部分性质的证明(性质 \(3\))。

证明:

  • 任取 \(l\leq l' \leq r'\leq r\),根据函数 \(w\) 对区间包含单调性有 \(w(l',r')\leq w(l,r)\) 成立,
    \(\because h(x)\) 单调递增,
    \(\therefore h(w(l',r'))\leq h(w(l,r))\),即复合函数 \(h\circ w\) 也满足区间包含单调性。
  • 任取 \(l_1\leq l_2\leq r_1\leq r_2\),根据函数 \(w\) 满足四边形不等式,有:

    \[w(l_1,r_1)+w(l_2,r_2)\leq w(l_1,r_2)+w(l_2,r_1)······(1) \]

    \((1)\) 式移项,结合 \(w\) 满足区间包含单调性,有:

    \[0\leq w(l_1,r_1)-w(l_2,r_1)\leq w(l_1,r_2)-w(l_2,r_2) \]

    \(t=w(l_1,r_2)-w(l_2,r_2) \geq 0\),则:(证明性质 \(4\)\((2)\) 式不等号变等号,不用单调性)

    \[w(l_1,r_1)\leq w(l_2,r_1)+t······(2) \]

    \[w(l_1,r_2)=w(l_2,r_2)+t······(3) \]

    \(h(x)\) 的单调性可知:

    \[h(w(l_1,r_1))-h(w(l_2,r_1))\leq h(w(l_2,r_1)+t)-h(w(l_2,r_1))······(4) \]

    \[h(w(l_1,r_2))-h(w(l_2,r_2))=h(w(l_2,r_2)+t)-h(w(l_2,r_2))······(5) \]

    \(\Delta h(x)=h(x+t)-h(x)\),则:

    \[\Delta h'(x)=h'(x+t)-h'(x) \]

    由于 \(h(x)\) 是一个下凸函数,因此导函数 \(h'(x)\) 单调递增,故 \(\Delta h(x)\) 也单调增加,由 \((4),(5)\) 可知:

    \[h(w(l_1,r_1))-h(w(l_2,r_1))\leq \Delta h(w(l_2,r_1)) \]

    \[\leq \Delta h(w(l_2,r_2))=h(w(l_1,r_2))-h(w(l_2,r_2)) \]

    即:

    \[h(w(l_1,r_1))+h(w(l_2,r_2))\leq h(w(l_1,r_2))+h(w(l_2,r_1)) \]

    这说明 \(h\circ w\) 也满足四边形不等式。
    \(\square\)

三、优化 \(1D/1D\) 动态规划

1、定义。

  • \(1D/1D\) 动态规划指状态数为 \(O(n)\),每一个状态决策量为 \(O(n)\) 的动态规划方程。

2、单调性证明。

  • 一维线性动态规划方程

    \[F[i]=\displaystyle \min_{0\leq j<i}{\{F[j]+w(j,i)\}} \]

    由于 \(w(j,i)\)\(j\) 相关,因此各个 \(j\) 间不一定满足单调性。
  • 定理:一维决策单调性
    • 在状态转移方程 \(F[i]=\displaystyle \min_{0\leq j<i}{\{F[j]+w(j,i)\}}\) 中,若 \(w\) 满足四边形不等式,则 \(F\) 具有决策单调性。

3、方法。

  • 单调队列维护决策点。
  • 整体二分维护决策点。

四、优化 \(2D/1D\) 动态规划

1、定义。

  • \(2D/1D\) 动态规划指状态数为 \(O(n^2)\),每一个状态决策量为 \(O(n)\) 的动态规划方程。

2、二维区间动态规划方程。

  • 在石子相并类DP中,二维区间动态规划方程被描述为:

    \[F[i,j]=\displaystyle\min_{i\leq k<j}{\{F[i,k]+F[k+1,j]+w(i,j)\}} \]

  • 而在区间划分类DP中,二维区间动态规划方程被描述为:

    \[F[i,j]=\displaystyle\min_{k\leq j}{\{F[i-1,k]+w(k,j)\}} \]

  • 定理 \(1\)
    • \(F[i,j]=\displaystyle\min_{i\leq k<j}{\{F[i,k]+F[k+1,j]+w(i,j)\}}\) 中,若函数 \(w\) 满足:
      • 四边形不等式
      • 区间包含单调性
        \(F\) 也满足四边形不等式。
  • 定理 \(2\)
    • \(F[i,j]=\displaystyle\min_{i\leq k<j}{\{F[i,k]+F[k+1,j]+w(i,j)\}}\) 中,记 \(P[i,j]\) 为令 \(F[i,j]\) 取到最小值的决策点,若 \(F\) 满足四边形不等式,则 \(\forall i<j\),有

    \[P[i,j-1]\leq P[i,j]\leq P[i+1,j] \]

五、用决策单调性解决问题的大概步骤。

  • 证明 \(w\) 满足四边形不等式与区间包含单调性。
  • 推出 \(F\) 满足四边形不等式。
  • 推出 \(P[i,j-1]\leq P[i,j]\leq P[i+1,j]\)

时间复杂度为 \(O(n^2)\)
拓展:\(GarsiaWachs\) 算法。

posted @ 2021-08-27 22:02  聂玄HankNie  阅读(264)  评论(0编辑  收藏  举报