第六章 图论方法

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

第八章图论方法

§1 图论中图的概念

在人们从事的各种活动中,为了反映事物之间的关系,常在纸上用点和线画出各种各样的示意图。例如,为了反映某地区的铁路交通、公路网分布情况,画出铁路、公路交通图。在这些图中以点表示城镇,用点与点之间的连线表示城镇之间的铁路或公路的沟通情况。诸如此类的图还有电缆线分布图、供水道及下水道分布图、航空线图等等。

再如,在一场有5支球队参加的球类比赛中,比赛情况也可以用图表示出来,如图6-1,我们用点代表各个球队,某两个队比赛过一次,就在两个点之间画一条箭线。从图中可以看出A队与其他各队都比赛过,只有一场败给C 队。而B队和E队各比赛过两场,成绩都是一胜一负,等等。

图6-1

从上述例子中可以看出,图的最基本要素是:点、以及点与点之间的一些连线。通常用点表示我们所要研究的对象(如城市、运动队、状态等等),用线表示研究对象间的某种特定关系(如两个城市之间有铁路,两个运动队之间已经比赛过等)。因此可以说,图是反映对象之间关系的一种工具。如果两个对象之间有某种特定关系,那么就用一条线连接这两个点。

必须指出:上述图中点的相对位置如何,点与点之间连线的长短曲直,对于反映研究对象之间的关系并不很重要,因此,图论中的图与几何图、工程图本质上是不同的。

另外在许多情况下,我们要研究的“关系”只用一条线反映还是不够完全。比如说比赛,我们关心的如果不只是两个队是否比赛过,还要了解比赛的胜负情况,我们可以用一条箭线(有向线)来表示,如果A队胜了B队,就表示为

A→B。如图6-1所示,从图中可以看出A队三胜一负,D队三场全负等。类似的情况在生产和生活中也是常见的,例如交通运输中的“单行线”、部门之间的领导与被领导关系、一项生产活动中各工序之间的先后次序关系等等。图论中把不带箭头的连线叫做边,把带箭头的连线叫做弧。

如果一个图是由点和边所构成的,则称之为无向图,记作G=(V,E),其中V表示图G中的所有点组成的点集合,E表示图G中所有边组成的边集合。如,交通图。

如果一个图是由点和弧所构成的,则称之为有向图,记作G=(V,A),其中V表示图G中的点集合,A表示图G中所有弧组成的弧集合(如上图)。

其次,为了反映两个城市之间铁路线的公里数(或运行时间等),就要在这两个城市之间的连线旁边写上里程数(或运行时间等)。这就是说,根据问题的需要,还可以在图的点旁或连线旁标上数,统称为权数。权数在不同的场合可以有不同的含义,如距离(长度),时间、费用、容量等等。如果给图中每一条连线赋予一个数,则称这样的图G为赋权图,所谓网络就是指定了起点(发点)和终点(收点)的赋权图。

对要研究的问题确定具体对象及各对象间的关系,并用图的形式表示出来,这样的图就是对研究问题建立的图模型。用建立图模型的方法往往能帮助我们解决一些用其他方法难以解决的问题。

例1、有甲、乙、丙、丁、戊、已六名运动员报名参加A、B、C、D、E、F六个项目的比赛。表中打√的是各运动员报名参加的比赛项目。问六个项目的比赛顺序应如何安排,才能保证每名运动员都不连续地参加两项比赛。

解:把比赛项目作为研究对象,用点表示。如果两个项目有同一名运动员参加,就在代表这两个项目的点之间连成一条线,可得一图。在该图中只要找出一个点的序列,使依次排列的两个点间没有连线,就能保证每名运动员不会

连续参加两项比赛。例如,从图上可看出,按照A、C、B、F、E、D顺序安排比赛,即可满足要求。

书P136练习6.3

有十名研究生要参加六门课程的考试。由于选修的课程不同,考试门数也不一样。表6-4给出了每个研究生应参加考试的课程(打△号的)。规定考试应在三天内结束,每天上下午各安排一门。研究要求每人每天最多考一门,又课程A必须安排在第一天上午考,课程F安排在最后一门考,课程B只能安排在下午考试,试列出一个满足各方面要求的考试日程表。

表6-4

解:把考试课程作为研究对象,用点表示。如果两门课程有同一名研究生参加考试,就在代表这两门课程的点之间连成一条线,可得一图如下。

这个图就是练习6.3问题的图模型。在该图中第一天上午写入A,第三天下午写入F,因B课程与课程A和F有联系,故只能排入第二天下午,剩下的课程C、D、E要找出两个点间没有连线,例如,从图上可看出,按照A点与E 点间无连线,故E课程可排第一天下午,同理C、D课程安排第二天与第三天上午,即可满足要求。

§2 树和图的最小生成树

在各式各样的图中,有一类简单而且十分有用的图,即所谓树图(简称树,记作T(V,E))。树图就是无圈(即回路)的连通图。这类图与大自然中树的特征相似,因而得名为树图。铁路专用线、管理组织机构、学科分类往往都可以用树图的形式表示。例如,下面图(1)就是树图,而图(2)因为图中有圈(回路),所以它不是树;图(3)因为不连通,所以也不是树图。可见,树必须是连通的而且是不含圈的图。任一树图中的连线数一定比其点数少一。

V1 V1 V1 V8

V2 V3 V2 V3 V2 V9

V6

V5 V4 V4 V5 V3 V4

V8

V7 V6

V8 V9 V7 V5 V7图(1)图(2)图(3)

从一个给定的无向图G=(V,E)中,去掉图G中一些连线,保留图G中的所有点,所得的树图被称为图G的生成树。由一个图G可以生成若干树图,但不同生成树的连线总长度也是不同的,其中连线总长度最小的生成树就称为最小生成树。

§3 最小生成树的算法

求图的最小生成树问题就是在一个网络中,从一个起点出发到所有结点,找出一条或几条路线,构成线路总长度最小的一个树问题。

为了解决这个问题,我们用一个在住宅小区安装供水管道的例子来用说明求图的最小生成树的普赖姆算法。

图6-2是各座住宅楼之间可以安装供水管道的距离图,图中圆圈代表住宅楼,连线上的数字代表距离(以米为单位)。

图6-2 各座住宅楼之间可以安装供水管道的距离图

最小生成树的普赖姆算法就是把最近的未连接点连接到那些已经连接的结点上去,连接的方法如下:

1.从始点出发,我们来查找与始点1最近的结点,发现结点3与1的距离最近,为100米,于是把1——3连接好,见图6-3。

2.从已连接点1、3出发,查找与结点1、3最近的结点,发现结点4与1的距离最近,为300米,于是把1——4连接好,见图6-3。

3.从已连接点1、3、4出发,查找与始点1、3、4最近的结点,发现结点7与1的距离最近,为400米,于是把1——7连接好,见图6-3。

4. 从已连接点1、3、4、7出发,查找与始点1、3、4、7最近的结点,发现结点5与3的距离最近,为500米,于是把3——5连接好,见图6-3。

5.用同样的方法查到5与6的距离最近,为200米,7与2的距离最近,为900米,于是把5——6、7——2连接好,见图6-3。

必须指出:在查找与连接过程中,要避免出现回路,即圈(否则就不是要

相关文档
最新文档