图论入门及基础概念(图篇)

目录

      • 目录
  • 图篇
      • 图及其表示
    • 图论起源之七桥问题
    • 图论引入
      • 图的表示:
    • 边的表示和读取:
    • 点的表示和读取:
    • 图论的基本概念
    • 图的表示引入
    • 额。。。。 V3 = 。。。
    • 图的表示法
  • 结语

图篇

这是第一次写博客,为了下载积分而来。
随便写些,各位大佬们多多指。

本次内容是关于图论的引入的,内容如下:

  • 矩阵引入
  • 什么是图?其如何表示?
  • 图论起源之七桥问题
  • 图论引入
  • 图论相关基本概念
  • 图论的表示引入
  • 图的表示法

  • 矩阵引入

线性代数学的好的可以直接跳过,
当然,看不懂的也可以直接跳过,这部分引入只是计为了后面计算上方便,

矩阵可以用在生活的方方面面,出现在各个学科中,
例如,我们如何用矩阵(向量)来描述化学反应方程式:

这里写图片描述

首先,用向量描述一个物体必须先划分维度

由于原子守恒原理我们知道氧原子氢原子相互独立,互不相关
所以我们假设两个维度空间氧空间氢空间
并且这两个空间相互垂直(即线性无关)

基于空间运算的封闭性,我们得出该方程式存在的完备空间S为:

这里写图片描述

由于向量空间运算的封闭性,我们有:

这里写图片描述

我们分别将氧气氢气表示为该空间下的向量点

这里写图片描述 这里写图片描述 这里写图片描述

于是化学方程式配平便变成了向量之间的运算:

图论入门及基础概念(图篇)_第1张图片

由于氧气和氢气是该完备空间的基,即单质。
容易运算出答案:

这里写图片描述

图及其表示

  • 什么是

    要说什么是图,这个有点不太好说,概念的东西太抽象,我还是直接说图的表示吧,知道图的表示形式,自然也就知道什么是图了。

·图的表示一般是分为两块的:

(1)某类具体事物
(2)这些事物之间的联系

·而在图论中,只存在两种形态:

节点

这两种形态通常这样对应:

图论入门及基础概念(图篇)_第2张图片

由于这种对应关系,我们通常把这种关系转化为矩阵描述,在前言中我们提到了一个例子:

图论入门及基础概念(图篇)_第3张图片

在这里,具体事物即:

这里写图片描述这里写图片描述这里写图片描述

抽象事物(事物间的联系)即其中的数量关系

于是我们将化学方程改为如下矩阵式:

图论入门及基础概念(图篇)_第4张图片

我们可以看到,矩阵分为两块:

这里写图片描述这里写图片描述
PS: 所以说,用矩阵描述问题能使描述过程更加清晰化,建议采用。

图论起源之七桥问题

图论入门及基础概念(图篇)_第5张图片
七桥问题很经典,我们都知道大数学家欧拉将其转为一笔画的问题,并顺利解决,由此开创了图论的先河。

用下图举个例子:

图论入门及基础概念(图篇)_第6张图片

若将其看做画线问题:

对于任意非起始点,我们要一笔通过他只有如下两种可能:

(1)两条路线:

有进必有出,必然是能够一笔完成的
图论入门及基础概念(图篇)_第7张图片

(2)四条路线:

图论入门及基础概念(图篇)_第8张图片
由于通过外界一圈以后又回来所以对于这种偶数条线路,
可以等效为如下形式:

图论入门及基础概念(图篇)_第9张图片
即将该节点视为另外一个圈起始点,其中的闭圈必然能够由一笔画完成,由于该圈可以独立出去,我们将该圈等效为不存在,便将偶数边节点等效为如下一进一出的两条边节点:
图论入门及基础概念(图篇)_第10张图片

三条路线:

三条线路相对复杂,但它的进出也只有如下两种可能形式:
图论入门及基础概念(图篇)_第11张图片
同样,我们运用等效原理将其等效为如下形式:
图论入门及基础概念(图篇)_第12张图片
我们将其中的闭圈化简去掉,即等效为:
图论入门及基础概念(图篇)_第13张图片
所以,该节点必然是一笔画的起点(右图形式)或者终点(左图形式)

所以,我们得出了如下的基本结论:

拥有偶数边的节点
可以等效为只有一进一出两条边的点。
即该点等效为过程点。
拥有奇数边的节点
可以等效为要么进,要么出的单边的节点。
即该点等效为起始点。

唧唧歪歪了这么多,我们还是回到七桥问题吧:

图论入门及基础概念(图篇)_第14张图片

那么问题来了:

问:该图能否由一笔画完成,并说明理由。

首先我给出答案不能,理由是:

A、C、D、B节点均为奇数边
故等效为4个起始点,而一个一笔画的图最多只能有两个起始点

PS:若要求一笔画的终点和起点重合,则图节点中必然全为偶数边,这就是十分显然的了。

图论引入

图论,顾名思义,必然是关于图的理论咯
由于图的表示分为两块:

节点

我们不妨假设对于图 这里写图片描述

①节点集 记为:
这里写图片描述
② 边集 记为:
这里写图片描述

那么问题来了:

我们该如何去表示其中的某个节点或边呢?
PS:马克思说:“人的本质不是单个人所固有的抽象物,在其现实性上,它是一切社会关系的总和。”(《马克思恩格斯选集》第2版第1卷第60页)
图论入门及基础概念(图篇)_第15张图片
附即兴打油词一首:
《如果说》—妖米
如果说人类是一个集合,那么某个人便由他的社会关系总和来定义。
如果说节点集是一个集合,那么某个节点便由他的边的总和来定义。
如果说边集是一个集合,那么某条边便由他连接的点的总和来定义。
2018-9-4 —— 23:12

图论入门及基础概念(图篇)_第16张图片

图的表示:

这里写图片描述
图论入门及基础概念(图篇)_第17张图片

对于任意某条边,以边e1为例:

图论入门及基础概念(图篇)_第18张图片

由于任意边节点只有两个,我们不妨记为

这里写图片描述

对于任意某个节点,分别以v3,v4为例:

图论入门及基础概念(图篇)_第19张图片
对于v3,我们记为:
图论入门及基础概念(图篇)_第20张图片
对于v4,我们记为:
图论入门及基础概念(图篇)_第21张图片

但是,这么记虽然没错,但是我们想能不能用一种统一的格式去表示,将其任意点化为统一的标准格式
于是,我们灵光一闪想了一个办法 :

图论入门及基础概念(图篇)_第22张图片
还记得前面提到的原子守恒那边的完备空间
图论入门及基础概念(图篇)_第23张图片
图论入门及基础概念(图篇)_第24张图片

事实上,由于我们约定俗成,比如说第一行就表示v1,第二行就表示v2,所以我们完全可以将如上形式化为如下:

图论入门及基础概念(图篇)_第25张图片
即以逻辑值来代表是否存在连接。

事实上,由于标准化的约定,我们可以将如上形式整理成表格:

节点 \ 边-> e1 e2 e3 e4 e5 e6 e7
V1 1 0 0 1 0 0 1
V2 1 1 1 0 0 0 0
V3 0 1 1 1 1 1 0
V4 0 0 0 0 1 1 1

边的表示和读取:

图论入门及基础概念(图篇)_第26张图片

点的表示和读取:

这里写图片描述

由于如上表格中,既有包含所有点的表示,由包含所有边的表示,所以那个表格便是一个图。

通常我们不写表格,主要原因麻烦,我们通常直接写为矩阵:
图论入门及基础概念(图篇)_第27张图片

图论的基本概念

  • 1、有向图

    顾名思义,就是有方向的图呗。
    图论入门及基础概念(图篇)_第28张图片

  • 2、无向图

    就是没有有方向的图呗,也可以叫双向图。像前面的例子,七桥问题都是无向图。
    图论入门及基础概念(图篇)_第29张图片

  • 3、有限图

    就是节点和边都有限的图呗。

  • 4、简单图

    就是没有环和多重边的图,
    因为环独立且封闭,可产生自由变量,导致问题变复杂。多重边可分解为 边+环。
    反例:
    图论入门及基础概念(图篇)_第30张图片

  • 5、完全图

    就是任意两个点都有一条边相连的图。
    图论入门及基础概念(图篇)_第31张图片
    P s:有一种结构叫拓扑

  • 6、二分图
    图论入门及基础概念(图篇)_第32张图片

    可以把顶点集分成两组,并且同组顶点不相邻的图。如:
    图论入门及基础概念(图篇)_第33张图片

  • 7、子图与母图

    如果原图叫母图,那么从其中抠一份下来,那就叫它的子图。
    图论入门及基础概念(图篇)_第34张图片

  • 8、顶点v的度:

    就是顶点的边数(环算两条边)。
    图论入门及基础概念(图篇)_第35张图片
    这里写图片描述
    图论入门及基础概念(图篇)_第36张图片

由于每条边都连接两个顶点,所以一个图的顶点度之和必然是边的两倍。

即:这里写图片描述
任意图必然可由N个1笔画完成,而每一笔在图中产生的奇顶点数要么2个,要么0个,所以任意图的奇顶点数必然是偶数个,这是很显然的。

9、 途径
两个顶点之间的通路我们称为途径

若是途径中没有重复的顶点,我们称为
图论入门及基础概念(图篇)_第37张图片
如果没有重复的边,我们称为
图论入门及基础概念(图篇)_第38张图片

10、边与弧

为了区分边是否有方向,通常
有方向的叫,没方向的叫

图的表示引入

前面我们以七桥问题(无向图)讲了图的表示:

图论入门及基础概念(图篇)_第39张图片
图论入门及基础概念(图篇)_第40张图片

\ e1 e2 e3 e4 e5 e6 e7
V1 1 0 0 1 0 0 1
V2 1 1 1 0 0 0 0
V3 0 1 1 1 1 1 0
V4 0 0 0 0 1 1 1

那么问题来了,用这种方式表示有向图该怎么表示?

对于一个图,有两个要素:

1、具体要素

2、具体要素间的联系

由于具体要素(顶点集)肯定没法变:

节点集 记为:
这里写图片描述
弧集 记为:
这里写图片描述

我们尝试另外一种表示:

图论入门及基础概念(图篇)_第41张图片
我们不再用连接的边来定义节点,而用邻接节点来定义节点。如:
图论入门及基础概念(图篇)_第42张图片
图论入门及基础概念(图篇)_第43张图片

以下图为例:

图论入门及基础概念(图篇)_第44张图片
(可达的通路)的记为1。
图论入门及基础概念(图篇)_第45张图片

额。。。。 V3 = 。。。

图论入门及基础概念(图篇)_第46张图片

我们还是以下图为例吧:

刚才你们什么都没看见
图论入门及基础概念(图篇)_第47张图片
其中(可达的通路)的记为1。
图论入门及基础概念(图篇)_第48张图片

于是我们整理成矩阵表格:

\
V1 V2 V3 V4
V1
V2 0
V3
V4 0

我们做如下约定:

图论入门及基础概念(图篇)_第49张图片
于是,该矩阵定义了顶点之间的联系。
即表示出了弧集

我们发现,这种矩阵定义的方式,既可以表示有向图,又可以表示无向图,而且貌似还比原来的表示方法更节省空间。

但是这种方法的缺点很明显就是,当出现多重边时无法表示,反正你们刚才什么都没看到就对了。

图的表示法

  • 这种用邻接节点定义其他节点的方法:

    我们不妨叫做邻接矩阵法
    图论入门及基础概念(图篇)_第50张图片

  • 而那种用边将两个顶点关联起来的方法,

    我们不妨叫关联矩阵法
    图论入门及基础概念(图篇)_第51张图片
    事实上,我们用关联矩阵也可以表示有向图,只要约定入节点为-1,出节点为1即可。

  • 当然,还有其他方法可以表示图,在计算机中,只要方便于运算的表示方法都可以。

如,直接用弧集来表示图:
图论入门及基础概念(图篇)_第52张图片
即用二维数组的方法表示。
这种用弧集表来表示图的方法,
我们不妨叫弧表表示法

当然,还可以整理成有序的:

图论入门及基础概念(图篇)_第53张图片
对了,忘了讲一件事,
通常我们增加一行,用来放弧的权重。对于邻接矩阵和关联矩阵,直接把例中的1改成相应权重即可。

  • 还有一种方法,就是用程序把图画出来。
    熟悉C语言的童鞋可能知道 指针和结构体
    如果接触过数据结构可能知道 链表
    如:
    struct point
    {
    point * P;
    int Data;
    };
    然后将数据挂在链表上。
    图论入门及基础概念(图篇)_第54张图片
    这种方法提一下,懂的自然懂。
    不懂也没关系,反正我也不多讲了。

结语

  • 本次介绍了图论相关基本概念以及相关表
  • 感谢您的耐心阅读
  • 原创作品,如转载,请注明出处
  • 版权声明:https://blog.csdn.net/qq_43133135/article/details/82390300

你可能感兴趣的:(运筹学,图论)