数学建模——第一章 最短路问题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.1.2 图的矩阵表示(本节假设图为简单图) 1.关联矩阵 定义4 对于(p,q)无向图G,其关联矩阵 M=(mij)p×q,其中: 1 若vi与ej相关联 mij 0 若vi与ej不关联 对于(p,q)有向图D,其关联矩阵M=(mij)p×q, 其中: 1 若vi是ej的起点 mij 1 若vi是ej的终点 0 若v 与e 不关联 i j
2.邻接矩阵 定义5 对于(p,q)无向图G,其邻接矩阵 A=(aij)p×p,其中: 1 若vi与vj相邻 aij 0 若vi与vj不相邻 对于(p,q)有向图D,其邻接矩阵A=(aij)p×p,其 中: 1 若<vi,vj>∈E(D) aij 0 若<vi,vj> E(D)
注:图的自然语言定义 定义. 图论中的图是指表示具体事物的集合V和 事物之间的关系集合E所组成的偶对。集合V中 的元素称为图的顶点,集合E中的元素称为图的边。
1.图的定义: (1)定义1:有序二元组G=(V,E)称为一个图,其中: ①V={v1,v2, …,vn}是有限非空集合,称为顶点集,其中 的元素叫做图G的顶点; ②E是V中元素组成的二元偶对的多重集合,称为边集,其 中的元素称为边.(注意:元素允许重复) 注:1.简言之:一个图是由表示具体事物的集合和表示 事物之间的关系的集合组成的偶对。 2.可以用平面上的几何点表示图的顶点,用直线段或者 曲线段表示图的边,那么一个图可以用几何图形来表示, 这也是称为图的原因,但它与几何图形有本质的区别。 3.顶点用空心小圆圈表示。边的长短、曲直、粗细、位 置等都不影响图的本质,边只是表示两个研究对象之间 是否存在某中关系而已。
1.2.2 固定起点的最短路 最短路有一个重要而又明显的性质;最短路是 一条路径,且最短路的任一段也是最短路. 假设在u0→v0的最短路中只取一条,则从u0到 其余顶点的最短路将构成一棵以u0为根的树.因 此可采用树生长的过程来求指定顶点到其余顶点 的最短路,实现这一过程的方法是Dijkstra算法.
(4)设V是图G=(V,E)的顶点集合的一个非空 子集,以V作为顶点集合,以两个端点均在V中 的边为边集的子图称为由V导出的G的子图, 记作G[V] 注:1.导出子图G[V/V],记为G-V,它是从G中 去掉V中的顶点,以及与这些顶点相关联的边 所得到的子图. 2.特别地,若V={v},则把G-{v}简记成G-v, 称为主子图. (5)设E是图G=(V,E)的边集合的一个非空子 集,以E中的边为边集, 以E中的边的全部顶点 作为顶点集合的子图称为由E导出的G的子图, 记作G[E]
(2)在图G中,与V中的有序偶<vi,vj>对应的 边e称为图G的有向边(或弧),vi称为e的起 点,vj称为e的终点. 而与V中顶点的无序偶(vi,vj)相对应的边e,称 为图G的无向边. 每条边都是有向边的图称为有向图,每条边都 是无向边的图称为无向图,既有有向边又有无 向边的图称为混合图. (3)若将图G的每条边e(或每个顶点v)都对应 一个实数w(e)(或w(v)),则称w(e)(w(v))为 该边(顶点)的权,并称图G为赋权图. 注:一般:用 (也用n或p表示) 和 (也用 m或q表示)分别表示图G的顶点数和边数.
2. G1和G2的交,记作G1∩G2:由G1和G2中公 共边组成的图. 3. G1和G2的差,记作G1-G2:由G1中去掉G2中 的边组成的图. 4. G1和G2的环和,记作G1G2:在G1和G2的 并中去掉G1和G2的交所得到的图,即: G1G2=(G1∪G2)-(G1∩G2) =(G1-G2)∪(G2-G1)
2.顶点的次数 定义2:(1)无向图G=(V,E),任意v∈V(G),与 v关联的边数称为v的次数(度数),记 为:d(v)(或deg(v)) (2)有向图D=(V,A),任意v∈V(D),以v为起点 的弧的数目称为v的引出次数(出度),记为 d+(v),以v为终点的弧的数目称为v的引入次 数(入度),记为d-(v):而d(v)=d+(v)+d-(v)称 为v的次数(度数).
(7)设图G=(V,E)为无向图,若能将V分成X和Y (XY=V,XY=),使得G中的每条边的两 个端点都是一个属于X,另一个属于Y,则称G为 二部图(或称为二分图、二元图、偶图等),称 X和Y为互补顶点子集,常将二部图G记为 (X,Y;E). 又若G是简单二部图,X中每个顶点均 与Y中所有的顶点相邻,则称G为完全二部图, 记为Km,n,其中m=|X|,n=|Y|. 注:|E(Km,n)|=mn (8)若G的一条边e是无向边,其端点为v1,v2,则 记:e=(v1,v2)或(v2,v1);若e为弧,则记 e=<v1,v2>(不能记为:<v2,v1>)
对于有向赋权图G,其邻接矩阵A=(aij)p×p,其 中: wij 若<vi,vj>∈E(G),且wij为其权 aij 0 若i=j 若<v ,v >∈E(G), i j 称A为带权邻接矩阵. 注:无向赋权图的带权邻接矩阵可类似定义.
例:
v1
e5 v4 7 e1 2 e2 3 e3 8 e4 v3 v2
注:1.在边集E(G)中删去子集E的全部边得到 的G的生成子图(注意:删去一条边时,该边的两 个顶点仍然保留),记作: G-E.类似地,在G上 增加一个边集E所得到的图记作:G+E. 2.特别地,若E={e},则把G-{e}和G+{e}简 记成G-e和G+e. 注:G是一个无向图,G的一条边e=(u,v)称 为被收缩,是指把边e删去并把它的两个端点 u,v合并成一个新顶点w,G中原来与u,v关联 的所有边都与新顶点w关联。
设G为赋权有向图或无向图,G边上的权均非负: Dijkstra算法:G为(p,q)图: (1)令l(v0)=0(l(vi)表示从起点v0到vi的最短 路长),当v≠v0,令:l(vi)=∞,S0=v0,i=0; (2)对每一个u∈Si,用 min{l(u),l(vi)+l(vi,u)}代替l(u),算出 min{l(u)|u∈Si},设vi+1是达到这个极小值 的一个顶点,令Si+1=Si∪ {vi+1};其中Si=VSi表示Si的补集. (3)如果i=p-1,则停止,如果i<p-1,由i+1代替 i,返回(2).其中p为图的阶数.
e3
v3
定义3 (1)设P(u,v)是赋权图G中从u到v的路径, 则称:
W ( P)
eE ( P )
w(e) 为路径P的权(长).
(2)在赋权图G中,从顶点u到顶点v的具有最小权 的路P*(u,v),称为u到v的最短路. 定义4 G(V,E)为无向连通图,对于G的一条边e, 若G-e不连通,则称e为G的一条割边;对于G的一 个顶点v,若G-v不连通,则称v为G的一个割点.
2 0 8
0 5
3 0
1.2 最短路问题及其算法
1.2.1 基本概念 定义1 在无向图G=(V,E)中: (1)顶点与边的有限非空交替序列 w= v0e1v1e2…ekvk称为一条从v0到vk的通路,
记为: Wv v ,其中:ei的端点是vi-1,vi; (2)边不重复的通路称为道路,记为 Tv v ; (3)顶点不重复(边自然不重复)的通路称为路径, 记为 P v . v
例1:无向图G:V(G)={v1,v2,v3,v4} E(G)={e1,e2,e3,e4,e5}
v1 e1 e3 v2
e4 e2
G 其中:e1=(v1,v2),e2=(v1,v3),e3=(v1,v4), e4=(v1,v4),e5=(v4,v4)
v3
v4
e5
例2:有向图: D:V(D)={v1,v2,v3,v4} A(D)={e1,e2,e3,e4,e5}
0 k
0 k
0 k
定义2 (1)任意两点间均有通路的图称为连通图; (2)起点和终点重合的路径称为圈;顶点数位奇数 的圈称为奇圈,顶点数位偶数的圈称为偶圈。 (3)连通而无圈的图称为树. 例如:
v1 e1
v2
e5
e4 e6 e2
v4
通路:v1e4v4e5v2e1v1e4v4 道路:v1e1v2e5v4e6v2e2v3e3v4 路径:v1e1v2e5v4 圈:v1e1v2e5v4e4v1
定理1:(握手定理)一个图G=(V,E),有m条边, 则所有顶点的次数之和是2m(边数的二倍).即: d (v) =2m
vV ( G )
推论1:任何图中次数为奇数的顶点个数必为偶 数.
3.子图 定义3:(1)G=(V,E), G=(V,E)是两个图, G是G的子图记为:GG ,如果:V(G)V(G), E(G)E(G),此时:G称为G的母图. (2)设GG,并且VV或EE,称G为G的真 子图 注:简言之:若GG 但G不等于G,称 G为G 的真子图 (3)若GG且V=V,则称G为G的生成子图 (支撑子图),G称为G的生成母图(支撑母图).
例:
v2
v1
v1
v2
v3
v3
v4
d(v1)=4,d(v3)=3;d-(v1)=1,d+(v1)=2, d-(v4)=3,d+(v4)=2 注:计算顶点的次数时,环算作两次. Df:在无向图中:度数为0的顶点称为孤立点; 度数为1的顶点称为悬挂点,与悬挂点关联的边 称为悬挂边;所有顶点度数相同的图称为正则图, 度数为k的正则图称为k-正则图。
第一章 最短路问题
1.1.1 图的概念 0.图论的产生:哥尼斯堡七桥问题 早期图论与“数学游戏”有密切关系。普 鲁士的哥尼斯堡城有一条普莱格尔河,河中有 两个小岛,有七座桥把普莱格尔河中的两个小 岛与两河岸联结起来。如下图:
1736年,L.Euler(1707-1783)
上面的例子还可以这样来看:令 V={小岛A,小岛B,C岸,D岸} E={连接V中两元素间的桥} 从而以V中的元素为顶点,以E中的元素为线, 就可以构造出如图所示的图形。这就是图论中的 图。
v1 e1 e3 v2
e2
e4
D e1=<v1,v2>,e2=<v1,v3>,e3=<v1,v4>, e4=<v4,v2>,e5=<v4,v3> 注:一般用G表示无向图,D表示有向图,且记 为:G(V,E);D(V,A).
e5
v3
v4
常用术语: (1)端点相同的边称为环(自环),如G中的边e5; (2)若一对顶点之间有两条以上(有向边时方向 相同)的边联结,则这些边称为重边; (3)一条边的两个端点称为相邻,有一个公共端 点的边称为相邻的边; (4)边和它的端点称为互相关联的; (5)无环无重边的图称为简单图; (6)任意两个顶点都相邻的简单图(无向图)称 为完全图(完备图).有n个顶点的完全图记为Kn. 显然:|E(Kn)|=n(n-1)/2
则
1 0 0 0 1 1 1 0 1 0 M (G ) 0 0 1 1 0 0 1 1 0 1
5
带权邻接矩阵为:
0 A 7
0 0 A(G ) 0 1
1 0 1 0
0 0 0 1
0 1 0 0
百度文库
4.图的运算: 设G1和G2是两个图,若G1和G2无公共顶点,则称 它们是不相交的;若G1和G2无公共边,则称它们 是边不重的. 设G1和G2是两个无孤立点的图: 1. G1和G2的并,记作G1∪G2:由G1和G2中所有 边组成的图. 注:1.若G1和G2是边不重的,则G1∪G2称为G1和 G2的边不重并 2.在构造两个图的并时,必须首先确定G1的哪些 顶点可以和G2的顶点等同起来.因为相同的顶点 在并中只能出现一次.