图论 模型
- 格式:docx
- 大小:1.72 MB
- 文档页数:19
目录目录 (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 年发表的第一篇图论论文—“哥尼斯堡七桥问题”,不但解决了曾经困扰了人们多年的难题,同时它宣告了图论这门学科的诞生。
在普鲁士的小镇哥尼斯堡,一条河穿城而过,河中央有两个小岛,小岛之间及岛与河岸共有七座桥连接。
能否从四块陆地中的任何一处出发,恰好通过每座桥一次再回到起点,这就是著名的“哥尼斯堡七桥问题”。
人们曾经做过很多尝试,但是都没有获得成功。
为了解决这个问题,欧拉将问题进行几何抽象:将陆地分别用“点”代替,将桥用连接这些点的“线”来代替,得到一个包含四个“点”,七条“线”的“图”,将问题转化为“如何从一点出发一笔画出这个图,最后回到起点”的问题。
因为每次经过一个点必须消耗掉两条与该点相关联的边(从一边进入,另一条边离开),所以和每个点相关联的边的数量应该是一个偶数,此问题显然是无解的。
图论模型图论是运筹学的一个经典和重要分支,专门研究图与网络模型的特点、性质以及求解方法。
许多优化问题,可以利用图与网络的固有特性而形成的特定方法来解决,比用数学规划等其他模型来求解往往要简单且有效得多。
图论起源于1736年欧拉对柯尼斯堡七桥问题的抽象和论证。
1936年,匈牙利数学家柯尼希(D. Kӧnig )出版的第一部图论专著《有限图与无限图理论》,树立了图论发展的第一座里程碑。
近几十年来,计算机科学和技术的飞速发展,大大地促进了图论研究和应用,其理论和方法已经渗透到物理、化学、计算机科学、通信科学、建筑学、生物遗传学、心理学、经济学、社会学各个学科中。
9.1 图的基础理论9.1.1 图的基本概念所谓图,概括地讲就是由一些点和这些点之间的连线组成的。
定义为(,)G V E =,V 是顶点的非空有限集合,称为顶点集。
E 是边的集合,称为边集。
边一般用(,)i j v v 表示,其中,i j v v 属于顶点集V 。
以下用V 表示图(,)G V E =中顶点的个数,E 表示边的条数。
如图9.1是几个图的示例,其中图9.1 (a)共有3个顶点、2条边,将其表示为(,)G V E =,123{,,}V v v v =,1213{(,),(,)}E v v v v =.23v 45v 34(a)(c)图9.1 图的示意图1.无向图和有向图如果图的边是没有方向的,则称此图为无向图(简称为图),无向图的边称为无向边(简称边)。
如图9.1 (a)和(b)都是无向图。
连接两顶点i v 和j v 的无向边记为(,)i j v v 或(,)j i v v 。
如果图的边是有方向(带箭头)的,则称此图为有向图,有向图的边称为弧(或有向边),如图9.1 (c)是一个有向图。
连接两顶点i v 和j v 的弧记为,i j v v 〈〉,其中i v 称为起点,j v 称为终点。
显然此时弧,i j v v 〈〉与弧,j i v v 〈〉是不同的两条有向边。
第九章 图论模型现实世界的许多实际问题都可以用图形来解释或说明.例如通讯网络就可以用图的形式直观的表现出来:点可以表示通讯中心,而边表示通讯线路.图论模型是应用十分广泛的数学模型,它已经在物理、化学、控制论、信息论、科学管理和计算机等领域.由于它具有图形直观,方法简单容易掌握的特点,因此在实际、生活和数学建模中,有许多问题可以运用图论的理论和方法解决.§9.1图论起源图论起源于18世纪欧拉对哥尼斯堡七桥问题的研究.哥尼斯堡是18世纪东普鲁士的一个城市,城中有一条普雷格尔河,河中有两个岛,河上有七座桥,如图1所示.图1 当时那里的居民热终于思考这样一个问题,一个人能否经过七座桥且每座桥只走过一次,最后回到出发点.能否用数学的方法解决这个问题一贯成为当时居民的一个悬而未决的问题.1736年欧拉创造性的将陆地用点表示,桥用边表示,从而将这个问题转化为如图2所示的一笔画问题,即能否从某个点开始一笔画出这个图形,最后回到原点而不重复.欧拉证明了这个问题是不可能的.图2欧拉解决七桥问题时,其方法超出了常用的数学方法,充分发挥自己的想象力,用了全新的思想方法,从而使得问题得到完美解决.由于这一项开创性的工作,产生了“图论”这门崭新学科,欧拉被认为是图论的创始人.ABCDABCD1e 2e 5e 6e 7e 4e 3e§9.2基本概念定义1 图G 由两个点集合V 以及边集合E 组成,记为(),G V E =,其中: (1)V 是顶点构成的集合;(2)E 是连接某些顶点对构成的边组成的集合.例1 {}1234,,,V v v v v =,{}12232434,,,E e e e e =,画出图(),G V E =.图3注:图分为无向图和有向图.定义2 若图(),G V E =的边均没有方向,这样的图成为无向图.例如图2,图3为无向图.无向图的边称为无向边,无向边是由两个顶点构成的无序对,无序对通常用圆括号表示. 例2 (),i j v v 表示一条无向边,(),i j v v 与(),j i v v 是同一条边.定义3 若图(),G V E =的边均有方向,这样的图称为有向图.有向图的边称为有向边,有向边是由两个顶点构成的有序对,有序对通常用尖括号表示.有向边又称为弧. 例3,i j v v 表示一条有向边,,i j v v与,j i v v 是两条不同的有向边.定义4 一条边的端点称为与这条边关联,反之,一条边称为与它的端点关联.与同一条边关联的两个端点是邻接的.如果两边有一个公共端点,则这两条边是邻接的。
目录五、图论模型1.迪杰斯特拉(Dijkstra)算法、贝尔曼-福特(Bellman-Ford)算法2.弗洛伊德(Floyd)算法六、分类模型1.逻辑回归2.Fisher线性判别分析五、图论模型图论模型主要解决最短路径问题,根据图的不同,对应采用迪杰斯特拉(Dijkstra)算法、贝尔曼-福特(Bellman-Ford)算法、弗洛伊德算法(Floyd)。
Matlab代码:% Matlab中的图节点要从1开始编号s = [9 9 1 1 2 2 2 7 7 6 6 5 5 4];t = [1 7 7 2 8 3 5 8 6 8 5 3 4 3];w = [4 8 3 8 2 7 4 1 6 6 2 14 10 9];G =graph(s,t,w);plot(G, 'EdgeLabel', G.Edges.Weight, 'linewidth', 2) set ( gca, 'XTick', [], 'YTick', [] );%% Matlab作无向图% (1)无权重(每条边的权重默认为1)% 函数graph(s,t):可在 s 和 t 中的对应节点之间创建边,并生成一个图% s 和 t 都必须具有相同的元素数;这些节点必须都是从1开始的正整数,或都是字符串元胞数组% 注意:编号从1开始连续编号s1 = [1,2,3,4];t1 = [2,3,1,1];G1 = graph(s1, t1);plot(G1)% 注意字符串元胞数组是用大括号包起来s2 = {'学校','电影院','网吧','酒店'};t2 = {'电影院','酒店','酒店','KTV'};G2 = graph(s2, t2);% 设置线的宽度plot(G2, 'line width', 2) % 画图后不显示坐标set( gca, 'XTick', [], 'YTick', [] ); % (2)有权重% 函数graph(s,t,w):可在 s 和 t 中的对应节点之间以w的权重创建边,并生成一个图s = [1,2,3,4];t = [2,3,1,1];w = [3,8,9,2];G = graph(s, t, w); plot(G, 'EdgeLabel', G.Edges.Weight, 'linewidth', 2) set( gca, 'XTick', [], 'YTick', [] ); %% Matlab作有向图% 无权图 digraph(s,t)s = [1,2,3,4, 1];t = [2,3,1,1,4];G = digraph(s, t);plot(G)set( gca, 'XTick', [], 'YTi ck', [] ); % 有权图 digraph(s,t,w)s = [1,2,3,4];t = [2,3,1,1];w = [3,8, 9,2];G = digraph(s, t, w);plot(G, 'EdgeLabel', G.Edges.Weight, 'linewidth', 2) set( gca, 'XTick', [], 'YTick', [] );1.迪杰斯特拉(Dijkstra)算法、贝尔曼-福特(Bellman-Ford)算法迪杰斯特拉算法是基于贪婪算法的思想,从起点出发逐步找到通向终点的最短距离。
各种图论模型及其解答摘要:本文用另一种思路重新组织《图论及其应用》相关知识。
首先,用通俗化语言阐述了如何对事物间联系的问题进行图论建模;接着从现实例子出发,给出各种典型图论模型,每种图论模型对应于图论一个重要内容;再者,介绍相关知识对上述提到的图论模型涉及的问题进行解答;最后,补充一些图论其他知识,包括图论分支、易混概念。
符号约定:Q(Question)表示对问题描述,M(Modeling)表示数学建模过程,A(Answer)表示原问题转化为何种图论问题。
一、引言图论是研究点、线间关系的一门学科,属于应用数学的一部分。
现实生活中,凡是涉及到事物间的关系,都可以抽象为图论模型。
点表示事物,连线表示事物间的联系。
整个求解过程如下:原问题——>图论建模——>运用图论相关理论求解——>转化为原问题的解整个过程关键在于图论建模,所谓图论建模,就是明确点表示什么,连线表示什么,原问题转化为图论中的什么问题。
存在以下两种情况:①若事物间联系是可逆的(比如双行道,朋友),则抽象成无向图②若事物间联系是不可逆的(比如单行道,状态转化不可逆),则抽象成有向图如果需要进一步刻画事物间的联系(比如城市间的距离),就给连线赋一个权值,从而抽象成赋值图。
综上,根据实际问题,可建模成下列图论模型的一种:无向赋权图、有向赋权图、无向非赋权图、有向非赋权图。
例1.宴会定理:任何一宴会中,一定存在两个人有相同的数量朋友M:点表示人,连线表示当且仅当该两个人是朋友A:问题转化为任何一个图一定存在两个顶点的度相等二、图论模型接下来介绍若干典型的图论模型,每种模型几乎对应于图论的一个重要内容,这些内容将在第三章进行讨论,也就给出了这些模型的解答思路。
2.1 偶图模型凡涉及两类事物间的联系(即只考虑两类事物间的联系,而不考虑同类事物间的联系),均可抽象成偶图模型。
作图时,将两类事物分成两行或者两列。
这类模型通常被包含在后续的模型中,但因许多现实问题可抽象成该模型,所以单列出来讨论。
第七部分图论方法第十六章图论模型图论是应用数学的一个分支,它的概念和结果来源非常广泛,最早起源于一些数学游戏的难题研究,如欧拉所解决的哥尼斯堡七桥问题,以及在民间广泛流传的一些游戏难题,如迷宫问题、博弈问题、棋盘上马的行走路线问题等.这些古老的难题,当时吸引了很多学者的注意.在这些问题研究的基础上又继续提出了著名的四色猜想和汉米尔顿(环游世界)数学难题.1847年,图论应用于分析电路网络,这是它最早应用于工程科学,以后随着科学的发展,图论在解决运筹学,网络理论,信息论,控制论,博弈论以及计算机科学等各个领域的问题时,发挥出越来越大的作用.在实践中,图论已成为解决自然科学、工程技术、社会科学、军事等领域中许多问题的有力工具之一,图论模型属于离散类数学模型,是数学模型中比较容易为学生接受的一类模型,具有直观性、趣味性和简洁性,深得大学生的青睐。
另外,图论模型属于较为近代的前沿性数学知识,又具有强烈的,易于为学生接受的数学建模味道,对于培养学生通过建模解决实际问题的能力与学习兴趣都是不可多得的知识内容,因此越来越受到数学家和建模工作者的喜爱.我们所学的这一章只是介绍一些基本概念、原理以及一些典型的应用实例,目的是在今后的学习研究时,可以把图论的基本知识、方法作为工具.本章先介绍图论的基本概念,然后通过哥尼斯堡七桥问题、最短路径问题、中国邮递员问题、人员分派问题、稳定匹配问题、竞赛图等例子介绍图论的具体应用。
16.1 图的基本概念图是一个有序对<V,E>,V是结点集,E是边集,以表示结点数目,表示边的数目,则当∣V∣和∣E∣有限时,<V,E>称为有限图;否则称无限图.无向边, 与无序结点对(v, u)相关联的边;有向边,与有序结点对<v, u>相关联的边;无向图,每条边都是无向边的图,记作G=<V,E>; 有向图,每条边都是有向边的图,记作D=<V,E>.混合图,既有有向边,也有无向边的图.平凡图,仅有一个结点的图;零图,边集为空集的图<V, ∅>,即仅有结点的图.自回路(环),关联于同一个结点的边.无向平行边,联结相同两个结点的多于1条的无向边;有向平行边,联结两个结点之间的多于1条且方向相同的有向边.简单图,不含平行边和自回路的图.在有向图D=<V,E>中,以v(∈V)为起点的边之条数为出度deg+(v);以v(∈V)为终点的边之条数为入度deg-(v).在无向图G=<V,E>中,与结点v(∈V)关联的边数,即为结点度数deg(v)或d(v).;在有向图中,结点v的出度和入度之和为度数.最大度数,∆(G)=max{deg(v)∣v∈V};最小度数,δ(G)=min{deg(v)∣v∈V}有n个结点的且每对结点都有边相连的无向简单图,称为无向完全图.此时有)1(21-=n n E ;有n 个结点的且每对结点之间都有两条方向相反的边相连的有向简单图为有向完全图. 此时有)1(-=n n E 。
Graphical Model1.1 贝叶斯网络联合概率可以写成:()()()()P a,b,c =P c|a,b P b|a P a(0.1)那么用图形就可以表示成图 0-1所示,这是一个有向图,指向的箭头代表着条件概率。
图 0-1 表示(0.1)式的有向图图论模型表示概率的普通形式为(0.2)式。
其中k pa 为k x 的父节点1(x)(|)Kk k k p p x pa ==∏(0.2)这一类图称为有向无环图(Directed Acyclic Graphs ,简称DAG )。
1.1.1 线性回归的图论模型线性回归的概率模型中的随机变量为参数W 以及观察数据12={t ,t t }T N t ,。
另外模型还包含了输入数据12{,,}T M x x x x =,噪声方差2σ以及W 的高斯概率先验中的超参数α(precision ),这些都只是模型的参数而非随机变量。
随机变量W 和t 的联合概率分布为1(,)()(|)Nn n p p p t ==∏W t W W(0.3)其图论模型对应为:图 0-2其中重复的n t 用如图的方框表示。
另外,我们可以将模型的参数加进来:221(,|,,)(|)(|,,)Nn n n p p p t x ασασ==∏W t x W W(0.4)得到的模型为图 0-3,其中n t 是被观察得到的节点,我们给它染上颜色并称之为observed variables 。
W 是未被观察到的,称之为隐藏变量(hidden variables )。
图 0-3在通常情况下,我们的最终目的是当给定一个新的输入ˆx,以及在给定一组观察数据的时候得到ˆt 的概率。
首先有联合概率: 2221ˆˆˆˆ(,,|,,,)(|)(|,,)(|,,)Nn n n p tx p p t x p t x ασασσ=⎡⎤=⋅⎢⎥⎣⎦∏W t x W W W (0.5)用图论模型表示为:图 0-4要得到在输入ˆx以及已有模型下ˆt 的概率,将(0.5)式的W 积分出来即可:22ˆˆˆˆ(|,,,)(,,|,,,)p tx p t x d ασασ∝⎰x W t x W (0.6)1.2 条件独立多变量概率分布的一个重要概念就是条件独立(conditional independence )。
251
图论模型
图论是运筹学的一个经典和重要分支,专门研究图与网络模型的特点、性质以及求解方法。
许多优化问题,可以利用图与网络的固有特性而形成的特定方法来解决,比用数学规划等其他模型来求解往往要简单且有效得多。
图论起源于1736年欧拉对柯尼斯堡七桥问题的抽象和论证。
1936年,匈牙利数学家柯尼希(D. Kӧnig )出版的第一部图论专著《有限图与无限图理论》,树立了图论发展的第一座里程碑。
近几十年来,计算机科学和技术的飞速发展,大大地促进了图论研究和应用,其理论和方法已经渗透到物理、化学、计算机科学、通信科学、建筑学、生物遗传学、心理学、经济学、社会学各个学科中。
9.1 图的基础理论
9.1.1 图的基本概念
所谓图,概括地讲就是由一些点和这些点之间的连线组成的。
定义为(,)G V E =,V 是顶点的非空有限集合,称为顶点集。
E 是边的集合,称为边集。
边一般用(,)i j v v 表示,其中
,i j v v 属于顶点集V 。
以下用V 表示图(,)G V E =中顶点的个数,E 表示边的条数。
如图9.1是几个图的示例,其中图9.1 (a)共有3个顶点、2条边,将其表示为
(,)G V E =,123{,,}V v v v =,1213{(,),(,)}E v v v v =.
2
3
v 45
v 3
4
(a)
(c)
图9.1 图的示意图
1.无向图和有向图
如果图的边是没有方向的,则称此图为无向图(简称为图),无向图的边称为无向边(简称边)。
如图9.1 (a)和(b)都是无向图。
连接两顶点i v 和j v 的无向边记为(,)i j v v 或(,)j i v v 。
如果图的边是有方向(带箭头)的,则称此图为有向图,有向图的边称为弧(或有向边),如图9.1 (c)是一个有向图。
连接两顶点i v 和j v 的弧记为,i j v v 〈〉,其中i v 称为起点,j v 称为终点。
显然此时弧,i j v v 〈〉与弧,j i v v 〈〉是不同的两条有向边。
有向图的弧的起点称为弧头,弧的终点称为弧尾。
有向图一般记为(,)D V A =,其中V 为顶点集,A 为弧集。
例如图9.1 (C)可以表示为(,)D V A =,顶点集1234{,,,}V v v v v =,弧集为1223{,,,,
A v v v v =〈〉〈〉243441,,,,,}v v v v v v 〈〉〈〉〈〉。
对于图除非指明是有向图,一般地,所谓的图都是指无向图。
有向图也可以用G 表示。
例9.1 设12345{,,,,}V v v v v v =,12345{,,,,}E e e e e e =,其中。