分享好友 天南地北首页 网站导航

什么是差分约束系统

网友 2023-09-06 15:02 · 头闻号教育培训

最佳答案:

如果一个系统由n个变量和m个约束条件组成,形成m个形如ai-aj≤k的不等式(i,j∈[1,n],k为常数),则称其为差分约束系统(system of difference constraints)。亦即,差分约束系统是求解关于一组变量的特殊不等式组的方法。

详情介绍

如果一个系统由n个变量和m个约束条件组成,形成m个形如ai-aj≤k的不等式(i,j∈,k为常数),则称其为差分约束系统(system of difference constraints)。亦即,差分约束系统是求解关于一组变量的特殊不等式组的方法。

中文名
差分约束系统
外文名
system of difference constraints
所属学科
信息学
标签
信息学技术

求解差分约束系统,可以转化成图论的单源最短路径(或最长路径)问题。

观察xj-xi≤bk,会发现它类似最短路中的三角不等式d≤d+w,即d-d≤w。因此,以每个变量xi为结点,对于约束条件xj-xi≤bk,连接一条边(i,j),边权为bk。我们再增加一个源点s,s与所有定点相连,边权均为0。对这个图,以s为源点运行Bellman-Ford算法,最终{d}即为一组可行解。

例如,考虑这样一个问题,寻找一个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。

引理:设x=(x1,x2,…,xn)是差分约束系统Ax≤b的一个解,d为任意常数。则x+d=(x1+d,x2+d,…,xn+d)也是该系统Ax≤b的一个解。

bellman-ford算法伪代码:

for each v V do d <- 无限大; d <- 0

Relaxation

for i =1,...,|V|-1 do

for each edge (u,v) 属于 E do

d <- min{d, d+w(u,v)}

Negative cycle checking

for each v 属于V do if d> d + w(u,v) then no solution

在实际的应用中,一般使用Bellman-Ford算法来实现。

差分约束系统中源点到每个点的距离确定。

关于Dist的初始化:

1.如果将源点到各点的距离初始化为0,最终求出的最短路满足 它们之间相互最接近了;

2.如果将源点到各点的距离初始化为INF(无穷大),其中之1为0,最终求出的最短路满足 它们与该点之间相互差值最大;

3.差分约束系统的确立要根据自己确定的约束条件,从约束点走向被约束点。

连边一般有两种方法,第一种是连边后求最长路的方法,第二种是连边后求最短路的方法。

例:d-d≥Z

如果想连边后求最长路 那么将不等式变形为这种形式 d≥d+z y到x连一条权值为z的边

求最短路则变形成d≤d-z x到y连一条权值为-z的边。

如果是别的不等式,也可以根据情况变形。但是要保证的是 两个变量(x,y)的系数一定要是正的。而常量则不一定。

定理:将如上差分约束系统

转换成图后,以

为源点得到的最短路径序列为

(如果有解),则

满足

且若

任意解,则有

证明:首先由

,则显然有

满足

,这是因为每条边对应一个不等式且由图的构造法可知。其次考察

的最短路径

,我们有

直接相连且由路径最短知

,其中

为不等式

的常量即为边

的权,所以有

。对k做归纳,由

,又

,所以

所以后者成立。证毕

例:设有n个盒子标号为1...n,每个盒子最多放1个球。放法满足

(0<im)约束,其中

表示区间

最多可放

个球,求这n个盒子最多可放多少个球。

令前k个盒子放的数目为

,则有

(1 ≤ i n ),

(1 ≤ i m)。以此约束条件用如上算法给出最短路径序列

,由定理知

是合法的放法,且

为最大值。

免责声明:本平台仅供信息发布交流之途,请谨慎判断信息真伪。如遇虚假诈骗信息,请立即举报

举报
反对 0
打赏 0
更多相关文章

收藏

点赞