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

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

ID:7826614

大小:127.00 KB

页数:8页

时间:2018-02-27

算法总结---差分约束系统_第1页
算法总结---差分约束系统_第2页
算法总结---差分约束系统_第3页
算法总结---差分约束系统_第4页
算法总结---差分约束系统_第5页
资源描述:

《算法总结---差分约束系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Contents一、定义二、详解三、例题一、定义(百度百科):如果一个系统由n个变量和m个约束条件组成,其中每个约束条件形如xj-xi<=bk(i,j∈[1,n],k∈[1,m]),则称其为差分约束系统(systemofdifferenceconstraints)。亦即,差分约束系统是求解关于一组变量的特殊不等式组的方法。求解差分约束系统,可以转化成图论的单源最短路径(或最长路径)问题。观察xj-xi<=bk,会发现它类似最短路中的三角不等式d[v]<=d[u]+w[u,v],即d[v]-d[u]<=w[u,v]

2、。因此,以每个变量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≤0x1-x5≤-1x2-x5≤1x3-x1≤5x4-x1≤4x4-x3≤-1x5-x3≤-3x5-x4≤-3该问题的一

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算法伪代码:foreachvÎVdod[v]<--无限大;d[s]<--0Relaxationfori=1,...,

4、V

5、-1doforeachedge(u,v)属于Edod[v]<--min{d[v],

6、d[u]+w(u,v)}Negativecyclecheckingforeachv属于Vdoifd[v]>d[u]+w(u,v)thennosolution在实际的应用中,一般使用SPFA(ShortestPathFastAlgorithm)算法来实现。差分约束系统中源点到每个点的距离确定关于Dist[]的初始化化1.如果将源点到各点的距离初始化为0,最终求出的最短路满足它们之间相互最接近了2.如果将源点到各点的距离初始化为INF(无穷大),其中之1为0,最终求出的最短路满足它们与该点之间相互差值最大。3.差分约

7、束系统的确立要根据自己确定的约束条件,从约束点走向被约束点连边一般有两种方法,第一种是连边后求最长路的方法,第二种是连边后求最短路的方法。例:d[x]-d[y]>=Z如果想连边后求最长路那么将不等式变形为这种形式d[x]>=d[y]+zy---x连一条权值为z的边求最短路则变形成d[y]<=d[x]-zx---y连一条权值为-z的边。如果是别的不等式,也可以根据情况变形。但是要保证的是两个变量(x,y)的系数一定要是正的。而常量则不一定。定理:将如上差分约束系统转换成图后,以为源点得到的最短路径序列为(如果有解)

8、,则满足且若为任意解,则有。证明:首先由,则显然有满足,这是因为每条边对应一个不等式且由图的构造法可知。其次考察到的最短路径,我们有与直接相连且由路径最短知,其中为不等式的常量即为边的权,所以有。对k做归纳,由,又,所以即所以后者成立。证毕例:设有n个盒子标号为1...n,每个盒子最多放1个球。放法满足(0

9、放法,且为最大值。二、详解引自某网友:(本文假设读者已经有以下知识:最短路径的基本性质、Bellman-Ford算法。)    比如有这样一组不等式:    X1-X2<=0 X1-X5<=-1 X2-X5<=1 X3-X1<=5 X4-X1<=4 X4-X3<=-1 X5-X3<=-3 X5-X4<=-3 不等式组(1)    全都是两个未知数的差小于等于某个常数(大于等于也可以,因为左右乘以-1就可以化成小于等于)。这样的不等式组就称作差分约束系统。    这个不等式组要么无解,要么就有无数组解。因为如果有一

10、组解{X1,X2,...,Xn}的话,那么对于任何一个常数k,{X1+k,X2+k,...,Xn+k}肯定也是一组解,因为任何两个数同时加一个数之后,它们的差是不变的,那么这个差分约束系统中的所有不等式都不会被破坏。        差分约束系统的解法利用到了单源最短路径问题中的三角形不等式。即对于任何一条边u->v,都有: d(v)<=d(u)+w(u,v)    其中d

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。