当前位置:文档之家› 图论基本概念

图论基本概念


许多优化问题都等价于在一个图中寻 找最短路。例如,管道的铺设、线路的安 排、厂址的选取和布局、设备的更新等。 最短路问题一般归为两类:一类是求 从某个顶点到其他顶点的最短路径,可用 Dijkstra算法求解; 另一类是求图中每一对 顶点间的最短路径,可用Floyd算法求解。 Dijkstra 算法和Floyd 算法既适用于无 向图,也适用于有向图。
例1 已知图Leabharlann 的邻接矩阵为0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0
求图G的关联矩阵。 结果为
1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 1
0 0 1 1
例2 已知图G的关联矩阵为
间的区别? 14. 如何利用程序判定Euler图以及Hamilton 图? 15. 如何理解网络流、网络最大流、最小费 用最大流? 16. 如何应用Ford - Fulkerson算法、Dinic算 法及 Busacker- Gowan算法求解最大流、最 小费用最大流?
图论模型及其Matlab程序
3.3 用程序incToadj.m 和 diincToadj.m实现 上题中邻接矩阵和关联矩阵的相互转化。
3.4 写出下列网络的邻接矩阵:
二、最短路问题
最短路问题是计算机、运筹学、地理 信息科学等领域的研究热点之一。在数学 建模中,时常出现各类最短路问题。 最短路问题是指:若从图中的某一顶 点(源点) 到达另一顶点 (终点) 的路径不止 一条,如何寻找一条路径,使得沿此路径 各边上的权值总和 (源点到终点的距离) 最 小,这条路径称为最短路径。
1.5 路径 路径是图论中一个很重要的概念。 在图G(V,E)中, 若从vi出发,沿着一些 边经过顶点vp1,vp2,…,vpm,到达顶点vj,则 称顶点序列(vi,vp1,vp2,…, vpm,vj)为从顶点vi 到vj的一条路径或通路。 路径中边的数量称为路径的长度。 若路径中各顶点vi,vp1,vp2,…,vpm,vj均互 相不重复,则称之为简单路径。

8. Dijkstra算法和Floyd算法各适用于哪一类 最短路问题? 9. 如何应用程序实现Dijkstra算法和Floyd算 法,怎样理解、改进输出结果? 10. 如何理解树、生成树、最小生成树? 11. 如何应用程序求解最小生成树? 12. 什么叫环游、最优环游、Euler环游、 Hamilton环游、Euler图、Hamilton图? 13. 如何理解中国邮递员问题和旅行商问题
若路径中第一个顶点 vi 与最后一个顶 点vj重合,则称此路径为回路。 除第一个和最后一个顶点外,没有顶 点重复的路径称为简单回路。 例如,
在G1中,(0,1,4,3)为0到3的一条路径, 且为简单路径, 长度为3;在G2中, (2,4,1,5) 为2到5的一条路径, 长度也为3, 而(4,3,2,4) 为一简单回路。
图论是数学的一个分支,以图为研究 对象。图论中的图是由若干个给定顶点及 若干条连接两个顶点的边所构成的图形, 这种图形通常用来描述某些事物之间的某 种特定关系,用顶点代表事物,用连接两 个顶点的边表示相应两个事物间具有这种 关系。这种图提供了一个很自然的数据结 构,可以对自然科学和社会科学中许多领 域的问题进行恰当的描述或建模,因此图
2.3 网络的邻接矩阵 对于网络G(V,E),邻接矩阵A=(aij)n的 定义为
w i, j , i ! j i , j or (i , j ) E , aij , i ! j i , j or (i , j ) E , 0, i j,
1.6 权值与网络 某些图的边具有与之相关的数,称为 权值。这些权值可以表示从一个顶点到另 一个顶点的距离、时间、代价等。 若一个图的所有边都具有权值,则称 之为加权图或网络。 根据图中的边是否有向,网络又可以 分为有向网和无向网。 网络也可以用G(V,E)表示,其中边集
E中的每个元素有3个分量:边的两个顶点 和权值。 例如,下面两图分别为无向网和有向 网:
论研究越来越得到这些领域的专家和学者 的重视。 图论最早的研究起源于瑞士数学家欧 拉,他在1736年成功地解决了哥尼斯堡七 桥问题,从而开创了图论的先河。
在此后的200多年时间内, 图论的研究 从萌芽阶段,逐渐发展成为数学的一个新 分支。20世纪70年代以后,由于高性能计 算机的出现,使大规模图论问题的求解成 为可能。目前,图论理论已广泛应用于运 筹学、计算机科学、电子学、信息论、控 制论、网络理论、经济管理等领域。
由于图论有着丰富的算法和广泛的应 用,所以一直以来图论问题在信息类竞赛 中占有较大比重。例如,在著名的ACM/ ICPC程序设计竞赛中, 图的遍历、最小生 成树、最短路径、网络流、匹配问题、图 的连通性、图着色等都是常见问题。 数学建模竞赛中的图论问题不及ICPC 中的普遍,难度也不大。
本讲主要介绍图的一些基本概念及存 储方法、最短路问题、最小生成树问题、 可行遍性问题、网络流问题及其Matlab程 序。 本讲要求学生理解图论的基本概念; 掌握图的邻接矩阵表示方法;能较为熟练 地根据实际问题正确地建立图论模型,并 利用相应的Matlab程序求解;不要求理解 算法,编写程序。
1, vi 是e j的始点, mij 1, vi 是e j的终点, 0, vi 与e j 不关联,
1 1 0 A 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0
1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 1 0 0 1 1
求图G的邻接矩阵。 结果为
0 1 1 1 1 0 1 1 1 1 0 1
1 1 1 0
3. 作业与上机练习
3.1 理解图的基本概念及存储方法; 3.2 写出下列两图的邻接矩阵和关联矩阵:
2012数学建模培训
第6讲 图论模型及Matlab程序
“图论模型及其Matlab程序”学习内
1. 如何理解图、无向图、有向图? 2. 如何理解顶点与顶点及边的关系? 3. 如何理解加权图? 4. 如何确定图的邻接矩阵和关联矩阵? 5. 如何确定网络的邻接矩阵? 6. 如何应用程序实现邻接矩阵和关联矩阵 的转化? 7.什么是最短路径问题,通常有几类?
例如,左图为完全图,右图为完全有 向图。
1.4 顶点与顶点、顶点与边的关系 在图论中,顶点与顶点、顶点与边的
关系是通过“邻接(Adjacency)”这个概念来 表示的。 在无向图G(V,E)中,若(u,v)是图中的 一条边,则称u和v互为邻接顶点,边(u,v) 依附于u,v,或称(u,v)与u,v相关联。 在有向图G(V,E)中, 若<u,v>是图中的 一条边,则称u邻接到v,v邻接自u,(u,v) 与u,v相关联。
(1) 设置两个顶点集合T和S; ① S中存放已找到最短路径的顶点, 初始时,S中只有u0; ② T中存放当前尚未找到最短路径的 顶点; (2) 在T中选取当前长度最短的一条最 短路径(u0,…,uk),从而将uk加入S,并修改 u0到T中各顶点的最短路径长度。重复这一 步骤,直到所有顶点都加入到S中。
1 1 0 A 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 1 1 0
对有向图G(V,E),类似地定义
2. 图的存储方法
图的存储方法有多种,最常用的存储 方法是邻接矩阵和关联矩阵。 2.1 邻接矩阵 设无向或有向图G(V,E),V={v1,v2,…, vn},E={e1,e2,…, em}。用aij表示vi,vj间的边 数,即
1, v , v E 或 v , v E , i j i j aij 否则, 0,
一、图的基本概念与图的存储
1. 图的基本概念
图论的一个特点就是概念特别多。 这里只介绍一些基本的概念,其它概 念在后面用到时再补充介绍。
1.1 图 图是由顶点集合和边的集合组成的数 据结构,通常用G(V,E)来表示,其顶点集 合和边的集合分别用V(G)和E(G)表示。
例如,右图所示的图 可表示为G(V,E)。其中, V(G)={0,1,2,3,4,5}, E(G)={(0,1),(0,2),(1,2),(1,3), (1,4),(1,5),(2,3),(2,4),(3,4)}。 1.2 无向图与有向图 所有边都没有方向的图称为无向图, 如1.1中的图;每条边都有方向的图称为有 向图,通常用<u,v>表示从u到v的有向边。
当顶点数较大时, 经典Dijkstra算法的 运行效率较低。为此,研究人员陆续提出 了两个改进算法:DijkstraI和DijkstraII。 1.3 Dijkstra算法程序及实例 Dijkstra算法及其两个改进算法的程序 分别见Dijkf.m,dij1.m和dij2.m。 在Dijkf 中,输入为问题的邻接矩阵, 输出为3个向量:d, index1, index2。其中di 为由源点到第i个顶点的最短距离;index1
例如,对于右图所示 的有向图G(V,E),V(G)= {0, 1, 2, 3, 4, 5, 6}, E(G)= {<0,1>,<1,2>,<1,4>,<1,5>, <2,4>,<3,2>,<4,1>,<4,3>,<5,6>}。 1.3 完全图 任何一对顶点都有一条边的图称为完 全图;任何一对顶点u,v都有<u,v>和<v,u> 两条有向边的图称为完全有向图。
相关主题