图论模型的建立与转化

合集下载

图论模型

图论模型

图论模型此模型解决的是垃圾清运路线的最佳方案。

1、收集路线方案:用中国邮递员问题解决达到最佳经济效益和环保效果的垃圾清运路线问题是在车辆限载约束条件下的最优路径选择的问题,同时本项目涉及到深圳市南山区38个垃圾中转站,而每个中转站所覆盖的收集区域的选取需要满足最大覆盖域(即总体能够消耗最少资源来覆盖整片区域),收集区域的划分又要同时考虑实地情况(地形、路线、用地性质、人流量、垃圾量等)。

1.1模型建立:为简化问题讨论,在转运站覆盖区域的划分的问题上,需要运用“最大覆盖”及“模糊划分”的思想,具体划分出每个转运站所对应 的片区的近似最优划分。

将问题简化后,所要求解的问题就是每个垃圾中转站所对应的每个小分区的街道所构成的收集网络的垃圾收运车辆优化路线的问题,也就是要求每一条街道至少有一辆垃圾收运车经过并且车辆重复走过的街道的总长度最小化的问题。

对于这个问题,我们采用图论模型,将每个小分区的街道及收集点简化成网络图(也叫赋权图)。

对于网络图中的圈用圈点来表示,计算各个圈点的垃圾量(也即围成圈的街道上的垃圾量的和),将相邻(有公共顶点)的圈点用线连接起来,这就构成了圈点图。

遵循以垃圾中转站为圆心沿径向发散求最小生成树的原则将圈点图中相邻的圈点组块,使得每块的垃圾量近似于垃圾收运车载限,对应于圈点分块,网络图分开成了各个子网络图,对于每一个子网络图即可利用欧拉回路求得其最小路径线路。

现在给出最短欧拉回路求解举例:图代表的是其中一个收集子网络图,其中直线表示车辆需要经过的街道,线上的数字表示该街道的长度,该子网络图各条街道的垃圾量之和近似于收集车辆的载限。

现要求的是车辆经过每一条街道至少一次的最短回路,现在对这个问题分步求解:第一步:找出图中的奇点,如图中橙色小圆点所在处为奇点。

第二步:将各对奇点沿街道连接起来,使得连接奇点的所有街道总长度最小。

如下图绿色线条:第三步:得出经过每条街道至少一次的最短路径长度为所有街道的总长加上连接奇点的街道的长度。

图论模型的构建

图论模型的构建
为此,我们必须寻找解决问题的更好途径。
【方形柱体堆砌问题分析】
对符合要求的方形柱体来讲,交换任意两个正 方体的上下位置,得到的方形柱体仍是符合要求的, 即它的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;
【奇怪的数列分析】
显然,按照上面的定义,如果建立的图可以拓扑排序,其 顶点的拓扑序列可以对应满足条件的整数数列;反之,不 存在这样的整数数列。 算法框架为:

数学建模-图论模型

数学建模-图论模型

思路分析
• 每学期任课老师都有一定工作量的要求往往可能要上不止一门课 程。
• 每位同学需要在学期内完成若干门课程的学习。 • 某些对上课设施有特殊要求的课程,也不可以安排在同一时间。 • 为了方便开展一些全校性的活动,有些时段不安排课程。 • 受到教室数量的限制,在同一时段无法安排太多的课程。
模型建立
• 以每个课程为顶点,任何两个顶点之间连一条边当且仅当两门课 程的任课老师为同一人,或有学生同时选了这两门课或上课教室 冲突。
• 那么一个合理的课程安排就是将图中的点进行分化,使得每一个 部分里的点为一个独立集。
• 通过极小覆盖找出图中的极 大独立集,然后删去该极大 独立集,在剩下的图中找出 极大独立集,直到剩下的图 为一个独立集。
匈牙利算法
• 饱和点:M是图G的一个匹配,若G中顶点v是M中某条边的端 点,则称M饱和v,否则称v是M的非饱和点。
• 可扩路:一条连接两个非饱和点x和y的由M外的边和M的边交错 组成的路称为M的(x,y)可扩路。
• 算法基本步骤:
Kuhn-Munkres算法
1.2 图的独立集应用
• 问题描述:各大学学期临近结束时,需要根据老师任课 计划和学生选课情况,再结合教室资源情况安排下一学 期的课程及上课时间和地点。下表所示是某大学电信学 院的大三各专业部分课程情况。该学院每届学生按专业 分班,统一选课。另外,学院只有一间普通机房和一间 高级机房。那么应该如何合理地排这些课程呢?
则称其是双连通或强连通的。对于不是双连通的图,都可以分解成 若干个极大的双连通分支,且任意两分支之间的边是同向的。
举例:
• 右图所示竞赛图不是双连通的

为一条有向
的D哈密尔A顿路B。 C E

图论模型及方法

图论模型及方法

第五章 图与网络模型及方法§1 概论图论起源于18世纪。

第一篇图论论文是瑞士数学家欧拉于1736 年发表的“哥尼斯堡的七座桥”。

1847年,克希霍夫为了给出电网络方程而引进了“树”的概念。

1857年,凯莱在计数烷22 n n H C 的同分异构物时,也发现了“树”。

哈密尔顿于1859年提出“周游世界”游戏,用图论的术语,就是如何找出一个连通图中的生成圈,近几十年来,由于计算机技术和科学的飞速发展,大大地促进了图论研究和应用,图论的理论和方法已经渗透到物理、化学、通讯科学、建筑学、生物遗传学、心理学、经济学、社会学等学科中。

图论中所谓的“图”是指某类具体事物和这些事物之间的联系。

如果我们用点表示这些具体事物,用连接两点的线段(直的或曲的)表示两个事物的特定的联系,就得到了描述这个“图”的几何形象。

图论为任何一个包含了一种二元关系的离散系统提供了一个数学模型,借助于图论的概念、理论和方法,可以对该模型求解。

哥尼斯堡七桥问题就是一个典型的例子。

在哥尼斯堡有七座桥将普莱格尔河中的两个岛及岛与河岸联结起来问题是要从这四块陆地中的任何一块开始通过每一座桥正好一次,再回到起点。

当然可以通过试验去尝试解决这个问题,但该城居民的任何尝试均未成功。

欧拉为了解决这个问题,采用了建立数学模型的方法。

他将每一块陆地用一个点来代替,将每一座桥用连接相应两点的一条线来代替,从而得到一个有四个“点”,七条“线”的“图”。

问题成为从任一点出发一笔画出七条线再回到起点。

欧拉考察了一般一笔画的结构特点,给出了一笔画的一个判定法则:这个图是连通的,且每个点都与偶数线相关联,将这个判定法则应用于七桥问题,得到了“不可能走通”的结果,不但彻底解决了这个问题,而且开创了图论研究的先河。

图与网络是运筹学(Operations Research )中的一个经典和重要的分支,所研究的问题涉及经济管理、工业工程、交通运输、计算机科学与信息技术、通讯与网络技术等诸多领域。

图论模型讲义

图论模型讲义

目录目录 (1)第8章图论模型 (1)8.1图的基本知识 (2)8.1.1图的相关定义 (2)8.1.2图的顶点的度 (3)8.1.3子图及运算 (4)8.1.4 图的连通性 (5)8.1.5一些特殊图 (7)8.2图的矩阵表示 (7)8.2.1邻接矩阵 (7)8.2.2 关联矩阵 (8)8.3图的方法建模 (9)8.3.1 图的最小生成树问题及算法 (10)1.树及最小生成树 (10)2.克鲁斯卡尔算法 (11)3.普利姆算法 (13)8.3.2图的最短路问题及算法 (15)1.迪克斯特拉算法 (15)8.3.3图的匹配及应用 (20)1. 图的匹配 (20)2.指派问题: (23)3.最优指派 (27)8.3.4 图的覆盖及应用 (33)1. 逻辑算法 (34)2.启发式算法: (35)3.利用关联矩阵求极小覆盖: (37)8.3.5图的遍历问题 (38)1.边的遍历-中国邮差问题 (38)2.点的遍历-旅行商问题 (41)8.3.6 竞赛图问题 (48)1.竞赛图的定义 (48)2.循环比赛排名 (50)8.4 实战篇 (51)第8章图论模型图论(Graph Theory)18世纪起源于欧洲。

瑞士著名数学家欧拉(Euler)于1736 年发表的第一篇图论论文—“哥尼斯堡七桥问题”,不但解决了曾经困扰了人们多年的难题,同时它宣告了图论这门学科的诞生。

在普鲁士的小镇哥尼斯堡,一条河穿城而过,河中央有两个小岛,小岛之间及岛与河岸共有七座桥连接。

能否从四块陆地中的任何一处出发,恰好通过每座桥一次再回到起点,这就是著名的“哥尼斯堡七桥问题”。

人们曾经做过很多尝试,但是都没有获得成功。

为了解决这个问题,欧拉将问题进行几何抽象:将陆地分别用“点”代替,将桥用连接这些点的“线”来代替,得到一个包含四个“点”,七条“线”的“图”,将问题转化为“如何从一点出发一笔画出这个图,最后回到起点”的问题。

因为每次经过一个点必须消耗掉两条与该点相关联的边(从一边进入,另一条边离开),所以和每个点相关联的边的数量应该是一个偶数,此问题显然是无解的。

数学建模方法之图论模型

数学建模方法之图论模型
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年)夏天某县遭受水灾. 为考察灾情、 组织自救,县领导决定,带领有关部门负责人到 全县各乡(镇)、村巡视. 巡视路线指从县政府 所在地出发,走遍各乡(镇)、村,又回到县政 府所在地的路线.

5、图论模型的建立

5、图论模型的建立
图论建模
信息学竞赛解题的一个重要步骤是数学建模, 如几何模型、代数模型、运筹学模型等。图论模型 的构造(图论建模)也是数学建模的一个分支。 在建立一个问题的模型之前,首先要对研究对 象进行全面的调查,将原型理想化、简单化(对于 竞赛而言,这一步大部分已经由命题者完成);然 后对原型进行初步的分析,分清其中的各个要素及 求解目标,理出它们之间的联系;然后用恰当的模 型来描述这些要素及联系。
图论建模
[问题分析] 1、问题的数据规模只有200,所以很容易想到用搜索, 由于要输出最优解(要求的是最快的次数),所以是宽搜。 2、对于A楼而言,实际上对它最多只能做2个操作, 上到A+X层或下到A-X层,当然前提是存在A+X或A-X层。显 然,如果把每一层楼看做一个顶点,如果A楼可以到B楼, 则从顶点A引一条到顶点B的边。对于样例,如下图:
下面,我们把每个si抽象成一个点,则根据上述两个不等式可以建立一个 有 向 图, 图中 共 有n+1个顶 点 ,分 别为 s0 ,s1 ,……,sn 。若 si>sj(0≤i, j≤n),则从si往sj引出一条有向边。例如对于n=6,p=5,q=3的情况,我们可 以建立下图。
常州市第一中学 林厚从
图论建模
图论模型和其它模型在研究方法上有着很大的 不同,例如可以运用典型的图论算法来对图论模型 进行求解,或是根据图论的基本理论来分析图论模 型的性质,这些特殊的算法和理论都是其它模型所 不具备的,而且在其它模型中,能用类似于图这种 直观的结构来描述的也很少。
常州市第一中学 林厚从
是指对一些客观事物进行抽象、化简, 并利用图来描述事物特征及其内在联系的过程。建 立图论模型的目的和建立其它数学模型一样,都是 为了简化问题,突出要点,以便更深入地研究问题 的本质;它的求解目标可以是最优化问题,也可以 是存在性或构造性问题;并且和几何模型、运筹学 模型一样,在建立图论模型的过程中,也需要用到 集合、映射、函数等基本的数学概念和工具。

图论模型的建立与简单应用

图论模型的建立与简单应用

图论模型的建立与简单应用作者:徐乙富张俸川石少俭来源:《山东工业技术》2018年第23期摘要:在近些年的ACM ICPC竞赛中,图论的题目屡见不鲜。

图论中的图是由若干给定的点链接两点的线所构成的图形,这种图形常来用于描述某些事物之间的某种特定关系,用点代表事物,用连接两点的线表示相应两个事物间具有的关系。

关键词:图论模型;拓扑;欧拉路径DOI:10.16640/ki.37-1222/t.2018.23.0900 前言图论是数学的一个分支,它以图作为研究对象。

图论中的图是由若干给定的点链接两点的线所构成的图形,这种图形常来用于描述某些事物之间的某种特定关系,用点代表事物,用连接两点的线表示相应两个事物间具有的关系。

利用图论解题,通常具有高效、简洁的便利。

有了这门工具,并不意味就能很好地解决问题,还在于我们能否熟练地识别与建立一系列的图论模型。

本文通过一些实例,简单地介绍一下图论建模的方法与应用。

并通过建立相关的模型来解决相对较为复杂的问题。

1 Cover(HDU)1.1 题目大意给一个有n个节点m条边的图,每个节点从1到n标号,题目给出m条边的连接情况(11.2 分析容易想到,这个题目需要将最少笔画数目转化为无向图的最小路径覆盖问题,然而,不同于常见的有向图二分图做法,需要建立一个欧拉路径或欧拉回路的模型。

当一个连通块是欧拉路径(度数为奇数的顶点的数目为0或者2)时,可以一笔走完所有的边,所以将每个连通块转化为欧拉路径进行搜索,转化的方法是通过对度数为奇数的两点之间加边将连通块转化为欧拉路径。

1.3 步骤(1)首先,我们应该根据题目的输入将无向图建立出来,由于顶点个数比较多,所以无法建立邻接矩阵,可以建立邻接表储存边的信息。

(2)对于每一个连通块进行深度优先搜索,对于每一个连通块内度数为奇数的点,可以两两之间加一条边,这样,对于每一个连通块,最多要加入max(k/2,1)条边,(k为度数为奇数的点的个数)。

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

图论模型的建立与转化关键字:图论模型、建立、转化摘要本文主要写图论模型的建立与转化,共分四部分:第一部分引言说明了图论建模在整个信息学竞赛中的地位,以及图论模型与其它数学模型的异同,并指出很有研究总结图论建模的思想、方法及技巧的必要。

第二部分提出了图论模型建立中的两个要点:对原型中的要素进行适当的取舍和选择合适的理论体系,并分别举例加以详细分析,然后从中总结出了图论建模的总的原则:准确、清晰、简明。

第三部分主要讨论了在图论模型的转化中,应用得较为广泛的两种方法:拆分转化和补集转化,并着重分析了前者。

文中把前者分为三类:点→边、点→点、边→边,其中详细分析了第二类。

第四部分总结了全文,并指出了进一步研究图论模型的必要性目录一.引言 (2)二.图论模型的建立 (2)I.要素的取舍 (2)II.选择合适的理论体系 (4)三.图论模型的转化 (7)I.拆分转化 (7)II.补集转化 (10)四.结语 (11)正文一.引言信息学竞赛以解题为主,整个解题过程中一个重要的步骤就是数学建模,本文要讨论的就是数学建模的一个分支——图论建模。

图论建模是指对一些客观事物进行抽象、化简,并用图1来描述事物特征及内在联系的过程。

建立图论模型的目的和建立其它的数学模型一样,都是为了简化问题,突出要点,以便更深入地研究问题的本质;它的求解目标可以是最优化问题,也可以是存在性或是构造性问题;并且,和几何模型、运筹学模型一样,在建立图论模型的过程中,也需要用到集合、映射、函数等基本的数学概念和工具;但图论模型和其它模型在它们的研究方法上又有着很大的不同,例如我们可以运用典型的图论算法来对图论模型进行求解,或是根据图论的基本理论来分析图论模型的性质,这些特殊的算法和理论都是其它模型所不具备的,而且在其它模型中,能用类似于图这种直观的结构来描述的也很少。

我们学习图论,一般都是通过书籍,但书上介绍的往往只限于图论模型的基本要素、一些图论的相关理论和经典算法等,至于如何建立图论模型、如何运用这些理论和算法、如何研究图论问题,都只有靠自己来理解、来领会,并通过实践来验证这些理解,通过摸索总结来提高自己的能力。

在建立图论模型的过程中,我们常常会遇到一些困难,例如难以建立点、边、权关系,或是原型中的一些重要因素无法纳入现有模型,或是现有模型虽能表示原型,却无法求解等等。

为了克服这些困难,就需要用到某些独特的思想、方法和技巧,本文要写的正是我在学习、实践中得出的这方面的一点认识。

二.图论模型的建立在建立模型之前,我们首先要对研究对象进行全面的调查,将原型理想化、简单化(对于竞赛题而言,这一步大部分已经由出题人完成了);然后对原型进行初步的分析,分清其中的各个要素及求解目标,理出它们之间的联系;下一步就是用恰当的模型来描述这些要素及联系。

I.要素的取舍在用图论模型描述研究对象时,为了更突出与求解目标息息相关的要素,降低思考的复杂度,就不可避免地要舍去部分要素。

下面我们就通过例1来分析一下。

【例1】导线排布Line[7]:题目(文档附件:导线排布.doc)中蓝色的一段是问题描述的重点,其中涉及的要素有圆圈、N根导线、2N个端点、编号规则、导线的交叉等,求解目标是构造一种符合所给的导线交叉情况的导线排布方案。

起先,我们对题目描述的导线排布并不熟悉,或许我们能够画出几个无解或是多解的1在本文中,“图”专指由若干不同顶点与连接其中某些顶点的边所组成的图形[6],不包括一般的示意图。

例子,但竞赛时我们不可能花更多的时间在熟悉题目上了,这时只有尽快地把我们不熟悉的、难于思考的原型转化成我们熟知的、便于思考的模型。

先来分析求解目标:所谓的构造导线排布方案,也就是找出每根导线两个端点的编号;而编号要满足的条件就是导线交叉的情况。

那么下一步我们就来分析一下编号与导线交叉之间的关系。

记第i 根导线两端点的标号为Ai 和Bi (Ai<Bi ),两根导线的交叉情况有3种,对应的编号情况如图一所示,它们的共同点是A1>B1,A2>B2,A1>A2(根据编号规则),不同的是(a)满足A2>B1,B1>B2,(b)满足B1>A2,而(c)满足B2>B1。

显然,这是一种偏序关系(有点不确切,它只满足反对称和传递性,但不是自反的),而我们的任务就是根据这种偏序关系求得全序关系,即拓扑排序。

我们用图中的有向边来表示偏序关系,若有向边构成环,则问题无解。

以上三种情况对应的有向图如图二所示,若两导线交叉,则如(a);若不交叉,则必是(b)、(c)其中之一,至于选择哪一个,就要看它们中哪一个不会导致无解。

若(b)无解,就表示图中除了B1→A2这条边之外,还存在着一条A2→B1的路径,可能的两种情况如图三(1)(2)中红色有向边所示:(1)表示有编号大于2的导线((1)中的导线3)与导线1交叉;(2)表示虽然它们都不与导线1交叉,但其中有选择图二(c)表示的。

显然,如果情况(1)出现,那么选择(b)必然无解;但如果(1)不出现,那么(2)就可以改成图三(3)(即改用(b)表示导线1、3不交叉,而不是用(c)),这样就有解了。

也就是说,如果导线i 与导线j(i<j)不交叉,那么是否有编号大于j 的导线与导线i 交叉决定了(b)是否无解。

(a)A1>A2>B1>B2(b)A1>B1>A2>B2(c)A1>A2>B2>B1图 一1 23412341234(a)(b)(c)图 二A1 B1 A2B2 A1 B1 A2B2 A1 B1 A2 B2(1)(2) (3)图 三A1 B1 A2 B2 A3B3 A1 B1 A2 B2 A3B3A1 B1 A2 B2 A3 B3类似的,我们可以分析出:如果导线i 和j (i<j)不交叉,那么是否存在一个序列L 1~m(L 1=i ,L m =j),使得导线L k -1与导线L k (1<k m)交叉,决定了(c)是否无解。

图四(1)画出了(c)无解的情况,此时导线1与3不交叉,m=3,L=(1,2,3);图四(2)表示导线1与3不交叉,导线1与2,2与3,1与4交叉,此时用(b)或(c)表示导线1与3不交叉都无解,所以整个问题无解。

分析到这里,图论模型和算法实际上已经出来,具体的实现就不多说了。

上面的分析看似冗长,但实际上,分析的过程如行云流水,十分自然,究其原因,就是我们舍去了原型中一些与求解目标无关的因素,而仅用一个有向图来表示交叉关系。

比起紧紧抱住圆圈、导线这些细节不放,直接分析原型的方法来,分析模型的思维复杂度自然要小得多。

在建模过程中,忽略掉原型中与求解目标关系不大的要素,能够适当地简化问题。

但事物都是一分为二的,如果简化得过了度,反而会使模型变得不够准确,甚至是不正确的,因此,只有在“简明”和“准确”之间找到平衡点,才能建立起具有最佳效果的模型。

II.选择合适的理论体系图由点、边、权三部分组成,根据这三部分的性质的不同,就有着不同的图论模型,有着不同的理论和算法,也就构成了不同的理论体系。

例如二部图把整个点集V 分为两个子集,规定子集内部的点之间没有边,因此二部图就有着不同于一般图的特殊性质,而它的匹配算法也就比一般图的算法简单;此外还有树、有向无环图等,它们属于不同的理论体系,有着各自不同的性质,适于用不同的算法求解。

而权的加入则使图论模型和求解目标变得更加复杂多样了。

有的权表示长度或是时间等等,它们的运算特征是“串联求和,并联求最值”,即一条路径的权由这条路径上每条边的权相加得到,求解目标往往是求图中或是两点之间所有路径的权的最优值。

有的权则表示容量或是流量,它们的运算特征是“串联求最值,并联求和”,即一条路径上最大或是最小的权决定了整条路径的权,而求解目标则是求图中或是两点之间所有路径的权的加和。

以上只是基本的几类权,它们还会产生一些变形,例如权的运算由简单的相加、求最值扩展到相乘,或是更复杂的函数计算等等。

还有的图不仅包含边权(边集E 到实数集R 的映射),还包含点权(点集V 到实数集R 的映射);或是包含好几类不同性质的权。

以上这些差异形成了图论模型的多样化,使图论模型可以广泛地适应各类问题,但这些丰富的选择同时也增加了图论建模的难度。

对于有些题目,我们可能很自然地就联想到某种图论模型,例如看到表达式,就会联想起表达式树;但对于另一些题目,分析的角度不同,就会得出不同的模型,产生不同的效果。

【例2】 奶牛排队Cows on Parade (文档附件:Finals95.htm )(USACO'95决赛):[问题简述]:求一个长度为2 n + n-1的01序列,要求序列中包含所有长度为n 的01排列(共(1)(2) 图四 A1 B1 A2 B2A3 B3 A1 B1A2 B2 A3 B3A4 B4个2 n)。

当n=3时,序列如左图所示。

与此类似的还有“鼓轮设计”一题(见参考书籍[9]P95),不同的是前者要求排成一线,而后者要求排成一圈,显然,只要后者解决了,前者也就解决了。

所以这里也以排成一圈为求解目标。

[模型A] 如果以每个长度为n 的01排列为点,以它们之间的重叠关系为边,就构成了一个有向图(如图五所示)。

求解目标就是在这个图上找一个回路(图中蓝色部分),使得通过每点一次且仅一次——Hamilton 回路问题。

[模型B]如果以01排列之间的重叠部分为点,以01排列为边,就构成了一个如图六所示的有向图,求解目标就是在这个图上找一个回路,使得不重复地遍历每条边——Euler 回路问题。

从图六中不难看出,图上每点都是连通的,而且入度和出度都等于2,因此图中存在Euler 回路,也并不难求(算法及相关理论见参考书籍[6]P152或[8]P246或[9]P95)。

相较之下,Hamilton 回路问题是NP完全问题,也就是说,模型A 的建立并没有给问题的解决带来任何便利。

由此可见,不同理论体系的图论模型很可能会产生完全不同的效果。

例2中不同模型的建立是由于分析角度的不同,而在下面的例3中,则是因为对原型的分析深浅不同的缘故。

【例3】 最少路径覆盖(题目见参考书籍[1]P274或[3]P429):有向无环图G(V ,E)的一个路径覆盖是指一个路径集合P ,满足图中的每点属于且仅属于集合中的一条路径。

求一个包含路径数最少的路径覆盖(如图七所示)。

[解法A] 网络流模型(见图八):设p=|P |,则上图中p min =2,有三种方案:①{1→3→4→5,2} ②{2→3→4→5,1} ③{1→3→4,2→5}图 七 1 3 2 4 5图 八1' 1,1 3' 1,1 4' 1,1 5' 1,12' 1,11'' 3'' 4'' 5''2'' st10 0 0图 五 000 001 100 111 0 0 1 1 1 0 011 110 010 101 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0000 001 011 111 110 101 010 100图 六00 01 11 1 1 1 0 0 11.把点i(i ∈V)拆成两点i'和i'',添加弧(即有向边)(i', i''),容量上界C i', i''=1,下界B i', i ''=1; 2.加源点s 和汇点t ,添加弧(s, i' )和(i'', t),C s, i' = C i'', t =+∞,B s, i' = B i'', t =0; 3.把边集E 中的弧(i, j)改为弧(i'', j'),C i'', j '=+∞,B i'', j '=0。

相关文档
最新文档