最新图与网络优化幻灯片.ppt
《最新图与网络优化幻灯片.ppt》由会员分享,可在线阅读,更多相关《最新图与网络优化幻灯片.ppt(92页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 图论是应用十分广泛的运筹学分支,它已广泛地应用在物理学、化学、控制论、信息论、科学管理、电子计算机等各个领域。在实际生活、生产和科学研究中,有很多问题可以用图论的理论和方法来解决。例如,在组织生产中,为了完成某项任务,各工序之间怎样衔接,才能使生产任务完成得既快又好。一个邮递员送信,要走完他负责的全部街道,完成任务后回到邮局,应该按照怎样的路线走,使所走的路程最短。再例如,各种通信网络的合理架设,交通网络的合理分布等问题,应用图论的方法求解都很简便。 欧拉在1736年发表图论方面的第一篇论文,解决了著名的哥尼斯堡七桥问题(哥尼斯堡城中有一条河普雷格尔河,该河中有两个岛,河上有七 现在讨论有向
2、图的情形。设给定一个有向图 D =(V , A),从 D 中去掉所有弧上的箭头,就得到一个无向图,称之为 D 的基础图基础图,记为 G(D)。 给 D 中的一条弧 a=(u , v),称 u 为 a 的始点始点, v 为 a 的终点终点, 称弧 a 是从 u 指向 v 的。v1v2v3v4v5v1v2v4v5v1v2v3v4v5 设 (vi1 , ai1 , vi2 , ai2 , , vik-1 , aik-1 , vik) 是 D 中的一个点弧交错序列,如果这个序列在基础图 G(D) 中所对应的点边序列是一条链,则称这个点弧交错序列是 D 的一条链。类似定义圈和初等链(圈)。 如果 (vi
3、1 , ai1 , vi2 , ai2 , , vik-1 , aik-1 , vik) 是 D 中的一条链,并且对 t=1,k-1,均有 ait=(vit , vit+1),则称之为从从 vi1 到到 vik 的一条路的一条路。若路的第一个点和最后一点相同,则称之为回路回路。类似定义初等路初等路(回路)。对于无向图,链与路(圈与回路)这两个概念是一致的。 类似于无向图,可定义简单有向图、多重有向图。以后除非特别交代,否则,说到图均指简单图。 第二节第二节 树树 2.1 树及其性质树及其性质 在各式各样的图中,有一类图是极其简单然而却很有用的,这就是树。 定义定义1:一个无圈的连通图称为树:一
4、个无圈的连通图称为树。 下面介绍树的一些重要性质。 定理定理3:设图:设图 G=(V , E) 是一个树,是一个树, p(G) 2,则则 G 中中至少有两个悬挂点。至少有两个悬挂点。 证明证明:令 P=(v1 , v2 , , vk) 是 G 中含边数最多的一条初等链,因为 p(G)2,并且 G 是连通的,故链 P 中至少有一条边,从而 v1与 vk 是不同的。现在来证明: v1 是悬挂点,即 d(v1)=1。用反证法,如果 d(v1)2,则存在边 v1 , vm,使 m2。若点 vm 不在 P 上,那么 (vm , v1 , v2 , , vk) 是 G 中的一条初等链, 它所含边数比 P
5、多一条,这与 P 是含边数最多的初等链相矛盾。若点 vm 在 P 上,那么(v1 , v2 , , vm , v1) 是G 中的一个圈,这又与树的定义相矛盾。于是必有 d(v1)=1,即 v1 是悬挂点。同理可证 vk 也是悬挂点。因而G 中至少有两个悬挂点。 定理定理4:图图 G=(V , E) 是一个树的充分必要条件是是一个树的充分必要条件是G不不含圈,且恰有含圈,且恰有 p-1 条边。条边。 证明证明:“必要性”:设G是一个树,根据定义, G不含圈,故只要证明 G 恰有 p-1 条边。对点数 p 施行数学归纳法。当 p1,2时,结论显然成立。假设对点数 pn时,结论成立。设树 G 含有n
6、+1个点。由定理3,G 含有悬挂点,设 v1 是 G 的一个悬挂点,考虑图 G-v1,易见 p(G-v1)=n,q(G-v1)=q(G)-1。因 G-v1 是 n 个点的树,由归纳假设, q(G-v1)n-1,于是 q(G)= q(G-v1)+1=(n-1)+1=n=p(G)-1 “充分性”:只要证明 G 是连通的。用反证法,设 G 是不连通的,G 含有 s 个连通分图 G1 , G2 , , Gs,(s2)。因每个 Gi (i=1,s) 是连通的,并且不含圈,故每个 Gi (i=1,s) 是树,设 Gi 有 pi 个点,则由必要性, Gi 有 pi1条边,于是: 这与 q(G)=p(G)-1
7、的假设相矛盾。 定理定理5:图图 G=(V , E) 是一个树的充分必要条件是是一个树的充分必要条件是G 是连通图,并且是连通图,并且 q(G)=p(G)-1。 证明证明:“必要性”:设 G 是树,根据定义, G 是连通 21111GpsGpsppGqGqsiisiisii 图,由定理4, q(G)=p(G)-1。 “充分性”:只要证明 G 不含圈,对点数施行归纳法。当 p1,2时,结论显然成立。设 p(G)n(n1)时结论成立。现设 p(G)n1,首先证明 G 必有悬挂点。若不然,因 G 是连通的,且 p(G)2,故对每个点 vi ,有 d(vi)2。从而: 这与 q(G)=p(G)-1相矛
8、盾,故 G 必有悬挂点,考虑 G-v1 ,这个图仍然是连通的, q(G-v1)=q(G)-1=p(G)-2=p(G-v1)-1 由归纳假设知道 G-v1不含圈,于是 G 也不含圈。 定理定理6:图:图 G 是树的充分必要条件事任意两个顶点之是树的充分必要条件事任意两个顶点之 GpvdGqGpii121 间恰有一条链。间恰有一条链。 证明证明:“必要性”:因 G 是连通的,故任意两个点之间至少有一条链。但如果某两个点之间有两条链的话,那么图 G 中含有圈,这与树的定义相矛盾,从而任何两个点之间恰有一条链。 “充分性”:设图 G 中任两个点之间恰有一条链,那么易见 G 是连通的。如果 G 中含有圈
9、,那么这个圈上的两个顶点之间有两条链,这与假设相矛盾,故 G 不含圈,于是 G 是树。 由这个定理,很容易推出如下结论: (1)从一个树中去掉任意一条边,则余下的图是不连通的。由此可知,在点集合相同的所有图中,树是含边数最少的连通图。 (2)在树中,不相邻的两个点间添上一条边,则恰好得到一个圈。进一步说,如果再从这个圈上任意去掉一条边,可以得到一个树。 2.2 图的支撑树图的支撑树 定义定义2:设图:设图 T=(V , E/) 是图是图 G=(V , E)的支撑子图,的支撑子图,如果图如果图 T=(V , E/) 是一个树,则称是一个树,则称 T 是是 G 的一个支的一个支撑树。撑树。 若 T
10、=(V , E/) 是 G=(V , E)的一个支撑树,则显然,树 T 中边的个数是 p(G)-1,G 中不属于树 T 的边数是:q(G)-p(G)+1。 定理定理7:图:图 G 有支撑树的充分必要条件是图有支撑树的充分必要条件是图 G 是连是连通的。通的。 证明证明:必要性是显然的。 “充分性”:设图 G 是连通图,如果 G 不含圈,那么 G 本身就是一个树,从而 G 是它自身的一个支撑树。现假设 G 含圈,任取一个圈,从圈中任意地去掉一条边,得到图 G 的一个支撑子图 G1 。如果 G1 不含圈,那么 G1 就是 G 的一个支撑树(因为 G1 的顶点数与 G 相同,且连通);如果 G1 仍
11、然含圈,那么从 G1 中任取一个圈,从圈中再任意去掉一条边,得到图 G 的一个支撑子图 G2 ,如此重复,最终可以得到 G 的一个支撑子图 Gk ,它不含圈,于是 Gk 是 G 的一个支撑树。 定理7充分性的证明,提供了一个寻求连通图的支撑树的方法。这就是任取一个圈,从圈中去掉一个边,对余下的图重复这个步骤,直到不含圈时为止,即得到一个支撑树。称这种方法为“破圈法破圈法”。 也可以用另一种方法来寻求连通图的支撑树。在图中任取一条边 e1 ,找一条与 e1 不构成圈的边 e2 ,再找一条与 e1 、 e2 不构成圈的边 e3 ,一般,设已有e1 , e2 、 ek,找一条与 e1 , e2 、
12、ek 中的任何一些边不构成圈的边 ek+1 。重复这个过程,直到不能进行为止。这时,由所有取出的边所构成的图就是一个支撑树,称这种方法为“避圈避圈法法”。 2.3 最小支撑树问题最小支撑树问题 定义定义3:给图:给图 G=(V , E),对对 G 中的每一条边中的每一条边 ui , vj,相应地有一个数相应地有一个数 wij ,则称这样的图则称这样的图 G 为赋权图,为赋权图, wij 称为边称为边 ui , vj上的权。上的权。 这里所说的“权”,是指与边有关的数量指标。根据实际问题的需要,可以赋予它不同的含义,如表示距离、时间、费用等等。 赋权图在图的理论及其应用方面有着重要的地位。赋权图
13、不仅指出各个点之间的邻接关系,而且同时也表示出各点之间的数量关系。所以,赋权图被广泛地应用于解决工程技术及科学生产管理等领域的最优化问题。最小支撑树问题就是赋权图上的最优化问题之一。 设有一个连通图 G=(V , E),每一个边 e=ui , vj,有一个非负权 w(e)=wij (wij 0)。 定义4:如果 T=(V , E/) 是 G 的一个支撑树,称 E/中所有边的权之和为支撑树 T 的权,记为 w(T),即: 如果支撑树 T* 的权 w(T*) 是 G 的所有支撑树中权最 TvuijjiwTw, 小者,则称 T*是 G 的最小支撑树(也称最小树)。即有: 式中对 G 的所有支撑树 T
14、 取最小。 最小支撑树问题就是要求给定连通赋权图 G 的最小支撑树。 假设给定一些城市,已知每对城市间交通线的建造费用。要求建造一个联结这些城市的交通网,使总的建造费用最小,这个问题就是赋权图上的最小树问题。 下面介绍求最小树的两个方法。 方法一:避圈法方法一:避圈法(kruskal) 开始选一条最小权的边,以后每一步中,总从与已选出的边不构成圈的那些未选边中,选出一条权最小的。 TwTwTmin* (每一步中,如果有两条或两条以上的边都是权最小的边,则从中任选一条)。算法的具体步骤如下: 第一步:第一步:令 i=1,E0=,( 表示空集); 第二步:第二步:选一条边 eiEEi-1 ,使 e
15、i 是使 (V , Ei-1ei) 不含圈的所有边 e (eEEi-1 ) 中权最小的边。令 Ei= Ei-1ei,如果这样的边不存在,则T=(V , Ei-1) 就是最小树; 第三步:第三步:把 i 换成 i+1 ,转入第二步。v1v2v3v4v5v6v1v2v4v3v5v6651725344 现在来证明方法一的正确性。 令 G=(V , E) 是连通赋权图,根据2.2中所述可知:方法一终止时,T=(V , Ei-1) 是支撑树,并且这时i=p(G)。记:E(T)=e1 , e2 、 ep-1,式中 p=p(G),T 的权为: 用反证法来证明 T 是最小支撑树,设 T 不是最小支撑树,在 G
16、 的所有支撑树中,令 H 是与 T 的公共边数最公共边数最多多的最小支撑树。因 T 与 H 不是同一个支撑树,故 T 中至少有一条边不在 H 中。令 ei (1 i p-1) 是第一个不属于 H 的边,把 ei 放入 H 中,必得到一个且仅一个圈,记这个圈为 C 。因为 T 是不含圈的,故 C 中必有一条边不属于 T ,记这条边为 e 。在 H 中去掉 e ,增加 ei ,就得到 G 的另一个支撑树 T0 , 11piiewTw 可见: W(T0)=w(H)+w(ei)-w(e) 因为 w(H) W(T0),推出 w(e)w(ei)。但根据算法, ei 是使 (V , e1 , e2 、 ei
17、) 不含圈的权最小的边,而(V , e1 , e2 、 ei-1、e) 也是不含圈的,故必有 w(ei) w(e),从而 w(ei) w(e),也就是 W(T0)=w(H)。这就是说 T0 也是 G 的一个最小支撑树,但是 T0 与 T 的公共边数比 H 与 T 的公共边数多一条,这与 H 的选取相矛盾。 方法二:破圈法方法二:破圈法 任取一个圈,从圈中去掉一条权最大的边(如果有两条或两条以上的边都是权最大的边,则任意去掉其中一条)。在余下的圈中,重复这个步骤,直至 得到一个不含圈的图为止,这时的图便是最小树。 第三节第三节 最短路问题最短路问题 3.1 引例引例 已知如下图所示的单行线交通网
18、,每弧旁的数字表示通过这条单行线所需要的费用。现在某人要从 v1 出发,通过这个交通网到 v8 去,求使总费用最小的旅行路线。v1v2v3v4v5v6v7v8v9110226243263104361 从这个例子可以引出一般的最短路问题,即给了一个有向图 D =(V , A) ,对于每一个弧 a=(vi , vj),相应地有权 w(a)=wij ,又给定 D 中的两个顶点 vs , vt 。设 P是 D 中从 vs 到 vt 的一条路,定义路 P 的权是 P 中所有弧的权之和,记为 w(P) 。最短路问题就是要在所有从 vs 到 vt 的路中,求一条权最小的路,即求一条从 vs 到 vt 的路
19、P0 ,使得: 式中对 D 中所有从 vs 到 vt 的路 P 取最小,称 P0 是从 vs 到 vt 的最短路最短路。路 P0 的权称为从 vs 到 vt 的距距离离,记为 d (vs , vt) 。显然 d (vs , vt) 与 d (vt , vs) 不一定相等。 最短路问题是重要的最优化问题之一,它不仅可以 PwPwPmin0 直接应用于解决生产实际的许多问题,诸如管道铺设、路线安装、厂区布局、设备更新等,而且经常被作为一个基本工具,用于解决其他最优化问题。 3.2 最短路算法最短路算法 本节将介绍在一个赋权有向图中寻求最短路的方法,这些方法不仅求出了从起点 vs 到终点 vt 的最
20、短路,更是求出了从给定一个点 vs 到任意一个点 vj 的最短路。 如下事实经常要利用到的,即:如果 P 是有向图 D 中从 vs 到 vj 的最短路,vi 是 P 中的一个点,那么,从 vs 沿 P 到 vi 的路是从 vs 到 vi 的最短路。 首先介绍所有 wij 0 的情形下,求最短路的方法。当所有的 wij 0 时,目前公认最好的方法是由 Dijkstra 于1959年提出来的。 Dijkstra方法的基本思想是从 vs 出发,逐步地向 外探寻最短路。执行过程中,与每个点对应,记录下一个数(称为这个点的标号),它或者表示从 vs到 该点的最短路的权(称为 P 标号),或者是从 vs
21、到 该点的最短路的权的上界(称为 T 标号),方法的每一步是去修改 T 标号,并且把某一个具 T 标号的点改变为具 P 标号的点,从而使 D 中具 P 标号的顶点数多一个,这样,至多经过 p-1 步,就可以求出从 vs到各个点的最短路。 在下述 Dijkstra方法具体步骤中,用 P,T 分别表示某个点的 P 标号、T 标号,Si 表示第 i 步时,具 P 标号点的集合。为了求出从 vs 到各点的距离的同时,也求出从 vs 到各点的最短路,给每一个点 v 以一个 值,算法终止时,如果 (v)=m ,表示在从 vs 到 v 的最短路上, v 的前一个点是 vm ;如果 (v)=M, 则表示 D
22、中不含从 vs 到 v 的路; (v)=0 表示 v=vs 。 对于给定的赋权有向图 D =(V , A),Dijkstra 方法的具体步骤如下: 开始(i=0),令 S0=vs,P(vs)=0,(vs)=0,对每一个 vvs ,令 T(v)=+, (v)=M,令 k=s; (1)如果 Si=V,算法终止,这时,对每个 vSi ,d(vs , v)=P(v);否则转入(2); (2) 考查每个使 (vk , vj)A 且 vjSi 的点 vj ;如果 T(vj)P(vk)+wkj ,则把 T(vj) 修改为 P(vk)+wkj ,把 (vj) 修改为 k ;否则转入(3); (3) ,令标号标
23、号变为的,则把。如果令:iiiiiijijiijjjjjSvjvSSvTvPPTvvTvTvT1min k=ji ,i:=i+1,转入(1);否则终止,这时对每一个vSi ,d(vs , v)=P(v),而对每个 vSi , d(vs , v)=T(v)。 上面介绍了求一个赋权有向图中,从一个顶点 vs 到各个顶点的最短路。对于赋权无向图 G=(V , E),因为沿边vi , vj既可以从 vi 到达 vj ,也可以从 vj 到达 vi ,所以边vi , vj可以看着是两条弧 (vi , vj) 及 (vj , vi) ,它们具有相同的权 wvi , vj。这样,在一个赋权无向图中,如果所有的
24、 wij 0,只要把 Dijkstra方法中的第2步,即(2)“考查每个使 (vk , vj)A 且 vjSi 的点 vj ”改为(2)考查每个使 vk , vjE 且 vjSi 的点 vj ”,同样地可以求出从 vs 到各个顶点的最短路(对于无向图来说,即为最短链)。 现在来证明 Dijkstra方法的正确性。只要证明对于每 一个点 vSi ,P(v) 是从 vs 到 v 的最短路的权,即 d(vs , v)=P(v) 即可。 对 i 施行归纳法,i=0 时结论显然成立。设对 i=n 时,结论成立,即对每一个点 vSn , d(vs , v)=P(v)。现在考查 i=n1 时,因 Sn+1=
25、Snvjn,所以只要证明 d(vs , vjn)=P(vjn) 。根据算法, vjn 是这时的具最小 T 标号的点,即: 这里为了清晰起见,用 Tn(v) 表示当 i=n 时执行步骤(3)时点 v 的 T 标号。假设 H 是 D 中任一条从 vs 到 vjn 的路,因为 vsSn ,而 vjnSn , 那么从 vs 出发,沿 H 必存在一条弧,它的始点属于 Sn ,而终点不属于 Sn 。假设 (vr , vl) 是的一条这样的弧,即: jnSvjnvTvTnjn min H =(vs , , vr , vl , , vjn) W(H)=w(vs , , vr) + wrl + w(vl , ,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 网络 优化 幻灯片
限制150内