数学基础知识回顾(三):图论


前言

上一篇文章我们回顾了图论的基础集合论,这篇文章将会对工业互联网中一个重要数学部分图论进行讲述

一、图论的基本概念

1.有向图与无向图

1.无向图

我们将无向图G定义成一个三元组(V,E,γ),其中

  1. V = { v 1 , v 2 , . . . , v n } V=\{v_1,v_2,...,v_n\} V={ v1,v2,...,vn}是顶点集,里面每一个元素也叫作顶点,结点,而|V|则是G的阶
  2. E = { e 1 , e 2 , . . . , e n } E=\{e_1,e_2,...,e_n\} E={ e1,e2,...,en}是边集,与顶点集一样是一个有限集合,每个元素是一条边
  3. γ \gamma γ是E到V元素个数为1或2的子集全体的一个函数,也就是说对任意的 e ∈ E , 有 γ ( e ) = { u , v } ⊆ V ( u , v 不 需 要 互 异 ) e\in E,有\gamma(e)=\{u,v\}\subseteq V(u,v不需要互异) eE,γ(e)={ u,v}V(u,v),而u和v则是边e的端点

我们规定用n代表顶点数,m代表边数,这样的一个边数为m的n阶图可简称为(n,m)图
图论中研究的图是可以任意游走的,边的形状,相对位置没有实际意义,关注点在其中的关系,所以一个图的表示方法不唯一

2.其他重要概念

  1. 在无向图 ( G , V , γ ) (G,V,\gamma) (G,V,γ)中, e ∈ E e\in E eE,如果 γ ( e ) = { u , v } \gamma(e)=\{u,v\} γ(e)={ u,v},则称e是u和v的一条边,u和v是相邻顶点,并称边e分别与u和v相关联,如果u=v,则称e为一个字环或者环

  2. 在无向图 ( G , V , γ ) (G,V,\gamma) (G,V,γ)中,如果G的两条边 e 1 , e 2 e_1,e_2 e1,e2都与同一个顶点相关联,那么我们称 e 1 , e 2 e_1,e_2 e1,e2邻接

  3. 在无向图 ( G , V , γ ) (G,V,\gamma) (G,V,γ)中,若G中关联同一对顶点的边多于一条,我们称这些边叫做重边或者平行边,同时我们称边的条数为重数

  4. 在无向图 ( G , V , γ ) (G,V,\gamma) (G,V,γ)中, v ∈ V v\in V vV,顶点v的度数表示为 deg ⁡ ( v ) \deg(v) deg(v),度数表征的是G中与顶点v所关联的边的数目(自环时计量度数为2),而图G中最大的点度数与最小的点度数分别记为 Δ ( G ) 和 δ ( G ) \Delta(G)和\delta(G) Δ(G)δ(G)

  5. 在无向图 ( G , V , γ ) (G,V,\gamma) (G,V,γ)中,度数为0的顶点叫做孤立顶点,度数为1的点叫做悬挂点,与悬挂点相连的边叫做悬挂边,所有顶点都是孤立顶点的图叫零图或离散图

  6. 如果所有顶点的度数均相等,这种无向图叫做正则图

  7. 任意两个相异的顶点都相邻地简单图叫做完全图,n阶完全图记作 K n K_n Kn,也就是说顶点全连接,同时也是n-1度正则图(因为每个顶点的度数都为n-1)

  8. 不存在自环和重边的无向图称为简单图

  9. n阶完全图中的边数是 n ( n − 1 ) 2 \frac{n(n-1)}{2} 2n(n1)

  10. 假设 V = { 1 , 2 , . . . , n } ( n ≥ 3 ) , E = { ( u , v ) ∣ 1 ≤ u , v ≤ n , u − v ≡ 1 ( m o d n ) } V=\{1,2,...,n\}(n\geq 3),E=\{(u,v)|1\leq u,v\leq n,u-v\equiv 1 (mod \quad n)\} V={ 1,2,...,n}(n3),E={ (u,v)1u,vn,uv1(modn)},则称简单图G为圈图,记作 C n C_n Cn
    在这里插入图片描述

  11. 假设 V = { 1 , 2 , . . . , n } ( n ≥ 3 ) , E = { ( u , v ) ∣ 1 ≤ u , v ≤ n , u − v ≡ 1 ( m o d n ) 或 者 u = 0 , v ≥ 1 } V=\{1,2,...,n\}(n\geq 3),E=\{(u,v)|1\leq u,v\leq n,u-v\equiv 1 (mod \quad n)或者u=0,v\geq 1\} V={ 1,2,...,n}(n3),E={ (u,v)1u,vn,uv1(modn)u=0,v1},则称简单图G为轮图,记作 W n W_n Wn(本质上是圈图中加了一个顶点将所有的顶点连接起来)
    在这里插入图片描述

  12. 如果简单图中存在一个划分 { V 1 , V 2 } \{V_1,V_2\} { V1,V2}使得G中任意一条边的两端分属这两个个划分,我们称G为二部图,如果 V 1 V_1 V1中每个顶点都与 V 2 V_2 V2中每个顶点相邻,那么就叫做完全二部图,简单来说划分为同一类的顶点间互相没有连线

  13. 二部图的画法技巧可以用交替空心点与实数点来进行,也就是我们说的把点进行划分,同类点无连线,不同类的点相连,像下面这个图也是一个典型的二部图
    在这里插入图片描述

3.握手定理

握手定理是图论的基本定理,其定理形式为:
在无向图 ( G , V , γ ) (G,V,\gamma) (G,V,γ)中, ∑ v ∈ V deg ⁡ ( v ) = 2 ∣ E ∣ \sum\limits_{v\in V}\deg(v)=2|E| vVdeg(v)=2E,表示的是总的度数是所有边数的两倍
并且其有一个些重要的推论:
在任何无向图中,奇数度的顶点数必是偶数(因为总的度数是偶数偶数度的顶点数无论是奇数还是偶数,其算出来的度数都是偶数,所有对于奇数度而言其产生的总度数也应该是偶数,所以无线图中奇数度的顶点数量也是一个偶数)

4.有向图

我们将有向图G定义成一个三元组(V,E,γ),其中

  1. V = { v 1 , v 2 , . . . , v n } V=\{v_1,v_2,...,v_n\} V={ v1,v2,...,vn}是顶点集,里面每一个元素也叫作顶点,结点,而|V|则是G的阶
  2. E = { e 1 , e 2 , . . . , e n } E=\{e_1,e_2,...,e_n\} E={ e1,e2,...,en}是边集,与顶点集一样是一个有限集合,每个元素是一条边
  3. γ \gamma γ是E到V*V的一个函数,也就是说对任意的 e ∈ E , 有 γ ( e ) = { u , v } ⊆ V ∗ V ( u , v 不 需 要 互 异 ) e\in E,有\gamma(e)=\{u,v\}\subseteq V*V(u,v不需要互异) eE,γ(e)={ u,v}VV(u,v),而u是边e的起点,v是边的终点
  4. 与无向图的度不同,有向图出顶点的度叫出度,入顶点的度叫入度

2.图的其他性质

1.图的同构

问题意义:很多的图的差异仅仅在于边与顶点名称的差异,但是从邻接关系上看,它们都是一样的,所以我们要找出这些同类的图,也叫作图的同构,方便我们去归类分析
定义:无向图 ( V 1 , E 1 , γ 1 ) , ( V 2 , E 2 , γ 2 ) (V_1,E_1,\gamma_1),(V_2,E_2,\gamma_2) (V1,E1,γ1),(V2,E2,γ2)中,如果存在 V 1 到 V 2 V_1到V_2 V1V2的双射f和 E 1 , E 2 E_1,E_2 E1,E2的双射g,对于任意的 e ∈ E 1 , γ 1 ( e ) = { u , v } e\in E_1,\gamma_1(e)=\{u,v\} eE1,γ1(e)={ u,v},则 e ∈ E 2 , γ 2 ( g ( e ) ) = { f ( u ) , f ( v ) } e\in E_2,\gamma_2(g(e))=\{f(u),f(v)\} eE2,γ2(g(e))={ f(u),f(v)},则称两个图是同构的,也就是说两个图是一个等价关系
而对于有向图而言,也是同样成立的
判断标准:没有可行的方法判断是否同构,只有一些满足同构图的必要条件

  1. 图的顶点数相同
  2. 图的边数相同
  3. 同构的图顶点度数序列在不计次序下是相同的

2.子图

  1. G = ( V 1 , E 1 , γ 1 ) , H = ( V 2 , E 2 , γ 2 ) G=(V_1,E_1,\gamma_1),H=(V_2,E_2,\gamma_2) G=(V1,E1,γ1),H=(V2,E2,γ2)是两个图,如果满足 V 2 ⊆ V 1 、 E 2 ⊆ E 1 V_2\subseteq V_1、E_2\subseteq E_1 V2V1E2E1,并且 γ 2 = γ 1 ∣ E 2 \gamma_2=\gamma_1|_{E_2} γ2=γ1E2,也就是说对于任何的 e ∈ E 2 e\in E_2 eE2都有 γ 2 ( e ) = γ 1 ( e ) \gamma_2(e)=\gamma_1(e) γ2(e)=γ1(e),我们称H是G的子图

  2. 如果 V 2 = V 1 V_2=V_1 V2=V1,也就是说两者顶点集相同,那么就说H是G的生成子图,该子图包含了图的所有顶点

  3. 如果 V 2 = V 1 , E 2 = E 1 或 者 E 2 = ∅ V_2=V_1,E_2=E_1或者E_2=\emptyset V2=V1,E2=E1E2=时我们称H是G的平凡子图,该子图只有顶点没有边或者就是其本身

  4. H = ( V 2 , E 2 , γ 2 ) 是 G = ( V 1 , E 1 , γ 1 ) H=(V_2,E_2,\gamma_2)是G=(V_1,E_1,\gamma_1) H=(V2,E2,γ2)G=(V1,E1,γ1)的子图,如果 E 2 = { e ∣ γ 1 ( e ) = { u , v } ⊆ V 2 } E_2=\{e|\gamma_1(e)=\{u,v\}\subseteq V_2\} E2={ eγ1(e)={ u,v}V2},也就是说这个子图包含了G图中关于 V 2 V_2 V2的所有边,这叫做导出子图
    在这里插入图片描述

  5. 事实上,构造生成子图只需要保留所有顶点,适量的删除边数量即可,而构造导出子图则需要删除与某删除顶点相连的所有边即可

3.道路,回路与连通性

定义:

  1. 道路:一系列点与边的交替序列 v 0 , e 1 , v 1 , e 2 . . . , v k v_0,e_1,v_1,e_2...,v_k v0,e1,v1,e2...,vk称从 v 0 v_0 v0 v k v_k vk的道路
  2. 回路:在道路的前提下, v 0 = v k v_0=v_k v0=vk,其中k是长度
  3. 圈:在回路的情况下,除了 v 0 , v k v_0,v_k v0,vk,每个顶点至多出现一次,则称为初级道路/圈

无向图一些性质:

  1. 如果简单图中每个顶点的度数都大于1,那么G中一定存在回路(回路存在定理)
    证明:假设一条最长的道路 v 0 , e 1 , v 1 , e 2 . . . , v k v_0,e_1,v_1,e_2...,v_k v0,e1,v1,e2...,vk,由于无法再延伸,所以 v 0 , v k v_0,v_k v0,vk都不可能与非该道路的顶点相连,因为如果还能相连的话就不是最长,又由于每个顶点的度数都大于1,所以端点必与道路中的其他顶点相连,所以产生了回路
  2. 如果u,v是图中的两个顶点,如果图中存在u到v的道路,则称可达,否则不可达
  3. 如果G是无向图,图中任意两点之间都存在道路,那么就叫做连通图,否则就是不连通的
  4. 而假设我们将图中的顶点集进行划分,划分成一个可达的等价类 { V 1 , V 2 , . . . , V k } \{V_1,V_2,...,V_k\} { V1,V2,...,Vk},则我们称G关于 V i V_i Vi的导出子图是G的一个连通分支,也就说这该导出子图是一个连通图
  5. 而连通图中的是指当且仅当e不属于图中任意一条回路

有向图的一些性质:

  1. 对于有向图而言,如果满足无向图的连通性,我们也叫做连通,如果任意两个顶点u,v都互相可达,我们叫强连通性,否则我们就叫单向连通性
  2. 假设G是有向图,如果图中不存在任何有向回路,那么就叫做有向无环图,称为DAG

3.邻接矩阵

这部分相对来说不容易在这里表示,我们将简单描述一下一些重点内容
a i j = { m , 存 在 m 条 从 顶 点 v i 到 顶 点 v j 的 有 向 边 0 , 不 存 在 有 向 边 a_{ij}= \begin{cases} m,存在m条从顶点v_i到顶点v_j的有向边 \\ 0,不存在有向边 \\ \end{cases} aij={ m,mvivj0,
所以每一行的和代表的是顶点 v i v_i vi的出度数之和,每一列的和代表的是顶点 v i v_i vi的入度数之和
重要定理:邻接矩阵A的k次幂 A k A^k Ak a i j k a^k_{ij} aijk的元素代表的是,顶点 v i v_i vi到顶点 v j v_j vj所需长度为k的有向路径数量
直观理解:我们以幂次为k=2来举例。邻接矩阵的每一行的元素 a i m , i 是 常 数 a_{im},i是常数 aim,i,代表的从顶点 v i v_i vi到顶点 v m v_m vm出度的数量,而每一列的元素 a m j , j 是 常 数 a_{mj},j是常数 amj,j,代表的是顶点 v j v_j vj从不同的顶点 v m v_m vm入度的数量。而新的幂矩阵中, a i m ∗ a m j a_{im}*a_{mj} aimamj代表的意思是从顶点 v i v_i vi经过中间顶点 v m v_m vm到顶点 v j v_j vj的可选路径(此时的路径长度为2)数量,将所有的中间顶点的可选路径数量相加则为从顶点 v i v_i vi到顶点 v j v_j vj的可选路径(路径长度为2)数量。而幂的次数则决定了路径长度
无向图与有向图类似,但是无向图的邻接矩阵是一个对称阵(可看做满足两两对称的有向图邻接矩阵)

二、欧拉图

1.欧拉图定义

问题引入:哥尼斯堡七桥问题(一笔画问题)
通过图G中每条边一次且仅一次的道路叫做一条欧拉道路,而通过图G中每条边一次且仅一次的回路叫做一条欧拉回路,存在欧拉回路的图叫做欧拉图
在这里插入图片描述

2.欧拉图的性质

  1. 无向图G是欧拉图当且仅当G是连通的而且所有顶点都是偶数度
  2. 无向图G存在欧拉道路当且仅当G是连通的而且G中奇数度顶点不超过两个
    在这里插入图片描述
  3. 假设连通图中k个奇数度的顶点,由握手定理可知,k一定是偶数,如果我们给这k个顶点两两配对增添 k 2 \frac{k}{2} 2k互不相邻的边,那我们就能得到一个无奇度顶点的连通图,根据我们前面的定理,如果所有顶点都是偶数度的连通图是欧拉图,也就是说我们可以通过该方法构造一个欧拉图
  4. 我们可以发现当一个欧拉环路失去x条边时,会至少产生x条欧拉道路,所以如果有k个度为奇数的顶点,其可以划分成 k 2 \frac{k}{2} 2k条欧拉道路,并且不可能划分为比 k 2 − 1 \frac{k}{2}-1 2k1条或更少的欧拉道路
  5. 有向图中存在欧拉回路当且仅当G是连通的,而且G中的每个顶点的入度都等于出度
  6. 有向图中存在欧拉道路但不存在欧拉回路当且仅当G是连通的,除两个顶点外,其他每个顶点的入度都等于出度,而且这两个顶点中一个顶点入度比出度大1,另外一个比出度小1

三、哈密顿图

1.哈密顿图的定义

问题引入:“”周游世界玩具“”,每个城市看作一个顶点,城市间有多条交通线路,我们需要挑战者利用这些交通线路去经过每个城市,但每个城市只能经过一次,最终返回出发地
定义:
通过图G中每个顶点一次且仅一次的道路叫做哈密顿道路,通过每个顶点一次且一次的回路称作该图的一条哈密顿回路,存在哈密顿回路的图称为哈密顿图
与欧拉图区别:
欧拉图需要经过所有的路径但允许顶点重复,而哈密顿图可以不经过全部路径但一定不允许顶点重复

2.哈密顿图的性质

  1. 很明显,由于不能重复经过顶点但又要遍历所有顶点,所以一定不会存在孤立顶点与悬挂边
  2. 图中是否存在自环或者重边也不影响哈密顿道路的存在性,所以我们不需要考虑复杂图,考虑简单图即可
  3. 哈密顿图的判断方法非常困难,无法找到一个充分必要条件去判断,只能判断存在性与必要性
  4. G = ( V , E ) G=(V,E) G=(V,E)是n阶简单图,如果G中任一一对顶点u和v都满足 d e g ( u ) + d e g ( v ) ≥ n − 1 deg(u)+deg(v)\geq n-1 deg(u)+deg(v)n1,则G中存在哈密顿道路
  5. G = ( V , E ) G=(V,E) G=(V,E)是n阶简单图,如果G中任一一对顶点u和v都满足 d e g ( u ) + d e g ( v ) ≥ n deg(u)+deg(v)\geq n deg(u)+deg(v)n,则G是哈密顿图
  6. G = ( n , m ) G=(n,m) G=(n,m)是n阶简单图,如果 m ≥ n 2 − 3 n + 6 2 m\geq \frac{n^2-3n+6}{2} m2n23n+6,则G是哈密顿图

3.哈密顿图经典问题

1.一个实例

假设在n个人中,任意两个人合在一起都能认识其余的n-2个人,则他们可以围成一圈,使邻者认识。
问题分析:
n个人可以看作n个顶点,认识的关系可以看作边集围成一圈,邻近的人互相认识,也就可以建模成一个哈密顿回路,遍历所有顶点各一遍并且不重复
建模分析:

  1. 假设选取的两个顶点u,v互相认识,也就是说u,v间有连接,那么很明显根据题意就可以得出 d e g ( u ) + d e g ( v ) ≥ n − 2 + 1 + 1 = n deg(u)+deg(v)\geq n-2 +1+1=n deg(u)+deg(v)n2+1+1=n,其中后面的两个加1是指他们互相认识,他们两个的度各加1,然后根据哈密顿回路的充分条件,可以得出其图拓扑是一个哈密顿图,可以围成一圈
  2. 假设选取的两个顶点u,v不认识,那我们选择第三个顶点w假设w与u认识,也就是说两者间有连线,此时我们要满足u跟w两者结合也要认识所有人,而如果w与v不认识,那么u跟w结合也无法认识v,与题目条件不符合,所以w必须认识v,也就说u,v同时认识w,也就是说同时与w有连接,而w是泛指任意一个顶点,也就是说u,v必须同时认识所有顶点,此时 d e g ( u ) + d e g ( v ) ≥ n − 2 + n − 2 > n deg(u)+deg(v)\geq n-2 +n-2 > n deg(u)+deg(v)n2+n2n,同样满足上面条件,也能围成一圈

2.其他经典问题

问题描述:有一个推销员,要到n个城市推销商品,这n个城市两两之间的距离是已知的,他希望找到一条最短的路线,走遍所有的城市,再回到出发的城市。
抽象建模:有n个顶点,并且n个顶点间的权重是已知的,希望在满足哈密顿回路的条件下,找到一个权重最小的哈密顿回路

四、平面图

1.平面图的定义

问题引出:如果我们想我们的链路设计尽量避免无交叉,或者说让交叉尽量减少,那我们就必须研究一种拓扑结构,这种结构就是平面图
定义:如果可以将无向图G画在平面上,使得除端点外,各边彼此不相交,则称G是具有平面性的图,称为平面图
在这里插入图片描述
设图G可以画在平面上并且满足无边相交,G的边将平面划分为若干个封闭区域,称为G的面,其中包围面的边叫做边界,面的边界条数叫做面的次数(桥计算为两条边),并且很明显桥一定只对应着一个面的边界,因为非桥必定是两个面的共享边界,这就是为什么桥要计算成两条边的原因,两个以同一个边相邻的面叫做相邻面
在这里插入图片描述

2.平面图的性质

  1. 平面图的所有次数之和是边数的两倍
  2. 欧拉公式:对于面数为f的一个(n,m)连通平面图,有以下关系:n-m+f=2。欧拉公式表征了平面图中顶点数,面数与边数的关系。其中当悬挂边(桥)直接去掉时,面的数量不变,顶点数与边数同时减1,上面式子是个恒定值。并且如果**同时去除两个面的一条公共边时,边数和面数同时减1,顶点数量不变,**上面式子也是个恒定值。
  3. 欧拉公式反映了通过特定方式去修剪图拓扑都成立的一个等式,是一个标准的约束式
  4. 欧拉公式的推论:假设我们有l个连通分支,欧拉公式改写成:n-m+f=1+l,该公式将不变的情况扩展到了有多个顶点集组成的图的情况
  5. 设G是一个面数为f的(n,m)简单平面图,每个面的次数至少为l,那么总的边数满足以下关系 m ≤ l l − 2 ( n − 2 ) m\leq \frac{l}{l-2}(n-2) ml2l(n2),该不等式可以结合握手定理用于判断图是否为平面图

3.平面图的判断标准

  1. 假设 G = ( V , E , γ ) G=(V,E,\gamma) G=(V,E,γ)是无向图, e ∈ E e\in E eE,顶点u和v是边e的两端,e的细分是指在G中增加一个顶点w,删除边e,再增加以u和w为端点的边 e 1 e_1 e1和以v和w为端点的边 e 2 e_2 e2
  2. 假设G是无向图,G的一个细分就是指对G的边做零次或多次细分后得到的图
    在这里插入图片描述
  3. 库拉托夫斯基定理:一个无向图是平面图当且仅当它不包括与 K 5 K_5 K5 K 3 , 3 K_{3,3} K3,3细分同构子图,所以我们只需要去找子图与对应的那两个完全图进行比较就可以知道其是否满足该平面图的充分条件
  4. 哈密顿图的可平面性判断算法(QHPlanar):
  • 首先我们需要将哈密顿路径画出来,作为一个回路分割区域内和区域外
  • 不在哈密顿路径中的边 { e 1 , e 2 , . . . , e n } \{e_1,e_2,...,e_n\} { e1,e2,...,en},然后它们各作为新的图的顶点{e_1,e_2,…,e_n}
  • 如果原图中两条边必须是交叉的(无法同时画在内部或者外部),那么我们将新图G中的两个顶点相连,然后得到一个新图G
  • 如果这个图是个二部图,则说该哈密顿图是一个平面图,否则就是非平面图

在这里插入图片描述

4.对偶图

我们设两个图 G , G ∗ G,G^* G,G,如果满足以下条件,我们 G ∗ G* G是G的对偶图

  1. G的面f与 G ∗ G^* G顶点 v ∗ v^* v一一对应
  2. 如果G中的面 f i f_i fi f j f_j fj邻接于共同边界e,则在 G ∗ G^* G中有与e一一对应的边 e ∗ e^* e,其以 f i f_i fi f j f_j fj所对应的点 v i ∗ v_i^* vi v j ∗ v_j^* vj为两个顶点
  3. 若割边(桥)e处于f内,则在 G ∗ G^* G中f所对应的点v有一个自环 e ∗ e^* e与e一一对应

下面是对偶图的画法:

  1. 在每个面内画一个空心顶点
  2. 然后每个顶点间连续保证与原图中的线相交,每条新的边恰好与原图中的一条边相交一次,所得的新图就是对偶图

在这里插入图片描述
对偶图的性质:

  1. 可以看出平面图的对偶图还是平面图,并且也是连通的,自环与桥是一个映射关系
  2. 假设G的顶点数,边数,面数分别为 n , m , f n,m,f n,m,f,对偶图 G ∗ G^* G的顶点数,边数,面数分别为 n ∗ , m ∗ , f ∗ n^*,m^*,f^* n,m,f,那么其映射关系为 n = f ∗ , m = m ∗ , f = n ∗ n=f^*,m=m^*,f=n^* n=f,m=m,f=n
  3. 如果面f对应于顶点 v ∗ v^* v,那么f的次数对应于 v ∗ v^* v的度数

五、图的其他问题

1.顶点支配

定义:假设 G = ( V , E ) G=(V,E) G=(V,E)是无向简单图, D ⊆ V D\subseteq V DV,若对于任意的 v ∈ V − D v\in V-D vVD,都存在 u ∈ D u \in D uD,使得 u v ∈ E uv\in E uvE,则称D是一个支配集。如果D的任何真子集都不再是支配集,则称D为一个极小支配集,而如果图G的支配集D对于G的任何支配集D’而言都有 ∣ D ∣ ≤ ∣ D ′ ∣ |D|\leq |D'| DD,那么我们称D是G的一个最小支配集,记作 γ ( G ) \gamma(G) γ(G)
实际问题:在一个分布式计算系统中,每个节点都有一台计算服务器,有些节点存放储存器,节点之间使用数据线连接,为了提高速度,要求每个节点都可以直接访问到数据存储器,但是我们要求这样的存储器越少越好,也就是我们的极小支配集

2.独立

定义:设 G = ( V , E , γ ) G=(V,E,\gamma) G=(V,E,γ)是一个无向图, S ⊆ V S\subseteq V SV,若对任意 u , v ∈ S u,v\in S u,vS,都有u与v不相邻,那么我们称S是G的一个点独立集,也叫独立集。如果对任意独立集T都有 S ⊈ T S \nsubseteq T ST,则称S是一个极大独立集,而具有最大基数的独立集叫做最大独立集,而最大基数为G的独立数 α ( G ) \alpha(G) α(G)
性质:

  1. 对于独立集而言,它同时也是支配集当且仅当其是极大独立集
  2. 无向简单图的极大独立集都是极小支配集,但是反过来不是

实际问题:在某个通信系统中,如果存在电磁干扰,输入与输出可能不同,但是一定在某个范围内,我们就将这些输入和输出可能发生的情况划分为一个集合,通信系统只能使用这些里面的集合进行输出,如果集合中任意两个顶点有相同的输出,我们就将这两个顶点连起来,最后我们找到最大独立集,里面的每个元素都是不同输出的代表元素,也就是代表符号

3.覆盖

定义:设 G = ( V , E ) G=(V,E) G=(V,E)是一个简单图, V ∗ ⊆ V V^*\subseteq V VV,对任意的 e ∈ E e\in E eE,都存在 v ∈ V ∗ v\in V^* vV,使得v是e的一个端点,则称 V ∗ V* V为G的点覆盖集。如果D的任何真子集都不再是点覆盖集,则称 V ∗ V^* V为一个极小点覆盖,而如果图G的覆盖集 V ∗ V^* V对于G的任何支配集 V ′ V' V而言都有 ∣ V ∗ ∣ ≤ ∣ V ′ ∣ |V^*|\leq |V'| VV,那么我们称 V ∗ V^* V是G的一个最小支配集,记作 β ( G ) \beta(G) β(G)
性质:

  1. 在简单图中, V ∗ ⊆ V V^*\subseteq V VV点覆盖集当且仅当 V − V ∗ V-V^* VV独立集
  2. 在简单图中, V ∗ ⊆ V V^*\subseteq V VV极小点覆盖集当且仅当 V − V ∗ V-V^* VV极大独立集,所以很明显我们知道独立集与覆盖集的关系,也就是 α ( G ) + β ( G ) = ∣ V ∣ \alpha(G)+\beta(G)=|V| α(G)+β(G)=V

4.匹配

1.匹配的定义

问题引入:考虑一个调度问题:有m个节点和n个流,但每个节点不一定能处理所有的流,也就是说每个节点处理流的能力各异,但一个节点只能同时处理一个流,而一个流也只能分配一个人去同时处理,那么要如何进行安排,才能使更多的节点处理更多的流呢?这个同时也是一个负载均衡的问题
模型抽象:用顶点 { x 1 , x 2 , . . . , x m } \{x_1,x_2,...,x_m\} { x1,x2,...,xm}表示m个节点,顶点 { y 1 , y 2 , . . . , y n } \{y_1,y_2,...,y_n\} { y1,y2,...,yn}表示n个流,如果节点 x i x_i xi可以处理流 y j y_j yj,则将其连线,很快我们就得到了一个二部图,我们的目标是找到最大匹配,也就是让尽可能多的节点都进行工作
定义:设 G = ( V , E ) G=(V,E) G=(V,E)是一个简单图, M ⊆ E M\subseteq E ME,而M中的任何两条边都不邻接,则称M是G中的一个匹配或边独立集,设顶点 v ∈ V v\in V vV,存在 e ∈ E e\in E eE使得v是e的一个端点,则称v是M-饱和的,否则称M-非饱和的
如果匹配M满足对任意 e ∈ E − M , M ∪ { e } e\in E-M,M\cup\{e\} eEM,M{ e}不再构成匹配,则称M是G的一个极大匹配。如果图G的匹配M满足对于G的任何匹配M’都有 ∣ M ∣ ≥ ∣ M ′ ∣ |M|\geq |M'| MM,则称M是G的一个最大基数匹配,而匹配数记作 v ( G ) v(G) v(G)

2.匹配的一些性质

  1. 饱和图G中每个顶点的匹配称作完全匹配或完美匹配
    在这里插入图片描述

  2. 设M是G中的一个匹配,若G中一条初级道路是由M中的边与E-M中的边交替出现组成的,那我们就叫做交替道路,若一条交错道路的始点与终点都是M-非饱和顶点,那么称其为M-可增广道路(长度一定是奇数)

  3. 伯奇引理:匹配M为图G=(V,E)的最大匹配当且仅当G中不存在M-可增广道路

  4. 伯奇引理有助于给出二部图中最大匹配的算法,基本思想是从任意一个初始匹配开始,然后不断寻找增广道路从而扩大匹配的基数,直到不能扩大为止

3.最大匹配算法

  1. 首先我们先给图G分配一个初始匹配集M,饱和的顶点标1,未处理的顶点标0,如果此时所有顶点都有非0标记,则M已经到达最大匹配,算法终止
  2. 否则我们任意找一个标0的点x,此时令 U ← { x } , V ← ∅ U\leftarrow \{x\},V\leftarrow \emptyset U{ x},V
  3. 如果我们选择的该子集的邻接顶点集 N G ( U ) = V N_G(U)=V NG(U)=V,也就是说则我们认定x无法作为一条可以增广道路的端点,我们给x标记2,然后转到步骤2
  4. 否则我们随机选取其中的一个点 y ∈ N G ( U ) − V y\in N_G(U)-V yNG(U)V,如果y的标记是1,也就是说选取的点是饱和点,那么就一定存在边 y z ∈ M yz\in M yzM,此时连接失败,需要返回上一级重新搜索邻接集,并且把这次失败的过程记录下来,令 U ← ∪ { z } , V ← V ∪ { y } U\leftarrow \cup\{z\},V\leftarrow V\cup\{y\} U{ z},VV{ y},回到步骤3
  5. 如果y的标记是0,那就找到了一条x到y的新的增广道路P,同时给x和y标记1,更新我们的匹配集M,回到步骤2

总结

本文主要介绍了图论里面的内容,作为图拓扑的一个基础数学知识,图论的重要性不言而喻,在很多物理建模问题里面都能遇到。

猜你喜欢

转载自blog.csdn.net/AliForever2020/article/details/128290852
今日推荐