zoukankan      html  css  js  c++  java
  • 区间动规平行四边形优化

    平行四边形优化,是一种在一类区间动规中减少时间复杂度的方法。

    有方程:m(i,j)=min(m(i,k)+m(k+1,j)+w(i,j)),s(i,j)为最优点取到值。

    公式:如果有w(i, j)+w(i′, j′)≤w(i′, j)+w(i, j′) 那么我们称函数 w 满足四边形不等式。 

       就有s(i, j)≤s(i, j + 1)≤s(i + 1, j + 1)

    证明思路如下:

    我们先要证明:m(i,j)+m(i′,j′)≤m(i′,j)+m(i,j′),i≤i′< j≤ j′ 。

    分部证明,每部都用数学归纳法证明,用前面一部作为初始条件:

    • i=i′或j= j′
    • i<i′= j< j′ 
    • i<i′< j< j′ 

    然后再证:s(i, j)≤s(i, j + 1)≤s(i + 1, j + 1)

    我们令mk (i, j)表示决策变量取k的时候目标函数的值。 

    有上面证明的加上w(i, j)+m(i,k−1)+w(i, j+1)+m(i,k′−1) 。

    构造出:mk (i, j)−mk′ (i, j)≤mk (i, j+1)−mk′ (i, j+1) 。

    就能证明s(i, j +1)≥ s(i, j) 。另一边证明同理。

    详细证明:http://files.cnblogs.com/files/SXia/DP平行四边形优化.pdf

  • 相关阅读:
    Scala--基础
    maven
    Storm 运行例子
    Storm 安装部署
    Storm
    Kafka 集群部署
    Redis Twemproxy
    Redis Sentinel
    获取URL中参数的值
    浏览器滚动条样式
  • 原文地址:https://www.cnblogs.com/SXia/p/6884051.html
Copyright © 2011-2022 走看看