04第四章 图论方法建模2

合集下载

图论模型的构建

图论模型的构建
为此,我们必须寻找解决问题的更好途径。
【方形柱体堆砌问题分析】
对符合要求的方形柱体来讲,交换任意两个正 方体的上下位置,得到的方形柱体仍是符合要求的, 即它的4个侧面都有4种颜色。它的每一对对面由4 个正方体各一个对面组成,因此问题的要素是4个正 方体各3个对面的颜色的构成,于是从每个对面的着 色考虑。用字母b,g,r,y分别表示蓝、绿、红、黄4种 颜色,并作为图的4个 顶点,4个正方体的各三个对 面依各对面的颜色连以边,并分别标以e1、e2、e3、 e4,比如第一个正方体有一对面着蓝、黄两色,则 从顶点b到y引一条边标以e1,另两对面为红对红、红 对绿,故联结r,e和r,g,均标以 e1。同样地根据第二、 三、四正方体的各对面着色分别连以边并分别标以 e2 、e3、e4。则得图G,如图1—3所示。
si<si+p
(0≤i≤n-p)
si+q<si
(0≤i≤n-q)
【奇怪的数列分析】
下面,我们把每个si抽象成一个点,则根据上述两个不 等式可以建立一个有向图,图中共有n+1个顶点,分别 为s0,s1,……,sn。若si>sj(0≤i,j≤n),则从si往sj 引出一条有向边。例如对于n=6,p=5,q=3的情况, 我们可以建立图4
begin
if i+p<=n then begin
g[i+p,i]=1;
d[i]=d[i]+1;
end;
if i+q<=n then begin
g[i,i+q]=1;
d[i+q]=d[i+q]+1;
end;
end;
【奇怪的数列分析】
显然,按照上面的定义,如果建立的图可以拓扑排序,其 顶点的拓扑序列可以对应满足条件的整数数列;反之,不 存在这样的整数数列。 算法框架为:

图论方法

图论方法

算法的基本思想
直接在图的带权邻接矩阵中用插入顶点的方法 依次构造出 个矩阵 D(1)、 D(2)、… 、D( ),使最 后得到的矩阵 D( )成为图的距离矩阵,同时也求出 插入点矩阵以便得到两点间的最短路径.
返回
算法原理—— 求距离矩阵的方法
( 把带权邻接矩阵 W 作为距离矩阵的初值,即 D(0)= (d ij0) ) =W
G 的图解如图
V={v1 ,v2 , v3 , v4}, E={e1, e2 , e3, e4, e5},
定义2在图 G 中, V 中的有序偶(vi, vj)对应的边 e , 与 称为图的有向边
(或弧) 而与 V 中顶点的无序偶 vivj 相对应的边 e , , 称为图的无 向边.每一条边都是无向边的图,叫无向图;每一条边都是有向 边的图,称为有向图;既有无向边又有有向边的图称为混合图.
数学建模的图论方法
图论的基本概念
一、 图 的 概 念 1.图的定义 2.顶点的次数
3.子图
二、 图 的 矩 阵 表 示
1. 关联矩阵
2. 邻接矩阵
返回
图的定义
定义1 有序三元组G=(V,E, )称为一个图,如果: [1] V= {v1 , v2 ,, vn } 是有限非空集,V 称为顶点集,
其中的元素叫图 G 的顶点. [2] E 称为边集,其中的元素叫图 G 的边. [3] 是从边集 E 到顶点集 V 中的有序或无序的元素 偶对构成集合的映射,称为关联函数. 例1 设 G=(V,E, ),其中
(e1 ) v1v2 , (e2 ) v1v3 , (e3 ) v1v4 , (e4 ) v1v4 , (e5 ) v4v4 .
定义3 若将图 G 的每一条边 e 都对应一个实数 w ( e ),则称 w ( e )为边的

[高等教育]图论方法建模

[高等教育]图论方法建模

四、匹配问题
例1 求二部图G中的最大匹配。
X1
X2
X3
X4
Y1
Y2
2019/5/13
Y3
Y4
四、匹配问题
M
xS
B
{x2y2,x3y3} x1 {x1}

{x1,x2} {y2}
{x1y2,x2,y x4 {x4}

1,x3y3}
{x4,x1} {y2}
N(s) y N(S) B yu M P
2019/5/13
五、旅行商问题
Euler图和Hamilton图
定义 经过G 的每条边的迹叫做G 的 Euler 迹;闭的 Euler 迹叫做 Euler 回路或 E 回路;含 Euler 回路的图叫做 Euler 图。
定义 包含G 的每个顶点的轨叫做 Hamilton(哈密顿)轨;
闭的 Hamilton 轨叫做 Hamilton 圈或 H 圈;含 Hamilton 圈的图
{y2} y2饱和 y2x2 点
{y1,y2,y y1非饱
4}
和点
x1y2x 2y1
{y2,y3} y2饱和 y2x1
{y2,y3} y3饱和 y3x3
{x4,x1, {y2,y {y2,y3} N(s)=B 结束
x3}
3}
2019/5/13
四、匹配问题 • 最大匹配就是:
X1
X2
X3
X4
Y1
Y2
<<a(1,2)=50; a(1,3)=60; a(2,4)=65; a(2,5)=40; a(3,4)=52;a(3,7)=45; a(4,5)=50; a(4,6)=30;a(4,7)=42; a(5,6)=70; <<leasttree_2(a)

数学建模中的图论方法

数学建模中的图论方法
它们 的研 究 方法 上 又有 着 很 大 的不 同 , 如 我 们 可 以运 用 典 例
出最 少 。
使用不 同时间设备所需 的维修费分别为 56 , , 。 ,, 1 1 8 18 建立最短路模型 1 2: b表示设备在第 f 图 , ) 图 设 年年 初的购买费 , 表示设 备使用 年后 的维修 费, ={ % c
作者简介 : 艾素梅( 5 一 , 河北沧州人 , 州师范学院数学 系主任 、 。  ̄ 8 )女, 9 沧 教授
9 ・ 8

从 上 图 中 容 易 得 到 l 到 6只 有 两 条 路 : / 6和 J3 )
V” , 146而这两条路都是 l 到 6 的最短路。
2 网络流 问题
对 1 ≤m,ol 必为 G中从 。 ≤k … 到 的最短路 : 最短路
是一条路 , 且最短路 的任一段 也是最短路 。
1 例 题 . 2
例 1 ( 设备更新问题 ) 某企业使用一台设备 , 每年年初 ,
图2
收 稿 日期 : 1—1—2 20 0 5 0
基金项 目: 河北省教育厅 2O 年度科研计划项 目“ 3 9 高职 高专数学建模教学和实践 的探 索”。

G中 任 一边 野 有 流量 ,称集 合 厂=

}为 网络 G上 的
个流。
定义 4 满足下述条件的流 厂 称为可行 流 : 1( )容量限制条件) 对每一边 甜, 0 ≤ ; 有 ≤
2( )平衡条件) 于中间点 有 对 的输入量 :输出量。 如果 ,是可行 流, 则对收、 发点 、 有 2f = , = , = , 即中间点
第 2 卷第 4 I 5 期
l年 l 0 2月

图论算法总结及图论建模

图论算法总结及图论建模

else if (v in S)
// 如果节点v还在栈内
Low[u] = min(Low[u], DFN[v])
if (DFN[u] == Low[u])
// 如果节点u是强连通分量的根
repeat
v = S.pop
// 将v退栈,为该强连通分量中一个顶点
print v
until (u== v)
}
算法演示
边的分类
一条边(u, v)可以按如下规则分类
• 树边(Tree Edges, T): v通过边(u, v)发现 • 后向边(Back Edges, B): u是v的后代 • 前向边(Forward Edges, F): v是u的后代 • 交叉边(Cross Edges, C): 其他边,可以连接同一个DFS树中没
1. 2. procedure tarjan(u:longint); var p:node; v:longint; begin f[u]:=false;inc(top);stack[top]:=u; instack[u]:=true;p:=head[u]; inc(time);dfn[u]:=time;low[u]:=time; while p^.key<>u do begin v:=p^.key; if f[v] then begin tarjan(v); low[u]:=min(low[u],low[v]);
tarjan(j); if (LOW[j]<LOW[i])
LOW[i]=LOW[j]; } else if (instack[j] && DFN[j]<LOW[i])
LOW[i]=DFN[j]; }
if (DFN[i]==LOW[i]){ Bcnt++; do { j=Stap[Stop--]; instack[j]=false; Belong[j]=Bcnt; } while (j!=i);

数学模型课件图论方法建模2

数学模型课件图论方法建模2

§9.2 循环比赛的排名问题问题:n 支球队参加循环比赛,两两交锋,一场决胜,不容平局,“0、1”打分。

如何排名?1.竞赛图:每对顶点之间有且只有一条有向边相连的有向图;有向边指向负方。

2.路径与完全路径:称有向图),(E V G 的一个顶点序列ki i i i v v v v 210为图),(E V G 的一条步长为k 的路径,若满足:对k j k ≤≤∀1,,均有E v v j j i i ∈-1;若还满足ki i v v =0,则称之为图),(E V G 的一条步长为k 的回(或闭)路径。

而若顶点集V 的一个全排列1210-n i i i i v v v v 构成图),(E V G 的一条路径,也称之为图),(E V G 的一条完全路径。

● 图1中:6431v v v v 、16431v v v v v 、1654321v v v v v v v 、654321v v v v v v ●子路径、闭的完全路径3.定理:任一)2(≥∀n n 阶竞赛图),(E V G 都存在完全路径。

证明(数学归纳法):1:2=n 时,如图3-0,命题真;2:设k n =时命题真;3:当1+=k n 时,设{}121,,,+=k k v v v v V 为顶点集,记{}k v v v V ,,21~=,~G 为图),(E V G 关于{}k v v v V ,,21~=的生成子图;由归纳假设2,在~G 中存在完全路径,不失一般性,设k k v v v v 121...-为~G 中的一条完全路径,考虑顶点1+k v 与{}k v v v V ,,21~=的邻接关系,有如下三种情形:图3-1:k k k v v v v v 1211...-+为G 中的一条完全路径;图3-2:1121...+-k k k v v v v v 为G 中的一条完全路径图3-3:k k i k i v v v v v v v 11121......-+-为G 中的一条完全路径。

数学建模中图论方法

数学建模中图论方法
的一个完备匹配,此时若 V1 V2 ,则称M为V1到V2的一个 完备匹配;若V1 V2 M ,则称M是G的一个完美匹配.
第15页/共39页
数学建模中的图论方法----综合例题
3.综合例题 例1 证明任意六个人的集会上,总会有三人互相认识或 者不认识. 证明 这是1947年匈牙利数学竞赛出的一道试题,因为它 很有趣且很重要,后来曾收录到《美国数学月刊》及其它 数学刊物上。这类问题可以转化为图论中的完全图染色问 题.
最低。 数学模型:在一个连通加权图上求权最小的连通生成
子图,显然,即求权最小的生成树,称最小生成树。
Kruskal算法(避圈法)1956年
设G为由n个顶点、m条边构成的加权连通图。先将G中
所有的边按权的大小次序进行排列,不妨
设e1 e2 em ,
ⅰ k 1, A ;
ⅱ 若Ae 导出的子图不含回路,则A Ae;
从它们所在的结点出发,走过图中的所有边最后到达结
点e处。如果他们的速度相同,问谁先到达目的地?
第12页/共39页
数学建模中的图论方法----图论的基础知识
哈密尔顿回路,起源于一个名叫“周游世界”的游戏, 它是由英国数学家哈密尔顿(Hamilton)于1859年提出的。 他用一个正十二面体的20个顶点代表20个大城市(图 (a)),这个正十二面体同构于一个平面图(图(b))。要
a
b
f
a
b
e
c
e
d
c
d
(1)
第11页/共39页
(2)
数学建模中的图论方法----图论的基础知识 a
D
E
b
e
C
F
G
A
B
c
d

数学建模方法之图论模型

数学建模方法之图论模型
2) 在有向图中,从顶点v引出的边的数目称为顶点 v的出度,记为d+(v),从顶点v引入的边的数目称为 v的入度,记为d -(v). 称d(v)= d+(v)+d -(v)为顶点v的 度或次数.
定理 d (v) 2.
vV
推论 任何图中奇点 的个数为偶数. d (v1) 4
d (u3) 1
d (u3) 2
一个顶点记为 ui1,置 Si1 Si {ui1}.
3) 若 i 1,则停Hale Waihona Puke ;若 i 1,则用 i+1 代
替i,并转2).
S0 {u0},l(u j ) , j 1,2,...,7.
u1 S0 l(u1) min{,0 1}
Dijkstra算法: 求G中从顶点u0到其余顶点的最短路.
G[{v1,v2,v3}] G[{e3,e4,e5,e6}]
3) 若 V V,且 V ,以 V 为顶点集,以两端点 均在V 中的边的全体为边集的图 G 的子图,称 为G的由V 导出的子图,记为 G[V ] .
4) 若E E,且 E ,以 E为边集,以 E 的端点 集为顶点集的图 G 的子图,称为 G 的由E 导出的
第二讲 图论模型
1. 问题引入与分析
2. 图论的基本概念
3. 最短路问题及算法
4. 最小生成树及算法

5. 旅行售货员问题

6. 模型建立与求解 下
1. 问题引入与分析
1) 98年全国大学生数学建模竞赛B题“最佳灾 情巡视路线”中的前两个问题是这样的:
今年(1998年)夏天某县遭受水灾. 为考察灾情、 组织自救,县领导决定,带领有关部门负责人到 全县各乡(镇)、村巡视. 巡视路线指从县政府 所在地出发,走遍各乡(镇)、村,又回到县政 府所在地的路线.

数学建模中的图论算法及其应用研究

数学建模中的图论算法及其应用研究

数学建模中的图论算法及其应用研究引言:数学建模是指利用数学方法和技巧对实际问题进行分析、抽象、描述、求解和预测的一种研究方法。

图论作为数学建模中的重要工具之一,被广泛应用于各个领域,如网络分析、交通规划、社交网络等。

本文将介绍数学建模中常用的图论算法,并探讨它们在实际问题中的应用。

一、图论基础知识1.1 图的概念图是由一些点和连接这些点的边组成的集合。

点表示图中的实体或对象,边表示实体之间的关系。

图包含了很多重要的信息,例如节点的度、连通性等。

1.2 图的表示方法图可以用邻接矩阵或邻接表来表示。

邻接矩阵是一个二维矩阵,其中的元素表示节点之间是否相连。

邻接表是一个由链表构成的数组,数组的每个元素表示一个节点,每个节点的链表存储了与该节点相连的节点列表。

二、图的遍历算法2.1 深度优先搜索(DFS)深度优先搜索是一种用于图的遍历的算法。

从一个节点出发,递归地访问它的相邻节点,直到所有可达的节点都被访问过为止。

DFS可以用于寻找连通分量、路径搜索等问题。

2.2 广度优先搜索(BFS)广度优先搜索是另一种图的遍历算法。

从一个节点出发,依次访问它的相邻节点,然后再依次访问相邻节点的相邻节点。

BFS可以用于寻找最短路径、网络分析等问题。

三、最短路径算法3.1 Dijkstra算法Dijkstra算法用于寻找图中两个节点之间的最短路径。

它基于贪心策略,从起点开始逐步扩展最短路径,直到到达终点或无法扩展为止。

Dijkstra算法在交通网络规划、电力网络优化等领域有广泛应用。

3.2 Floyd-Warshall算法Floyd-Warshall算法用于寻找图中所有节点之间的最短路径。

它通过动态规划的思想,逐步更新每对节点之间的最短路径。

Floyd-Warshall算法在地理信息系统、通信网络等领域有重要应用。

四、最小生成树算法4.1 Prim算法Prim算法用于寻找连通图的最小生成树。

它从一个起始节点开始,逐步选择与当前生成树距离最近的节点,并将其加入最小生成树中。

图论-数学建模

图论-数学建模

• 以各城镇为图G的顶点,两城镇间的直通铁路为 图G相应两顶点间的边,得图G。对G的每一边e, 赋以一个实数w(e) —直通铁路的长度,称为e的权, 得到赋权图G。G的子图的权是指子图G的各边的 权和。
• 问题就是求赋权图中指定的两个顶点u0 , v间0 的具最
小权的轨。这条轨叫做 u间0 , v的0 最短路,它的权
• 在下面数据结构的讨论中,我们首先假设 G(V,A) 是一个简单有向图 ,|V|n,|A|m,并假设V中的 顶点用自然数1,2,…n表示或编号,A中的弧用自 然数1,2,…m表示或编号。
(i)邻接矩阵表示法
• 邻接矩阵表示法是将图以邻接矩阵(adjacency matrix)的形式存储在计算机中。图G(V,的A)邻 接矩阵是如下定义的:C是一个n*n的0-1矩阵, 即
对于有向图 G(V,A),一般用 A(i) 表示节点 的邻接表,即节点的所有出弧构成的集合或链表 (实际上只需要列出弧的另一个端点,即弧的
头)。例如上面例子,A(1){2,3},A(5){3,4}等。
(v)星形表示法
• 星形(star)表示法的思想与邻接表表示法的思 想有一定的相似之处。对每个节点,它也是记录 从该节点出发的所有弧,但它不是采用单向链表 而是采用一个单一的数组表示。
• 一个图称为有限图,如果它的顶点集和边集都有
限。图的顶点数用符号 | V 或| 表(G示),边数用
| E或| 表 (示G)。
• 当讨论的图只有一个时,总是用G来表示这个图。 从而在图论符号中我们常略去字母G,例如:分别
用 V,E代,替 V(G )E ,(G )。,(G )
• 端点重合为一点的边称为环(loop)。
例2 公路连接问题
某一地区有若干个主要城市,现准备修建高速公 路把这些城市连接起来,使得从其中任何一个城 市都可以经高速公路直接或间接到达另一个城市。 假定已经知道了任意两个城市之间修建高速公路 的成本,那么应如何决定在哪些城市间修建高速 公路,使得总成本最小?

[高等教育]图论方法建模

[高等教育]图论方法建模

2018/11/24
四、匹配问题 例 指派问题
图的匹配
一家公司经理准备安排 N 名员工去完成 N 项任务,每人一项。由于各员工的特点不同, 不同的员工去完成同一项任务时所获得的回 报是不同的。怎样分配才能尽量的工作有人 做,更多的人有工作?
2018/11/24
x1 , x2 ,, xn
四、匹配问题 这个问题可以用图的语言描述。其中 x1 , x2 ,, xn 表示 工人, y1 , y2 ,, yn 表示工作,边 ( xi , y j ) 表示第i个人能 胜任第j项工作,这样就得到了一个二部图G,用点集 X表示{ x1 , x2 ,, xn },点集Y表示{ y1 , y2 ,, yn } ,二部 图G=(X,Y,E)。上述的工作分配问题就是要在图G中找 一个边集E的子集,使得集中任何两条边没有公共端 点,最好的方案就是要使此边集的边数尽可能多,这 就是匹配问题。
2018/11/24
三、最小生成树问题 例15 用Kruskal算法求右图的最小生成树。
<<a1=[1 2 50;1 3 60]; a2=[2 4 65;2 5 40]; a3=[3 4 52;3 7 45]; a4=[4 5 50;4 6 30;4 7 42]; a5=[5 6 70]; map=[a1;a2;a3;a4;a5] [out,len]=kruskal(map)
最大匹配
• 给定一个二分图G,在G的一个子图M中, M的边集{E}中的任意两条边都不依附于 同一个顶点,则称M是一个匹配。 • 选择这样的边数最大的子集称为图的最 大匹配问题。 • 如果一个匹配中,图中的每个顶点都和 图中某条边相关联,则称此匹配为完全 匹配,也称作完备匹配。
2018/11/24

图论方法建模2

图论方法建模2
2015/10/24
三、最小生成树问题
调用kruskal.m的m函数文件。
命令形式: [out,len]=kruskal (map) 功能:map是输入矩阵,
map=[起点1 终点1 边长1;起点2 终点2 边长2;............;起点n 终点n 边长n]
out—输出边阵:[起点 终点]; len—输出最小生成树的总长度; 并最终返回最小生成树的图形。
{x4,x1, {y2,y {y2,y3} x3} 3}
2015/10/24
N(s)=B
结束
四、匹配问题
• 最大匹配就是:
X1 X2 X3 X4
Y1
Y2
Y3
Y4
2015/10/24
四、匹配问题 调用pipei.m的m函数文件。 格式:[e,total]=pipei(d) 功能:d是二部图矩阵(0-1矩阵)。 e—输出匹配的路径; total—最大匹配的边数。
命令形式: [a,b]=mintreek (n,w) 功能:w是权矩阵,该矩阵中的主对角全部是inf; n是顶点数; a返回最小生成树的权的总长度,b是返回其具体 的节点。并最终返回最小生成树的图形。
2015/10/24
三、最小生成树问题 例13 用Kruskal算法求右图的最小生成树。
<<M=Inf;a1=[M,50,60,M,M,M,M]; a2=[50,M,M,65,40,M,M]; a3=[60,M,M,52,M,M,45]; a4=[M,65,52,M,50,30,42]; a5=[M,40,M,50,M,70,M]; a6=[M,M,M,30,70,M,M]; a7=[M,M,45,42,M,M,M]; w=[a1;a2;a3;a4;a5;a6;a7] <<n=7;[a,b]=mintreek(n,w)

数学建模--图论模型(2)

数学建模--图论模型(2)
数学建模 –图论模型(2)
数学与统计学院 李书选
shuxuanli@
2012/07/18
数学建模 –图论模型(2)
4. 最小生成树及算法 5. 旅行售货员问题 6. 中国邮递员问题

停 下
4.最小生成树及算法
1) 树的定义与树的特征 定义 连通且不含圈的无向图称为树.常用T表示. 树中的边称为树枝. 树中度为1的顶点称为树叶. 孤立顶点称为平凡树.
2)图的生成树
定义 若T是包含图G的全部顶点的子图,它又是树, 则称T是G的生成树. 图G中不在生成树的边叫做弦.
定理3 图G=(V,E)有生成树的充要条件是图G是连 通的.
证明 必要性是显然的.
充分性:任取 u1 V ,令集合V1 {u1},这时生成
( 树T 的边集 ET1) 为空集. 因为 G 是连通图, 点集V1与
取一圈{v1e1v2e6v5e8v3e2v1},去掉 e6 .
B 破圈法
例 用破圈法求出下图的另一棵生成树.
取一圈{v1e1v2e3v3e2v1}, 去掉 e3 ; 取一圈{v1e1v2e4v4e5v3e2v1},去掉 e4 ; 取一圈{v1e1v2e6v5e8v3e2v1},去掉 e8 ;
取一圈{v1e1v2e6v5e7v4e5v3e2v1}去掉 e6 ; 得到另一颗生成树.
仍能找到边 ei 满足其一端在点集Vi ,另一端在点
(i V \ Vi 中. 由于 ei 有一端在Vi 之外,所以Vi 与 ET ) 集
中的边不构成圈. 当 i n 时,得到
( Vn {u1, u2 ,...,un} V , ETn) {e1, e2 ,...,en1},
即图T
(n) 由定理 2 知, (V , ET ) 有 n 1条边且无圈,

数学建模图论讲

数学建模图论讲
如果任两顶点间最多有一条边,且每条边的两个端点皆 不重合的图,则称为简单图。
第2页1 /共86页
2024年8月3日
数学建模-图论
一、图的基本概念
如果图的二顶点间有边相连,则称此顶点相邻,每一对顶点
都相邻的图称为完全图,否则称为非完全图,完全图记为 K V 。
若V (G) X Y, X Y , X Y 0 ,且 X 中 无相邻的顶点对,Y 中亦然,则称图 G 为二分图.
第1行 1 A1i 第i行 1
11,A1i 2
2 2
22,A1i3
4 4
4 4
其中i=2,3,4,5,显然y1=1+(4+4+4+4-1) 4=61. 同理,计算y2时应考虑槽高只有2,21,23,24,25,
26时的情形,类似计算可得 y2=1+(4+4+4+4-1)×5=76.
于是,s=61×2+76×4=426,x=6306426=5880.
计算y1可分别考虑槽高只有1,12,13,14,15的 情形.若只有1,这样的锁具效只有1个, 若只有1和i(i=2,3,4,5),这样的锁具数=G中以1和i为 顶点,长度为3的道路数,此数可通过A的子矩阵A1i计 算得到.
第18页/共86页
数学建模-图论
二、图的矩阵表示(应用实例解法分析)
事实上,因为
间最短的路线。定义T*T=(t(2)ij),
3
4
t(2)ij=min{min1<=k<=5{tik+tkj},tij}, t(2)ij表示 从站点i到站点j的至多换乘一次的最短时间。
5
第22页/共86页
数学建模-图论
二、图的矩阵表示(应用实例及解法分析)

图论建模课件

图论建模课件

例如,对于右图所示 的有向图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> 两条有向边的图称为完全有向图。
v i X k v 'X k
X k v s , v1 , v 2 ,..., v k ,
Xk V \ Xk
使上式达到最小值的点v’ 可取为vk+1。 计算过程中可采用标号方法。 Xk中的点,ui 值是vs 到vi 的最短路长度,相应的 点记“永久”标号; XK中的点,ui值是vs到vi的最短路长度的上界, 相应的点记“临时”标号,供进一步计算使用。
u1 u2
u3 u4
0 3 7 8 u1 0 u 2 A 6 0 u3 4 0 u 4
对于无向赋权图的邻接矩阵可类似定义.
注意:如果图中存在环(连接某个顶点自身的边) 和重边(多条边的起点一样,终点也一样)的情形, 则无法用邻接矩阵存储。
图论的基本概念
问题1:七桥问题 能否从任一陆地出发通过每座桥恰好一次而 回到出发点?
C
A
B
D
哥尼斯堡七桥示意图
图论的基本概念
七桥问题模拟图: C
A
B
D
欧拉指出:如果每块陆地所连接的桥都是偶数座,则 从任一陆地出发,必能通过每座桥恰好一次而回到出 发地。

数学建模_图论方法

数学建模_图论方法

数学建模中的图论方法一、引言我们知道,数学建模竞赛中有问题A和问题B。

一般而言,问题A是连续系统中的问题,问题B是离散系统中的问题。

由于我们在大学数学教育内容中,连续系统方面的知识的比例较大,而离散数学比例较小。

因此很多人有这样的感觉,A题入手快,而B题不好下手。

另外,在有限元素的离散系统中,相应的数学模型又可以划分为两类,一类是存在有效算法的所谓P类问题,即多项式时间内可以解决的问题。

但是这类问题在MCM中非常少见,事实上,由于竞赛是开卷的,参考相关文献,使用现成的算法解决一个P类问题,不能显示参赛者的建模及解决实际问题能力之大小;还有一类所谓的NP问题,这种问题每一个都尚未建立有效的算法,也许真的就不可能有有效算法来解决。

命题往往以这种NPC问题为数学背景,找一个具体的实际模型来考验参赛者。

这样增加了建立数学模型的难度。

但是这也并不是说无法求解。

一般来说,由于问题是具体的实例,我们可以找到特殊的解法,或者可以给出一个近似解。

图论作为离散数学的一个重要分支,在工程技术、自然科学和经济管理中的许多方面都能提供有力的数学模型来解决实际问题,所以吸引了很多研究人员去研究图论中的方法和算法。

应该说,我们对图论中的经典例子或多或少还是有一些了解的,比如,哥尼斯堡七桥问题、中国邮递员问题、四色定理等等。

图论方法已经成为数学模型中的重要方法。

许多难题由于归结为图论问题被巧妙地解决。

而且,从历年的数学建模竞赛看,出现图论模型的频率极大,比如:AMCM90B-扫雪问题;AMCM91B-寻找最优Steiner树;AMCM92B-紧急修复系统的研制(最小生成树)AMCM94B-计算机传输数据的最小时间(边染色问题)CMCM93B-足球队排名(特征向量法)CMCM94B-锁具装箱问题(最大独立顶点集、最小覆盖等用来证明最优性)CMCM98B-灾情巡视路线(最优回路)等等。

这里面都直接或是间接用到图论方面的知识。

要说明的是,这里图论只是解决问题的一种方法,而不是唯一的方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第四章 图论方法建模20 第四章 图论方法建模图论是离散数学的重要分支,是研究离散问题的重要手段,已经建立起来了一些重要的理论和算法,虽然这些理论还不系统、不完备,但是能解决许多的实际问题。

不系统就没有太强的连贯性,这就使得学习起来较为方便,可以随意挑选适宜的内容去学习。

如果将要解决的实际问题归结为图论中的某些概念或某些算法,就可以利用图论中已有的理论,这样就可以较快的解决问题。

在国内外的大学生数学建模竞赛中,利用图论知识去建立数学模型的机会还是很多的。

限于时间与篇幅,我们在本章先学习一些图论知识,愿意深入学习的可以参阅有关的资料。

然后学习一个较为完整的数学建模例子。

§4.1 有关的图论知识——图、算法与矩阵一.图的定义例1.城市之间的运输通路问题A 城与B 城间有通路,为2公里,B 城与C 城间有通路,为1公里,C 城与D 城间有通路,为5公里,D 城与F 城间有通路,为3公里,F 城与A 城间有通路,为7公里,B 城与F 城间有通路,为6公里。

问A 城到D 城的最短路程为多少?用这么长的一段话来表述,听起来太累,想起来也不清楚。

若换一种方式,用下面的图4.1来描述该问题,看起来就清楚多了。

C图4.1由此我们引进图的定义。

定义1:称}),(),({G G E G V G ψ=为一个图,其中φ≠)(G V 叫做顶点集合,E(G)第四章 图论方法建模 21叫做边集合,φ=)()(G E G V I ,而G ψ是关联函数,使G的每条边对应于G的无序顶点对。

若,而,使得)(G E e ∈)(,G V v u ∈uv e G =)(ψ,则称与u 、相关联。

顶点和称为的端点,此时也称和相邻。

e v u v e u v 一个图常常简记为G=(V,E )或G (V,E ),这是因为边集E 中的任一 元素总是和某二顶点相连接的,所以V 、E 确定了,就可以了。

上述例子的图即为:G(V,E),其中V={A,B,C,D,F },E={e 1,e 2,e 3,e 4,e 5,e 6},e 1=AB, e 2=BC, e 3=CD, e 4=DF, e 5=FA, e 6=BF 。

说明:①这里用图表述城市间的运输通路问题很清楚,说明对这类问题,用图来表述是恰当的,“图”是一个强有力的表述工具。

②数学里有“图论”这门学科,一个问题用图表达后,可用图论的知识、算法等来解决此问题。

关于图论方面的知识可参阅有关的书籍、资料。

③若A为一集合,其元素个数记为:|A|。

如上例中的顶点集合和边集的元素个数分别为:|V|=5,|E|=6。

例2.哥尼斯堡(königsberg )七桥问题1736年以前,哥尼斯堡市民热中于一有趣的游戏,在如下图4.2所示的该市桥河图中,从A,B,C,D四块陆地某一处出发,通过每座桥恰好一次,再回到出发地,是否可能?1736年,欧拉(Euler )发表了图论的第一篇论文,证明了七桥问题无解.欧拉就是把A,B,C,D四陆地抽象成为四个点,桥用连接两点的线段表示,于是就得到一个图G(V,E)。

, },,,{D C B A V =},,,,,,{7654321e e e e e e e E =, 这里,e 1=AD, e 2=BD, e 3=CD, e 4=BC, e5=BC, e 6=AB, e 7=AB 。

定义2:图G(V , E)中顶点的度数是指顶点所连的边数。

图G 的度数为图G 中各顶点度数中的最大者。

记为或V v ∈)(v d v Δ)(G Δ。

说明:①七桥问题可归结为一笔画问题。

②关于一笔画问题有如下的结论:若图中每个顶点的度数都为偶数,则可从某点画完每条边,且回到起点。

第四章 图论方法建模22 若图中顶点的度数为奇数的顶点仅仅有两个,则可从此二点中的一个起始,画完每条边到达另一顶点(即不能回到起始点)。

③七桥问题的图中4个顶点的度数为奇数,由上面的结论知,不可能从出发点走完每条边恰好一次,又回到出发点。

定义3:一个图中任意两顶点之间至多有一边,则称之为简单图。

定义4:若图G(V ,E)中边有头尾之分,即E uv ∈vu uv ≠,则称之为有向图。

以后说“图”皆指无向图,要指有向图应特别说明。

并且若无特别说明,我们所说的图皆指简单图。

每对顶点都相邻的图称为完全图。

定理:对于简单图,有:),(E V G ∑∈=)(||2)(G V v E v d 。

二.最短路问题及其算法定义5:在G 中, 其中,...2110k k e v e v e v w =)(G E e i ∈,k i ≤≤1;)(G V v i ∈,;与、关联,称是从到的一条途径,也记为或。

若途径中的边,,……,互不相同,称为迹。

若的顶点,,…,也互不相同,则称为路。

k i ≤≤0i e 1−i v i v w 0v k v ),(0k v v w ),(0k v v 1e 2e k e w w 0v 1v k v w 上述例1中问题的一般提法为:给定连接若干城市的铁路网,寻找两个指定城市间的最短路。

这个问题用图论的语言来描述就是:已知图及每条边的权,对于任意指定的二点、,寻找路,使得),(E V G )(e w 0v )(0G V u ∈),(00u v P )}({)),((min 00P w u v P w P Ω∈=其中是从到的所有路的集合,是路Ω0v 0u )(P w P 上的各边权之和。

解决这一问题可用下面的Dijkstra 算法:(1):令;,;0)(0=v l ∞=)(v l 0v v ≠}{00v S =;0=i ;(2):对每个,用i S v ∉)}()(),(min{v v w v l v l i i +代替,计算)(v l )}({min v l iS v ∉,并把达到这个最小值的一个顶点记为,置1+i v }{11++=i i i v S S U 。

(3):若1−=V i ,则停止。

若1−<V i ,则用1+i 代替,并转入第二步。

i 说明:①当算法结束时,从到的距离(最短路的长度)由标号的终值给出。

即算法求出了至其它所有顶点的最短路的长度。

0v v )(v l 0v ②Dijkstra 算法仅确定了从到所有其它顶点的距离,而并未给出实际最短路。

实际最短路可以很容易确定。

0v ③若只是想计算某指定两点、的最短路(或最短距离)也较为容易求出。

0v 0u第四章 图论方法建模 23三.对集和二部图例3.人员分派问题:工作人员x 1,x 2,……,x n 去做n 项工作y 1,y 2,……,y n ,每人适合做其中一项或几项工作,问能否每人都能被分派一项适合的工作?如果不能,最多几人可以有适合的工作?作为一个简单的例子,我们设n=4,将4个人用4个点表示,将4项工作也用4个点表示,若有某人x i适合作某项工作y j ,则用边连接起来。

这样可以得到一个图如下:定义5:二部图(偶图)是指一个图G(V ,E),V=X ∪Y ,X ∩Y=∅,,X 中无相邻顶点,Y 中亦无相邻顶点。

0||||≠•Y X 定义6:若,)(G E M ⊆M e e j i ∈∀,,与无公共顶点(i e j e j i ≠),则称M 为图G 的对集(或称为匹配)。

M 中的一条边的两个端点叫做在对集中相配;M 中的边的端点叫做被M 许配;若图G 中每个端点皆被M 许配时,M 称为完备对集。

若G 中无使的对集M’,则称M 为最大对集。

|||'|M M >说明:①人员分派问题的图是二部图。

②若人员分派问题的图有完备对集,则可以为每人分派一项适合的工作。

③最多有几个人可以有适合的工作,就是人员分派图中最大对集M 的边数,即|M |。

四.求最大对集的算法定义7:若G 中有一条路,其边交替地在对集M 内外出现,则称此路为M 的交错路,交错路之起止顶点都未被M 许配时,此交错路称为可增广路。

注:若把可增广路上在M 外的边纳入对集,把M 内的边从对集中删除,则被许配的顶点数增加2,对集中的边增加一个。

关于一般图求最大对集的算法,Edmonds 在1965年提出了一种算法。

关于偶图求最大对集的算法有多种。

这里介绍一种偶图求完备对集的算法――匈牙利算法。

设G 为二分图,,求此图的完备对集的匈牙利算法如下:(0):从G 中任意取定一个初始对集M 。

(1):若M 把X 中的顶点都许配,止。

M 即为完备对集;否则取X 中未被M 许配的一顶点u ,记S={u},T=∅。

第四章 图论方法建模24 (2):若N(S)=T ,止。

无完备对集;否则取y ∈N(S)-T 。

(3):若y 是被M 许配的,设yz ∈M ,S ←S ∪{z},T ←T ∪{y},转(2)。

否则,取可增广路P(u,y),令M ←M ΔE(P),转(1)。

说明:①算法的要点是把已有的对集通过可增广路逐次增广以至得到完备对集。

②N(S)={y | y 与S 中的某点相邻}③M ΔE(P)是将可增广路P 中的在M 外的边纳入对集,把M 内的边从对集中删除,该运算结果仍为对集。

五.独立数与色数例4.化学制品的存放问题一家公司制造n 种化学制品,C 1,C 2,……,C n ,其中某些制品是互不相容的,如果它们互相接触则会引起爆炸。

作为一种预防措施,该公司希望把它的仓库分成若干隔间,以便使不相容的药品存放在不同的隔间里。

试问,这个仓库至少应分成几个隔间?为了方便,设n=6,这6种化学制品C 1,C 2,……,C 6分别用6个点代表,它们之间互不相容的制品用一条边连接起来,这样就得到一个图如下所示:定义8:若,I 中任意二顶点不相邻,则称I 为图G 的一个独立集。

,不是独立集,则称I 为极大独立集。

顶点数最多的独立集叫做最大独立集,其顶点数记成)(G V I ⊆I G V u −∈∀)(}{u I ∪)(G α,称为图G 的独立数。

定义9:把图G 的顶点都染上颜色,且使相邻顶点异色,又使所用的颜色数最少,称这个颜色数为G 的顶点色数,记成)(G χ。

定理:1)(+Δ≤G χ,(其中为图G 的度数)。

Δ说明:①每个隔间里存放的化学制品集合即为独立集。

②极大独立集和最大独立集是不同的。

③仓库至少应分成几个隔间就化为求一个图的顶点色数)(G χ,而)(G χ的求法是较为困难的。

虽然也有些算法可求,但都不是十分有效。

六.关联矩阵与邻接矩阵一个图存放在计算机里的方式很多,但一般是以矩阵的方式来存储的。

第四章 图论方法建模 25定义10:设图G(V, E),,},...,,{21γv v v V =},......,,{21εe e e E =,称矩阵()γγ×=ij a G A )(为图G 的邻接矩阵,其中)(G V =γ, ⎪⎩⎪⎨⎧∉∈=).(,0);(,1G E v v G E v v a j i j i ij 称矩阵()εγ×=ij b G B )(为图G 的关联矩阵,其中)(G V =γ,|)(|G E =ε,。

相关文档
最新文档