算法总结---差分约束系统.docVIP

  • 4
  • 0
  • 约 8页
  • 2017-09-01 发布于安徽
  • 举报
Contents 定义 二、 详解 三、 例题 定义(百度百科): 如果一个系统由n个变量和m个约束条件组成,其中每个约束条件形如xj-xi=bk(i,j∈[1,n],k∈[1,m]),则称其为差分约束系统(system of difference constraints)。亦即,差分约束系统是求解关于一组变量的特殊不等式组的方法。 求解差分约束系统,可以转化成图论的单源最短路径(或最长路径)问题。 观察xj-xi=bk,会发现它类似最短路中的三角不等式d[v]=d[u]+w[u,v],即d[v]-d[u]=w[u,v]。因此,以每个变量xi为结点,对于约束条件xj-xi=bk,连接一条边(i,j),边权为bk。我们再增加一个源点s,s与所有定点相连,边权均为0。对这个图,以s为源点运行Bellman-ford算法(或SPFA算法),最终{d[ i]}即为一组可行解。 例如,考虑这样一个问题,寻找一个5维向量x=(xi)以满足: 这一问题等价于找出未知量xi,i=1,2,…,5,满足下列8个差分约束条件: x1-x2≤0 x1-x5≤-1 x2-x5≤1 x3-x1≤5 x4-x1≤4 x4-x3≤-1 x5-x3≤-3 x5-x4≤-3 该问题的一个解为x=(-5,-3,0,-1,-4),另一个解y=(0,2,5,4,1),这2个解是有联系的:y中的每个元素比x中相应的元素大5。

文档评论(0)

1亿VIP精品文档

相关文档