图的基本概念

  • 图的定义与图论模型
    • 图的定义
    • 图的相关概念
    • 图论模型
  • 图的同构
  • 完全图、偶图与补图
  • 子图的相关概念
  • 图运算
  • 顶点的度
    • 顶点的度及其性质
    • 图的度序列及其性质
    • 图的频序列及其性质

记录一下这门课程的知识点和个人理解,参考资料为这门课老师的讲解、电子科大杨春老师的PPT,以及《图论与网络最优化算法》这本书

图的定义与图论模型

图的定义

一个图是一个序偶<V,E>,记为G=(V,E),其中:

  1. V是一个有限的非空集合,称为顶点集合,其元素称为顶点或点。用|V|表示顶点数;
  2. E是由V中的点组成的无序对构成的集合,称为边集,其元素称为边,且同一点对在E中可以重复出现多次。用|E|表示边数。

图可以用图形表示:V中的元素用平面上一个黑点(小圆圈)表示,E中的元素用一条连接V中相应点对的任意形状的线表示。

图的相关概念

  • 有限图:顶点集和边集都有限的图称为有限图;
  • 平凡图:只有一个顶点的图称为平凡图;
  • 空图:边集为空的图称为空图;
  • n阶图:顶点数为n的图称为n阶图;
  • (n, m) 图:顶点数为n,边数为m的图称为(n, m) 图;
  • 边的重数:连接两个相同顶点的边的条数称为边的重数;重数大于1的边称为重边;
  • :端点重合为一点的边称为环;
  • 简单图:无环无重边的图称为简单图;其余的图称为复合图;
  • 顶点u与v相邻接:顶点u与v间有边相连接;其中u与v称为该边的两个端点;
  • 顶点u与边e相关联:顶点u是边e的端点;
  • 边e1与边e2相邻接:边e1与边e2有公共端点;

图论模型

为了抽象和简化现实世界,常建立数学模型。图是关系的数学表示,为了深刻理解事物之间的联系,图是常用的数学模型。

  • 一般步骤

    1. 定义顶点和边的规则
    2. 绘图
    3. 用图论的方法解决问题
  • 经典问题
    • 旅行商问题
      一电脑代理商要从她所在城市出发,乘飞机去六个城市,
      然后回到出发点,如果要求每个城市只经历一次,能否办
      到?给出行走方案
    • 最小路径问题

图的同构

  • 定义:设有两个图G1=(V1,E1)G1=(V1,E1)G1=(V1,E1)和G2=(V2,E2)G2=(V2,E2)G2=(V2,E2),若在其顶点集合间存在双射,使得边之间存在如下关系:设
    u1↔u2;v1↔v2;u1,v1∈V1;u2,v2∈V2;u1v1∈E1u_1\leftrightarrow u_2; v_1 \leftrightarrow v_2; u_1,v_1 \in V1; u2,v2 \in V2; u_1v_1\in E1 u1​↔u2​;v1​↔v2​;u1​,v1​∈V1;u2,v2∈V2;u1​v1​∈E1
    当且仅当u2v2∈E2u_2v_2\in E_2u2​v2​∈E2​,且u1v1u1v1u1v1与u2v2u_2v_2u2​v2​的重数相同。称G1G1G1与G2G2G2同构,记为:
    G1≅G2G1 \cong G2 G1≅G2

完全图、偶图与补图

  • 完全图:每两个不同的顶点之间都有一条边相连的简单图称为完全图。有:
    m(Kn)=12n(n−1)m(K_n) = \frac{1}{2}n(n-1) m(Kn​)=21​n(n−1)

  • 偶图:也称二部图。是指一个图,它的点集可以分解为两个(非空)子集X和Y,使得每条边的一个
    端点在X中,另一个端点在Y中。

  • 完全偶图:完全偶图是指具有二分类(X,Y)(X, Y)(X,Y)的简单偶图,其中X的每个顶点与Y的每个顶点相连,若|X|=m,|Y|=n,则这样的偶图记为Km,nK_{m,n}Km,n​,下图为K2,3K_{2,3}K2,3​:

  • 补图
    对于一个简单图G=(V,E)G =(V, E)G=(V,E),令集合
    E1={uv∣u≠v,u,v∈V}E_1 = \{uv\vert u \neq v,u,v \in V\} E1​={uv∣u​=v,u,v∈V}
    则称图H=(V,E1−E)H = (V,E_1-E)H=(V,E1​−E)为G的补图,记为H=GˉH = \bar{G}H=Gˉ
    注:某些教材会将E1−EE_1-EE1​−E表示为E1\EE_1\backslash EE1​\E

  • 自补图:如果图G与其补图同构,则称G为自补图
    注:如果两个数a、b满足amodp=bmodpa \; mod \; p = b\; mod \; pamodp=bmodp,则称他们模p相等,记做a≡b(modp)a \equiv b (mod \; p)a≡b(modp)
    有:
    n=0,1(mod4)也即n对4取余的结果为0或1n = 0,1(mod \; 4) \qquad也即n对4取余的结果为0或1 n=0,1(mod4)也即n对4取余的结果为0或1

子图的相关概念

简单的说,图G的任意一部分(包括本身)都称为是图G的一个子图

  • 定义:如果 V(H)⊆V(G),E(H)⊆E(G)V(H) \subseteq V(G), E(H) \subseteq E(G)V(H)⊆V(G),E(H)⊆E(G) 且 HHH 中边的重数不超过 GGG 中对应边的条数, 则称 HHH 为 G的子图, 记为 H⊆GH \subseteq GH⊆G当 H⊆G,H≠GH \subseteq G, H \neq GH⊆G,H​=G 时, 称 H\mathrm{H}H 是 GGG 的真子图, 记为 H⊂GH \subset GH⊂G
  • 顶点导出子图:如果 V′⊆V(G)V^{\prime} \subseteq V(G)V′⊆V(G), 则以 V′V^{\prime}V′ 为顶点集,以两个端点均在 V′V^{\prime}V′ 中的边集组成的图, 称头 图G的点导出子图。记为: G[V′]G\left[V^{\prime}\right]G[V′] 。
  • 边导出子图:如果 E′⊆E(G)E^{\prime} \subseteq E(G)E′⊆E(G), 则以 E′E^{\prime}E′ 为边集, 以 E′E^{\prime}E′ 中边的所有端点为顶点集组成的图, 称为 图G的边导出子图。记为: G[E′]G\left[E^{\prime}\right]G[E′]
  • 图的生成子图:如果一个子图包含G的所有顶点,称该子图为G的一个生成子图

图运算

在图论中,将两个或更多的图按照某种方式合并,或者对一个图作某种形式的操作,可以得到很有意义的新图。将图合并或对一个图进行操作,称为图运算。图运算形式很多。

  • 删点:设 V′⊆V(G)V^{\prime} \subseteq V(G)V′⊆V(G), 在 G\mathbf{G}G 中删去 V′V^{\prime}V′ 中的顶点和 G\mathbf{G}G 中与之关 联的所有边的操作, 称为删点运算。记为 G−V′G-V^{\prime}G−V′ 特别地, 如果只删去一个点 v\mathbf{v}v, 则记为 G-v。
  • 删边:设 E′⊆E(G)E^{\prime} \subseteq E(G)E′⊆E(G), 在 GGG 中删去 E′E^{\prime}E′ 中的所有边的操作, 称为删边运算。记为 G−E′G-E^{\prime}G−E′。特别地, 如果只删去一条边e, 则记为G-e。
    注: 删点、删边后得到的图是原图的子图。
  • 图的并运算 :设G1,G2G_1,G_2G1​,G2​是GGG的两个子图,G1G_1G1​与G2G_2G2​并是指由V(G1)∪V(G2)V(G_{1})\cup V(G_2)V(G1​)∪V(G2​)为顶点集, 以 E(G1)∪E(G2)E\left(G_1\right) \cup E\left(G_2\right)E(G1​)∪E(G2​) 为边集组成的子图。记为:G1∪G2G_1 \cup G_2G1​∪G2​。特别是, 如果 G1,G2\mathbf{G}_1, \mathbf{G}_2G1​,G2​ 不相交(没有公共顶点), 称它们的并为直接并, 可以记为: G1+G2\quad G_1+G_2G1​+G2​
  • 图的交运算:设 G1,G2\mathbf{G}_1, \mathbf{G}_2G1​,G2​ 是 G\mathbf{G}G 的两个子图, G1\mathbf{G}_1G1​ 与 G2\mathbf{G}_2G2​ 交是指由 V(G1)∩V(G2)V\left(G_1\right) \cap V\left(G_2\right)V(G1​)∩V(G2​) 为 顶点集, 以 E(G1)∩E(G2)E\left(G_1\right) \cap E\left(G_2\right)E(G1​)∩E(G2​) 为边集组成的子图。记为: G1∩G2G_1 \cap G_2G1​∩G2​
  • 图的差运算:设 G1,G2G_1, G_2G1​,G2​ 是两个图, G1G_1G1​ 与 G2G_2G2​ 的差是指从 G1G_1G1​ 中删去 G2G_2G2​ 中的边得到的 新图。记为 G1−G2=G[E(G1)\E(G2)]G_1-G_2=G\left[E\left(G_1\right) \backslash E\left(G_2\right)\right]G1​−G2​=G[E(G1​)\E(G2​)] 注意是边导出子图
  • 图的对称差运算(或称环和运算):设 G1,G2G_1, G_2G1​,G2​ 是两个图, G1G_1G1​ 与 G2G_2G2​ 的对称差定义为:
    G1ΔG2=(G1∪G2)−(G1∩G2)G_1 \Delta G_2=\left(G_1 \cup G_2\right)-\left(G_1 \cap G_2\right) G1​ΔG2​=(G1​∪G2​)−(G1​∩G2​)

顶点的度

顶点的度及其性质

  • 定义:GGG 的顶点 vvv 的度 d(v)d(v)d(v) 是指 GGG 中与 vvv 关联的边的数目, 每个环计算两次。分别用 δ(G)\delta(\mathrm{G})δ(G) 和 Δ(G)\Delta(\mathrm{G})Δ(G) 表示图G的最小与最大度。
  • 奇点与偶点:奇数度的顶点称为奇点,偶数度的顶点称为偶点。
  • k-正则图:设G=(V,E)G=(V,E)G=(V,E)为简单图,如果对所有v∈Vv \in Vv∈V,有d(v)=kd(v)=kd(v)=k,称图G为k-正则图。
  • 定理(图论第一定理,又称握手定理):定理: 图 G=(V,E)G=(V, E)G=(V,E) 中所有顶点的度的和等于边数 mmm 的 2 倍, 即:
    ∑v∈V(G)d(v)=2m\sum_{v \in V(G)} d(v)=2 m v∈V(G)∑​d(v)=2m
  • 推论1:在任何图中,奇点个数为偶数。
  • 推论2:正则图的阶数和度数不同时为奇数。
    证明 : 设 GGG 是 kkk-正则图, 若 kkk 为奇数, 则由推论 1 知 正则图 GGG 的度数必为偶数

图的度序列及其性质

一个图 GGG的各个点的度 d1,d2,…,dnd_{1}, d_{2}, \ldots, d_{n}d1​,d2​,…,dn​构成的非负整数组 (d1,d2,…,dn)\left(d_{1}, d_{2}, \ldots, d_{n}\right)(d1​,d2​,…,dn​) 称为 GGG的度序列 。任意一个图 GGG 对应唯一一个度序列, 图的度序列是 刻画图的特征的重要“拓扑不变量”。

  • 拓扑不变量:图 G 的“拓扑不变量” 是指与图G有关的一个数或数组(向量)。它对于与图G同构的所有图来说不会发生改变。一个图G可以对应很多拓扑不变量。如果某组不变量可完全决定一个图, 称它为不变量的完全集。
  • 定理: 非负整数组 (d1,d2,…,dn)(\mathrm{d}_{1}, \mathrm{~d}_{2}, \ldots, \mathrm{d}_{\mathrm{n}})(d1​, d2​,…,dn​)是图的度序列的 充分必要条件是: ∑i=1ndi\sum_{i = 1}^{n} d_{i}∑i=1n​di​ 为偶数。

证明:必要性由握手定理立即得到。如果 ∑i=1ndi\sum_{i = 1}^{n} d_{i}∑i=1n​di​ 为偶数, 则数组中为奇数的数字个数必为偶数。按照如下方式作图 G :
若 d1\mathrm{d}_{1}d1​ 为偶数, 则在 与之对应的点作 di/2\mathrm{d}_{\mathrm{i}} / 2di​/2 个环; 对于剩下的偶数个奇数,两两配对后分别在每配对点间先连一条边,然后在每个顶点画(dj−1)/2(d_j-1)/2(dj​−1)/2个环。该图的度序列就是已知数组。

关于图序列,主要研究3个问题:

  1. 存在问题:什么样的整数组是图序列?
  2. 计数问题:一个图序列对应多少不同构的图?
  3. 构造问题:如何画出图序列对应的所有不同构图?
    研究现状: (1)彻底解决了,(2)解决得不好,(3)没有解决。
  • 定理: 非负整数组π=(d1,d2,⋯,dn),d1≥d2≥⋯≥dn,∑i=1ndi=2m\pi = \left(d_{1}, d_{2}, \cdots, d_{n}\right), d_{1} \geq d_{2} \geq \cdots \geq d_{n}, \sum_{i = 1}^{n} d_{i} = 2 mπ=(d1​,d2​,⋯,dn​),d1​≥d2​≥⋯≥dn​,∑i=1n​di​=2m是图序列的充分必要条件是:π1=(d2−1,d3−1,⋯,dd1+1−1,dd1+2,⋯,dn)\pi_{1} = \left(d_{2}-1, d_{3}-1, \cdots, d_{d_{1}+1}-1, d_{d_{1}+2}, \cdots, d_{n}\right)π1​=(d2​−1,d3​−1,⋯,dd1​+1​−1,dd1​+2​,⋯,dn​)是图序列。
    例 π=(6,5,4,3,2,2,2)\pi=(6,5,4,3,2,2,2)π=(6,5,4,3,2,2,2)是否为图序列?如果是,作出对应的一个简单图。
    解:
    KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \pi_1&=(4,3,2,…
    由于是图序列,所以原序列是图序列。

  • 定理: (厄多斯1960)非负整数组
    π=(d1,d2,⋯,dn),d1≥d2≥⋯≥dn,∑i=1ndi=2m\pi = \left(d_{1}, d_{2}, \cdots, d_{n}\right), d_{1} \geq d_{2} \geq \cdots \geq d_{n}, \sum_{i = 1}^{n} d_{i} = 2 mπ=(d1​,d2​,⋯,dn​),d1​≥d2​≥⋯≥dn​,i=1∑n​di​=2m
    是图序列的充分必要条件是:
    ∑i=1rdi≤r(r−1)+∑i=r+1nmin⁡{r,di},1≤r≤n−1\sum_{i = 1}^{r} d_{i} \leq r(r-1)+\sum_{i = r+1}^{n} \min \left\{r, d_{i}\right\}, 1 \leq r \leq n-1i=1∑r​di​≤r(r−1)+i=r+1∑n​min{r,di​},1≤r≤n−1

该定理证明很难!
上世纪60年代以来, 人们又研究所谓的唯一图序列问题

  • 定理: 一个满足 d2=dn−1\mathbf{d}_{2}=\mathbf{d}_{\mathbf{n}-1}d2​=dn−1​ 的图序列 π=(d1,d2,⋯,dn)\pi=\left(d_{1}, d_{2}, \cdots, d_{n}\right)π=(d1​,d2​,⋯,dn​) 是唯一图序列的充分必要条件是下列条件之一满足:
    KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ &(1) d_{1}=d_{…

图的频序列及其性质

  • 定理:一个简单图GGG的nnn个点的度不能互不相同

证明:因为图G为简单图,所以:
△(G)≤n−1\triangle(G) \leq n-1△(G)≤n−1
情形1:若 G\mathrm{G}G 没有孤立点,则 1≤d(v)≤n−1,∀v∈V(G)1 \leq d(v) \leq n-1, \forall v \in V(G)1≤d(v)≤n−1,∀v∈V(G)
由鸽笼原理:必有两顶点度数相同;
情形 2: 若 G\mathrm{G}G 只有一个孤立点, 设 G1\mathrm{G 1}G1 表示 G\mathrm{G}G 去掉孤
立点后的部分, 则: 1≤d(v)≤n−2,∀v∈V(G1)1 \leq d(v) \leq n-2, \forall v \in V\left(G_{1}\right)1≤d(v)≤n−2,∀v∈V(G1​)
由鸽笼原理:在 G1\mathrm{G}_{1}G1​ 里必有两顶点度数相同;
情形 3: 若 G\mathrm{G}G 只有两个以上的孤立点, 则定理显然 成立。

  • 定义: 设nnn阶图GGG的各点的度取sss个不同的非负整数 d1,d2,…,dsd_{1}, d_{2}, \ldots, d_{s}d1​,d2​,…,ds​ 又设度为 did_{i}di​ 的点有 bib_{i}bi​ 个 (i=1,2,…,s)(i=1,2, \ldots, s)(i=1,2,…,s) , 则 ∑i=1sbi=n\sum_{i=1}^{s} b_{i}=ni=1∑s​bi​=n故非整数组 (b1,b2,…,bs)\left(b_{1}, b_{2}, \ldots, b_{s}\right)(b1​,b2​,…,bs​) 是 nnn 的一个划分,称为 GGG 的频 序列。
  • 定理:一个nnn 阶图 GGG 和它的补图有相同的频序列。

图论及其应用 学习笔记(一)图的基本概念相关推荐

  1. 【图神经网络】图神经网络(GNN)学习笔记:图的基础理论

    图神经网络GNN学习笔记:图的基础理论 1. 图的概述 2.图的基本类型 2.1 有向图和无向图 2.2 非加权图与加权图 2.3 连通图与非连通图 2.4 二部图 2.5 邻居和度 2.6 子图和路 ...

  2. pyecharts查看版本_pyecharts v1 版本 学习笔记 折线图,面积图

    折线图 折线图 基本demo import pyecharts.options as opts from pyecharts.charts import Line c = ( Line() .add_ ...

  3. 【图神经网络】图神经网络(GNN)学习笔记:图分类

    图神经网络GNN学习笔记:图分类 1. 基于全局池化的图分类 2. 基于层次化池化的图分类 2.1 基于图坍缩的池化机制 1 图坍缩 2 DIFFPOOL 3. EigenPooling 2.2 基于 ...

  4. 激光slam学习笔记——基于图优化的激光slam方法

    激光slam学习笔记--基于图优化的激光slam方法 1.slam基础 整体来说,在激光slam中,滤波器的误差要小于图优化的误差. 图优化通俗点说就是里程计计算的位姿与观测到的位姿之间会形成一个误差 ...

  5. J2EE学习笔记三:EJB基础概念和知识 收藏

    J2EE学习笔记三:EJB基础概念和知识 收藏 EJB正是J2EE的旗舰技术,因此俺直接跳到这一章来了,前面的几章都是讲Servlet和JSP以及JDBC的,俺都懂一些.那么EJB和通常我们所说的Ja ...

  6. MySQL学习笔记02【SQL基本概念与通用语法、数据库的CRUD操作】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  7. 【学习笔记】 科目一之概念篇

    [学习笔记] 科目一之概念篇 概念题方法 1)抓重点:科目一设计知识范围太广,不要妄想所有知识点都复习到,这是不可能的,我们的目标是45分几个而不是考高分,复习时间有限,所以要学会抓重点,比如法律条文 ...

  8. SDN软件定义网络 学习笔记(1)--基本概念

    SDN软件定义网络 学习笔记(1)--基本概念 1. 定义 2. 提出背景 3. 体系结构 1. 定义 软件定义网络(Software Defined Network,SDN),顾名思义,SDN 与传 ...

  9. 机器学习框架ML.NET学习笔记【1】基本概念与系列文章目录

    一.序言 微软的机器学习框架于2018年5月出了0.1版本,2019年5月发布1.0版本.期间各版本之间差异(包括命名空间.方法等)还是比较大的,随着1.0版发布,应该是趋于稳定了.之前在园子里也看到 ...

  10. 《自控》学习笔记一——自动控制的一般概念(一)

    <自控>学习笔记一--自动控制的一般概念(一) 引言 自动控制理论发展简史 自动控制概念 基本控制方式 开环控制 闭环控制 复合控制 控制系统示例 负反馈原理 控制系统的组成 控制系统组成 ...

最新文章

  1. 10分钟搞定 Java 并发队列
  2. python创建csv文件并写入-Python 将数据写入文件(txt、csv、excel)
  3. android backlight
  4. 【视频课】深度学习入门必修,子欲学算法,必先搞数据!
  5. ALV 后台输出时,增加spool假脱机的宽度
  6. VTK:图片之ImageRotate
  7. c语言程序检测进程pid,C语言实现由PID获取进程名由进程名获取PID
  8. PaperWeekly 第28期 | 图像语义分割之特征整合和结构预测
  9. 语言怎么得到直流电压并采样_交流电AC如何转换成直流电DC?
  10. 前端学习(2997):vue+element今日头条管理--编码规范说明
  11. xp硬盘上安装ubuntu12.04双系统
  12. 开机自启动redis
  13. 2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 C Thinking Bear magic
  14. hdoj 1863 畅通工程 最小生成树---prime算法
  15. JAVA WBE入门之HTML的使用(超详细,必看)附实例和代码
  16. 1.2Android 5.1-7.1 高通驱动修改
  17. U盘容量变小了 -恢复U盘实际容量教程(亲试有效)
  18. 计算机在信息处理中的作品用,计算机信息处理技术在办公自动化中的运用
  19. JavaScript: 多维数组的几个注意点
  20. UE4 坐标转换 之 CAD 坐标转UE

热门文章

  1. 山东师范学院计算机系分几级,CCF山东师范大学学生分会完成换届
  2. Adaptive AUTOSAR (AP) 平台设计(6)——通信管理
  3. 智慧医疗健康领域数字孪生应用框架
  4. python实现Content-Type: multipart/form-data; boundary=xxx接口的调用
  5. 计算机网络自主章节测试题,计算机网络_中国大学 MOOC_满分章节测试答案
  6. python 实现神经网络 处理数据集cifar10
  7. 电子信息工程——学习资料(更新.........)
  8. 横向联邦学习-梯度安全聚合(二)
  9. iOS中boolean、Boolean、BOOL、bool的区别
  10. 【MATLAB实验】数学实验实验求根问题三种方法、积分画图及古典密码设计(二分法、牛顿法、不动点迭代法)