1 图的基本概念

2023-03-12
2023-03-14

第一章 图的基本概念

1.1 图和简单图

图的定义

★图

一个图 G=(V,E)G=(V, E), 其中:
(1) VV 是一个有限的非空集合, 称为顶点集合, 其元素称为顶点或点 (vertex). 用 ∣V∣|V| 表示顶点数;
(2) EE 是由V中的点组成的无序对构成的”集合”, 称为边集, 其元素称为边 (edge), 且同一点对在 EE 中可以重复出现多次, 用 ∣E∣|E| 表示边数.

注:
(1) Sylvester (1814-97) 于1878年在 ”Chemistry and Algebra” 一文中首次使用 ”Graph” 作为术语.
(2) 图可以用图形表示: VV 中的元素用平面上一个实心点或者小圆圈表示(位置无关的), EE 中的元素用一条连接 VV 中相应点对的任意的线(曲直, 长短等无关)表示.

对于图 GG:
m(G)m(G) 表示图的边数;
n(G)n(G) 表示图的顶点数.

图的相关概念

有限图 (finite graph): 顶点集和边集都有限的图称为有限图;

平凡图 (trivial graph): 只有一个顶点的图称为平凡图;

零图 (null graph): 顶点集为空(边集随之为空)的图;

空图 (empty graph): 边集为空(顶点集非空)的图称为空图;

nn 阶 (order) 图 : 顶点数为 nn 的图称为 nn 阶图;

(n,m)(n,m) 图: 顶点数为 nn, 边数为 mm 的图称为 (n,m)(n,m) 图;

边的重数 (multiplicity): 连接两个相同顶点的边的条数称为边的重数; 重数大于 1 的边称为 重边 (multiple/parallel edge);

自环 (loop): 端点重合为一点的边称为自环;

多重图 (multigraph): 包含重边 (但不包含自环) 的图;

★简单图 (simple graph): 无自环无重边的图称为简单图(或单图).

注: 简单图并不“简单”.

顶点与边的关系

顶点 uu 与 vv 相邻或邻接 (adjacent): 顶点 uu 与 vv 间有边相连接, 记为 u↔vu↔v; 其中 uu 与 vv 称为该边的两个端点 ; 简单图中, 包含一个点 vv 所有邻点的集合称作 vv 的邻域 (neighborhood), 记作 N(v)N(v).

边 e1e_1 与边 e2e_2 邻接: e1e_1 与 e2e_2 有公共端点.

顶点 uu 与边 ee 相 关联 (incident): 顶点 uu 是边 ee 的端点.

图的同构

★图的同构 ≅\cong

设两个简单图 G1=(V1,E1)G_1=(V_1, E_1) 和 G2=(V2,E2)G_2=(V_2, E_2), 若在其顶点集合间存在双射, 使得边之间存在如下关系: 设u1↔u2u_1↔u_2 , v1↔v2v_1↔v_2, u1,v1∈V1u_1,v_1 \in V_1 , u2,v2∈V2u_2,v_2 \in V_2; u1v1∈E1u_1v_1 \in E_1, 当且仅当 u2v2∈E2u_2v_2 \in E_2 (非简单图还要求 u1v1u_1v_1 与 u2v2u_2v_2 的重数相同). 称 G1G_1 与 G2G_2 同构 (isomorphism), 记为: G1≅G2G_1 \cong G_2.

图同构的几个必要条件

由定义可以得到图同构的几个必要条件:

  • (1)顶点数相同;
  • (2)边数相同;
  • (3)关联边数相同的顶点个数相同.

判定同构

注:
(1) 子图同构问题是 NP-完全的;
(2) 判定一般图的两个图是否同构普遍认为是困难的,是否存在 (或不存在) 多项式时间算法仍然是公开的(open problem). 多数学者认为它是 NP 问题中 NPI 的 (既非 P 又非 NP-完全的)可能候选对象.

对于规模不大的两个图, 判定其是否同构, 可以采用观察加推证的方法.

注: 化学家常用图同构方法来研究同一类分子的结构是否相同. 如烷烃的枚举.

注: 当图的阶数较大时, 枚举不再是好的方法.

例

证明下面两图不同构.

image-20230531160144872

证明: u1u_1 的两个邻接点与 v1v_1 的两个邻接点状况不同. 所以, 两图不同构.

例

证明下面两图同构.

image-20230531160222927

证明: 作映射 f:vi↦ui(i=1,2….10)f: v_i ↦ u_i (i=1, 2….10).

容易证明, vivj∈E(G)v_iv_j\in E(G), 当且仅当 f(vi)f(vj)=uiuj∈E(H) (1≤i≤10,1≤j≤10)f(v_i)f(v_j)=u_iu_j\in E(H)~(1\le i\le 10,1\le j\le 10).

由定义知, 图 GG 与 HH 是同构的.

例

给出 44 个顶点的非同构的所有简单图.

分析: 四个顶点的简单图边数最少为0, 最多为6, 所以可按边数进行枚举 (In fact, brute-force approach is sufficient for small n).

image-20230531160622617

注:
(1) 非标号图(即顶点不固定)的不同构图的个数增长见: http://oeis.org/A000088.
(2) 标号的非同构图的个数增长见:http://oeis.org/A000273.

完全图、二部图与补图

完全图 KnK_n

每两个不同的顶点之间都有一条边相连的简单图称为完全图 (complete graph).

在同构意义下, nn 个顶点的完全图只有一个, 记为 KnK_n.

容易求出: m(Kn)=12n(n−1)m(K_n)= \frac{1}{2} n(n-1).

★二部图 / 偶图

所谓具有二分类 (X,Y)(X, Y) 的二部图或偶图(bipartite graph)是指一个图, 它的点集可以划分为两个非空子集 XX 和 YY, 使得每条边的一个端点在 XX 中, 另一个端点在 YY 中.

完全二部图

完全二部图 (complete bipartite graph) 是指具有二分类 (X,Y)(X, Y) 的简单二部图, 其中 XX 的每个顶点与 YY 的每个顶点相连, 若 ∣X∣=m|X|=m , ∣Y∣=n|Y|=n, 则这样的完全二部图记为 Km,nK_{m,n}. 特别地, K1,3K_{1,3}也被称作爪 (claw), K1,sK_{1,s} (s≥1)(s≥1) 也被称作星 (star).

★补图

对于一个简单图 G=(V,E)G =(V, E), 令集合 E1={uv∣u≠v,u,v∈V}E_1=\{uv|u≠v,u,v \in V\}, 则称图 H=(V,E1\E)H =(V,E_1 \backslash E) 为 GG 的补图 (complement graph), 记为 H=G‾H=\overline{G}.

补图是相对于完全图定义的.

注: 完全图 GG 与以 V(G)V(G) 为顶点集的空图 (也叫独立集, independent set) 互为补图.

补图是图论中经常涉及的概念, 在图论研究中有重要的作用.

★自补图

如果图 GG 与其补图同构, 则称 GG 为自补图 (self-complementary graph).

★自补图的性质

定理: 若 nn 阶图 GG 是自补图 ( G≅G‾G \cong \overline G ), 则有: n=0,1( mod ⁡4)n=0,1(\bmod ⁡4)

证明: nn 阶图 GG 是自补图, 则有:

m(G)+m(G‾)=m(Kn)=12n(n−1)m(G)+m(\overline G)=m(K_n)=\frac{1}{2} n(n−1)

所以:

m(G)=14n(n−1)m(G)=\frac{1}{4} n(n−1)

由于 nn 是正整数, 所以: n=0,1( mod ⁡4)n=0,1(\bmod ⁡4)


自补图是很有意义的图类. 它在对角型 Ramsey 数、图的香农容量的研究、强完美图方面的研究等都有重要作用.

例

在 1010 个顶点以下的简单图中, 哪些阶数的图可能为自补图? 画出 88 阶的 44 个自补图(共10个).

https://mathworld.wolfram.com/Self-ComplementaryGraph.html

解: 1,4,5,8,91,4,5,8,9 阶的图可能为自补图.

SelfComplementaryGraphs

顶点的度与图的度序列

顶点的度 d(v)d(v)

GG 的顶点 vv 的度 d(v)d(v) 是指 GG 中与 vv 关联的边的数目, 每个环计算两次.

分别用 δ(G)δ(G) 和 Δ(G)Δ(G) 表示图 GG 的最小与最大度.

奇数度的点称为奇度点, 偶数度的顶点称偶度点.

kk-正则图

设G=(V,E)G = (V, E), 如果对所有 v∈Vv \in V , 有 d(v)=kd(v) = k, 称图 GG 为 kk-正则图 (kk-regular). 3 正则图也称为 3 次图 (cubic).

★图论第一定理 / 握手定理

图 G=(V,E)G=(V, E) 中所有顶点的度的和等于边数 mm 的 22 倍, 即:

∑v∈V(G)d(v)=2m\sum_{v \in V(G)} d(v)=2m

证明: 由顶点度的定义知: 图中每条边给图的总度数贡献 22 度, 所以, 总度数等于边数 22 倍.

注: 该定理称为图论第一定理, 1736 年由欧拉提出的. 欧拉一生发表论文 886 篇, 著作 90 部. 该定理还有一个名字: “握手定理”.

★推论1

在任何图中, 奇度点的个数为偶数.

证明: 设 V1V_1, V2V_2 分别是 GG 中奇点集和偶点集. 则由握手定理有:

∑v∈V1d(v)+∑v∈V2d(v)=∑v∈Vd(v)\sum_{v \in V_1}d(v) + \sum_{v \in V_2}d(v) = \sum_{v \in V}d(v)

是偶数, 由于 ∑v∈V2d(v)\sum_{v \in V_2}d(v) 是偶数, 所以 ∑v∈V1d(v)\sum_{v \in V_1}d(v) 是偶数, 于是 ∣V1∣|V_1| 是偶数.

★推论2

正则图的阶数和度数不同时为奇数.

证明: 设 GG 是 kk-正则图, 若 kk 为奇数, 则由推论 1 知正则图 GG 的点数必为偶数.

例

ΔΔ 与 δδ 是简单图 GG 的最大度与最小度, 求证:

δ≤2mn≤Δ\delta \le \frac{2m}{n} \le \Delta

证明: 由握手定理有:

nδ≤∑v∈V(G)d(v)=2m≤nΔn \delta ≤ \sum_{ v \in V(G)} d(v) = 2m ≤ n \Delta

所以有:

δ≤2mn≤Δ\delta \le \frac{2m}{n} \le \Delta

★图的度序列及其性质

一个图 GG 的各个点的度 d1,d2,…,dnd_1, d_2, \ldots, d_n 构成的非负整数组 (d1,d2,…,dnd_1, d_2, \ldots, d_n) 称为 GG 的度序列 (degree sequence).

任意一个图 GG 对应唯一一个度序列, 图的度序列是刻画图的特征的重要“拓扑不变量”, 反应了图的整体性质.

图的度序列有下面的性质:

  • 图的度序列与顶点的顺序无关.
  • 同构的所有图具有相同的度序列(反之不成立).

★定理

非负整数组 (d1,d2,…,dnd_1, d_2, \ldots, d_n) 是图的度序列的充分必要条件是: ∑i=1ndi\sum^{n}_{i=1}d_i 为偶数.

证明:

必要性由握手定理立即得到.

如果 ∑i=1ndi\sum^{n}_{i=1}d_i 为偶数, 则数组中为奇数的数字个数必为偶数. 按照如下方式作图 GG:

  • 若 did_i 为偶数, 则在与之对应的点作 di2\frac{d_i}{2} 个环;
  • 对于剩下的偶数个奇数 did_i , 两两配对后分别在每配对点间先连一条边, 然后在每个顶点画 di−12\frac{d_i-1}{2} 个环.

该图的度序列就是已知数组.

★图的图序列

一个非负数组如果是某简单图的度序列, 我们称它为可图序列 (graphic sequence), 简称图序列.

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

  • (1) 存在问题: 什么样的整数组是图序列?
  • (2) 计数问题: 一个图序列对应多少不同构的图?
  • (3) 构造问题: 如何画出图序列对应的所有不同构图?

研究现状: (1)彻底解决了, (2)解决得不完整, (3)没有解决.

★定理 (Havel 1955, Hakimi 1962)

非负整数组

π=(d1,d2,…,dn),d1≥d2≥…≥dn,∑i=1ndi=2m\pi =(d_1,d_2, \ldots ,d_n),d_1≥d_2≥ \ldots ≥d_n,\sum_{i=1}^n d_i=2m

是图序列的充分必要条件是:

π1=(d2−1,d3−1,…,dd1+1−1,dd1+2,…,dn)\pi_1=(d_2−1,d_3−1, \ldots ,d_{d_1+1}−1,d_{d_1+2}, \ldots ,d_n)

是图序列.

注: π1\pi_1 是从 π\pi 中删去 d1d_1 ,然后对后面连续的 d1d_1 个点的度均减 11 后得到.

定理

一个简单图 GG 的 nn 个点的度不能互不相同.

证明: 因为图 GG 为简单图, 所以: Δ(G)≤n−1Δ(G)≤n-1.

情形1: 若 GG 没有孤立点, 则

1≤d(v)≤n−1,∀v∈V(G)1≤d(v)≤n−1,\forall v \in V(G)

由鸽笼原理: 必有两顶点度数相同;

情形2: 若 GG 只有一个孤立点, 设 G1G_1 表示 GG 去掉孤立点后的部分, 则:

1≤d(v)≤n−2,∀v∈V(G1)1≤d(v)≤n−2,\forall v \in V(G_1)

由鸽笼原理: 在 G1G_1 里必有两顶点度数相同;

情形3: 若 GG 只有两个以上的孤立点, 则定理显然成立.

频序列

设 nn 阶图 GG 的各点的度取 ss 个不同的非负整数 d1,d2,…,dsd_1, d_2, …, d_s. 又设度为 did_i 的点有 bib_i 个 (i=1,2,…,s)(i = 1, 2, …, s), 则

∑𝑖=1𝑠𝑏𝑖=n\sum_{𝑖=1}^𝑠 𝑏_𝑖 =n

故非整数组 (b1,b2,…,bs)(b_1, b_2, …, b_s) 是 nn 的一个划分, 称为 GG 的频序列.

定理

一个 nn 阶图 GG 和它的补图有相同的频序列.

1.2 子图与图的运算

★子图

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

定义: 如果 V(H)⊆V(G),E(H)⊆E(G)V(H)⊆V(G),E(H)⊆E(G) 且 HH 中边的重数不超过 GG 中对应边的条数, 则称 HH 为 GG 的子图 (subgraph), 记为 H⊆GH⊆G.

当 H⊆G,H≠GH⊆G,H≠G 时, 称 HH 是 GG 的真子图 (proper subgraph), 记为 H⊂GH⊂G.

顶点导出子图

定义: 如果 V′⊆V(G)V^′⊆V(G) , 则以 V′V^′ 为顶点集,以两个端点均在 V′V^′ 中的边集组成的子图, 称为图 GG 的点导出子图 (induced subgraph). 记为: G[V′]G[V^′].

注: 事实上, G[V′]=G−V′‾G[V^′]=G-\overline{V^′} .

边导出子图

定义: 如果 E′⊆E(G)E^′⊆E(G) , 则以 E′E^′ 为边集, 以 E′E^′ 中边的所有端点为顶点集组成的图, 称为图 GG 的边导出子图 (edge-induced subgraph). 记为: G[E′]G[E^′].

图的生成子图

定义: 如果图 GG 的一个子图包含 GG 的所有顶点, 称该子图为 GG 的一个生成子图 (spanning subgraph).

定理: 简单图 G=(n,m)G=(n,m) 的所有生成子图个数为 2m2^m.

图运算

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

图的删点、删边运算 (deletion) −-

设 V′⊆V(G)V^′⊆V(G), 在 GG 中删去 V′V^′ 中的顶点和 GG 中与之关联的所有边的操作, 称为删点运算. 记为 G−V′G-V^′.

特别地, 如果只删去一个点 vv , 则记为 G−vG−v.

判词: 点之不存, 边将焉附!

设 E′⊆E(G)E^′⊆E(G), 在 GG 中删去 E′E^′ 中的所有边的操作, 称为删边运算. 记为 G−E′G−E^′.

特别地, 如果只删去一条边 ee, 则记为 G−eG−e.

判词: 点若磐石, 不为边动!

注: 删点、删边后得到的图均是原图的子图.

图的并 (union) ∪\cup / 不交并 ++

设 G1G_1, G2G_2是 GG 的两个子图, G1G_1 与 G2G_2 并是指以 V(G1)∪V(G2)V(G_1)∪V(G_2) 为顶点集, 以 E(G1)∪E(G2)E(G_1)∪E(G_2) 为边集组成的子图. 记为: G1∪G2G_1∪G_2.

特别地, 如果 G1G_1, G2G_2 不相交 (没有公共顶点), 称它们的并为不交并, 可以记为: G1+G2G_1+G_2.

图的交 (disjoint) ∩\cap

设 G1G_1, G2G_2是 GG 的两个子图, G1G_1 与 G2G_2 交是指由 V(G1)∩V(G2)V(G_1)∩V(G_2) 为顶点集, 以 E(G1)∩E(G2)E(G_1)∩E(G_2) 为边集组成的子图. 记为: G1∩G2G_1∩G_2.

图的差 (difference) −-

设 G1G_1, G2G_2 是两个图, G1G_1 与 G2G_2 的差是指从 G1G_1 中删去 G2G_2 中的边得到的新图. 记为 G1−G2G_1−G_2.

图的对称差 (symmetric difference) / 异或(XOR) △\bigtriangleup

设 G1G_1, G2G_2 是两个图, G1G_1 与 G2G_2 的对称差定义为:

G1△G2=(G1∪G2)−(G1∩G2)G_1 \bigtriangleup G_2 = (G_1∪G_2) − (G_1∩G_2)

注: 仅包含那些恰好在 G1G_1 或 G2G_2 出现一次的边, 而不包含在 G1G_1 和 G2G_2 中都出现的边.

★图的联 (join) ∨\vee

设 G1G_1, G2G_2 是两个不相交的图, 作 G1+G2G_1+G_2, 并且将 G1G_1 中每个顶点和 G2G_2 中的每个顶点连接, 这样得到的新图称为 G1G_1 与 G2G_2 的联图. 记为: G1∨G2G_1 \vee G_2

★Cartesian 积图 (Cartesian product) □\square

设 G1=(V1,E1),G2=(V2,E2),G_1=(V_1,E_1),G_2=(V_2,E_2), 是两个图. 对点集 V=V1×V2V=V_1×V_2 的任意两个点 u=(u1,u2)u=(u_1, u_2) 与 v=(v1,v2)v=(v_1, v_2), 若:
(1) u1=v1u_1=v_1 和 u2↔v2u_2 ↔ v_2, 或者
(2) u2=v2u_2=v_2 和 u1↔v1u_1 ↔ v_1 时,
uu 与 vv 相连. 如此得到的图称为 G1G_1 与 G2G_2 的积图. 记为 G1□G2G_1 \square G_2.

教材中 adj 是 adjacent 的缩写, 表示相邻.

记号 □\square 是由捷克数学家 Jaroslav Nešetřil 给出.

image-20230314153859855

注:

  • (1) Cartesian 积是构造新图的一种重要方法. 且 Cartesian 积对图的一些性质保持很好. 如 G1□G2G_1 \square G_2 和G2□G1G_2 \square G_1 同构 (□\square 可交换顺序); 若 G1,G2G_1, G_2 正则 (二部, 点传递, 欧拉, 哈密尔顿, kk-连通等), 则 G1□G2G_1 \square G_2 亦然).
  • (2) Cartesian 积的符号 □\square 隐含将 G1G_1 复制 ∣G2∣|G_2| 次后将对应顶点水平或者竖直相连. 例如 K2□K2=C4K_2 \square K_2 = C_4.
  • (3) 互连网络中需要一些对称性好的图(路由算法易设计), 往往用 Cartesian 积构造.

★图的合成 (composition) / 字典积 (lexicographic product) G1[G2]G_1 [G_2]

设 G1=(V1,E1),G2=(V2,E2),G_1=(V_1,E_1),G_2=(V_2,E_2), 是两个图. 对点集 V=V1×V2V=V_1×V_2 的任意两个点 u=(u1,u2)u=(u_1, u_2) 与 v=(v1,v2)v=(v_1, v_2), 当
(1): u1↔v1u_1 ↔ v_1, 或
(2): u1=v1u_1=v_1 和 u2↔v2u_2 ↔ v_2 时,
连接 uu 与 vv. 如此得到的图称为 G1G_1 与 G2G_2 的合成图. 记为 G1[G2]G_1 [G_2].

image-20230314153939622

注:

  • (1) 合成图 G1[G2]G_1 [G_2] 也可以定义为将 G1G_1 的每个顶点用 G2G_2 的一个拷贝代替, G1G_1 中的两个点相邻, 那么这两个对应的 G2G_2 之间增加联运算的所有可能边.
  • (2) 区分导出子图 (G[V′]G[V']), 边导出子图 (G[E′]G[E']), 合成图 (G1[G2]G_1 [G_2]) 记号的区别.

图的张量积 (tensor product) ×\times

设 G1=(V1,E1),G2=(V2,E2),G_1=(V_1,E_1),G_2=(V_2,E_2), 是两个图. 对点集 V=V1×V2V=V_1×V_2 的任意两个点 u=(u1,u2)u=(u_1, u_2) 与 v=(v1,v2)v=(v_1, v_2), 当 (u1↔v1u_1 ↔ v_1) 和 (u2↔v2u_2 ↔ v_2) 时, 把 uu 与 vv 相连. 如此得到的新图称为 G1G_1 与 G2G_2 的张量积图. 记为 G1×G2G_1×G_2.

image-20230314154437249

一般地, χ(G1×G2)≤min⁡⁡{χ(G1),χ(G2)}χ(G_1×G_2)≤ \min ⁡\{ χ(G_1),χ(G_2)\} 成立. 1966年 S.T. Hedetniemi 猜想对于简单图等号都成立. Yaroslav Shitov 于2019.5月给出了反例 (论文仅3页), 该结果已被 Annals of Mathematics 正式接收发表, 创造了Annals 接收发表最快的新纪录 (21天). https://arxiv.org/abs/1905.02167

超立方体

图的积运算是网络构造的常用方法. 并行计算机中的网络拓扑常采用所谓的“超立方体”结构. 采用该结构可使网络具有较好的可靠性、较小的通信延迟和很好的可扩展性以及便于并行编程等优点.

★积图构造

“超立方体” (hypercube, 或 nn-cube) 可以用如下积图来递归构造.

(1) 11 方体: Q1=K2Q_1=K_2

(2) nn 方体: Qn=K2□Qn−1Q_n=K_2 \square Q_{n-1}

image-20230315233213183

二进制码构造

“超立方体” 常采用下面简单的递归构造方法:

nn 方体 QnQ_n 的顶点可用一个长度为 nn 的二进制码来表示. QnQ_n 的顶点数目正好等于 2n2^n 个.

由 n−1n−1 方体 Qn−1Q_{n−1} 构造 QnQ_n 的方法是: 将 Qn−1Q_{n−1} 拷贝一个. 将原 Qn−1Q_{n−1} 每个顶点的码前再添加一个零, 将拷贝得来的 n−1n−1 方体每个顶点的码前面再添加一个 11. 然后在两个 n−1n−1 方体之间连线: 当且仅当两个顶点码只有一位对应位数字不同时, 该两点连线. 如此得到的图即为 nn 方体.

由两个 Q2Q_2 构造 Q3Q_3 :

image-20230315234238858

关于 nn 方体 QnQ_n 的性质研究, 可以查阅到很多文献. 经典文章是: Saad Y, M H. Schultz, Topological properties of hypercubes, IEEE Trans. Comput. 1988 37(7) 867--872

超立方体的性质

∣V(Qn)∣=2n|V(Q_n)| = 2^n

∣E(Qn)∣=n×2n−1|E(Q_n)| = n\times 2^{n-1}

QnQ_n 是二部图 (点色数为 22, 边色数是 nn)

QnQ_n 是 nn 正则图 (正则二部图存在完美匹配) (见 5.2)

1.3 路与图的连通性

对图的路与连通性进行研究, 在计算机网络研究中有十分重要的意义. 因为网络的抽象就是一个图. 研究网络信息传递, 信息寻径是主要问题之一, 这恰对应于图中路的研究; 在网络研究中, 可靠性也是主要问题之一, 它与图的连通性问题相对应.

★路与连通性的相关概念

途径 (walk)

GG 的一条途径 (walk) 是一个有限非空序列 w=v0e1v1e2v2…ekvkw= v_0 e_1 v_1 e_2 v_ 2 … e_k v_k, 它的项交替地为顶点和边, 使得 1≤i≤k1≤i≤k, eie_i 的端点是 vi−1v_{i−1} 和 viv_i.

途径中边数称为途径的长度 (length);

v0v_0, vkv_k 分别称为途径的起点 (initial vertex) 与终点 (terminal vertex), 其余顶点称为途径的内部点 (internal vertex).

迹 (trail)

边不重复的途径称为图的一条迹.

路 (path)

顶点不重复的途径称为图的一条路. nn 个点的路一般用 PnP_n 表示.


注:

(1) 起点与终点重合的途径、迹、路分别称为图的闭 (closed) 途径、闭迹与圈. 闭途径也称为回路.

长度为 kk 的圈称为 kk 圈 (kk-cycle), kk 为奇数时称为奇圈 (odd cycle), kk 为偶数时称为偶圈 (even cycle). nn 阶圈一般用 CnC_n 表示.

(2) 自环一般认为是 11 长圈, 两条重边围成 22 长圈;

(3) 所有的奇圈都不是二部图, 所有的偶圈均是二部图.

图中两点的距离 (distance)

点 uu 与 vv 的距离: uu 与 vv 间最短路的长度称为 uu 与 vv 间距离, 记为 d(u,v)d(u,v). 如果 uu 与 vv 间不存在路, 定义 d(u,v)=∞d(u,v)=∞.

图中两顶点的连通性

图 GG 中点 uu 与 vv 连通的 (connected), 如果 uu 与 vv 间存在路. 否则称 uu 与 vv 是不连通的 (disconnected). 点对的连通关系是等价关系 (满足自反性, 对称性, 传递性).

注: 规定一个顶点和它自身连通.

连通图

若图 GG 中任意两点是连通的, 称 GG 是连通图 (connected graph), 否则, 称 GG 为非连通图 (disconnected graph).

连通分支 ω(G)\omega (G)

图 GG 中每一个极大连通子图, 称为 GG 的连通分支 (component) (连通关系的等价类). GG 的连通分支的个数, 称为 GG 的分支数, 记为 ω(G)\omega(G).

注: 连通图 GG 的连通分支数 ω(G)=1\omega (G)=1.

例

在 nn 阶连通图中至少有 n−1n−1 条边.

证明: nn 阶空图的分支数为 nn. 每增加一条边, 分支数至多减少 11. 故至少要增加 n−1n−1 条边, 才能使分支数减少为 11, 即使其连通. 故在 nn 阶连通图中至少有 n−1n−1 条边.

例

若 δ≥2δ≥2 , 则 GG 中必然含有圈.

证明: 只就连通图证明即可!

设 P=v1v2…vk−1vkP=v_1v_2…v_{k-1}v_k 是 GG 中的一条最长路. 由于 δ≥2δ≥2 , 所以 vkv_k 必然有相异于 vk−1v_{k-1} 的邻接顶点. 又 WW 是 GG 中最长路, 所以, 这样的邻接点必然是 v1,v2,…,vk−2v_1, v_2, …, v_{k-2} 中之一. 设该点为 vmv_m , 则 vmvm+1…vkvmv_mv_{m+1}…v_kv_m 为 GG 中圈.


练习: 若 GG 是简单图且 δ≥kδ≥k , 则 GG 中存在 kk 长路. (与练习题13类比)

图的直径

连通图 GG 的直径 (diameter) 定义为:

d(G)=max⁡{d(u,v)∣u,v∈V(G)}d(G)=\max \{ d(u,v) | u,v \in V(G) \}

如果 GG 不连通, 图 GG 的直径定义为: d(G)=∞d(G) = \infty.

连通图的性质

定理1

若图 GG 不连通, 则其补图连通.

证明: ∀u,v∈V(Gˉ)∀u,v∈V(\bar{G}),
如果 uu, vv 属于 GG 的同一分支, 设 ww 是与 u,vu, v 处于不同分支中的点, 则在 GG 的补图中, uu 与 ww, vv 与 ww 分别相邻, 于是, uu 与 vv 在 GG 的补图中是连通的.
若 uu 与 vv 在 GG 的不同分支中, 则在 GG 的补图中必然相邻, 因此, 补图也连通.

定理2

若 GG 是简单图且 δ(G)≥(n−1)/2δ(G)≥(n−1)/2, 则 GG 是连通的.

证明: 选择 GG 的任意两点 uu 和 vv. 若 uu 和 vv 相邻, 则结论成立. 故假设 uu 和 vv 不相邻. 事实上, 仅需证明 uu 和 vv 有一个公共邻点.

因 GG 是简单图, 故∣N(u)∣≥δ(G)≥(n−1)/2|N(u)|≥δ(G)≥(n−1)/2, ∣N(v)∣≥δ(G)≥(n−1)/2|N(v)|≥δ(G)≥(n−1)/2.

则有∣N(u)∣+∣N(v)∣≥n−1|N(u)|+ |N(v)|≥ n−1. 这说明 uu 和 vv 至少有 11 个邻点.

注: (1) 上面结论还可以用反证法证明 (留作练习).

​ (2) 定理的界 (n−1)/2(n−1)/2 是紧的(sharp). 考虑 K⌊n/2⌋+K⌈n/2⌉K_{⌊n/2⌋} +K_{⌈n/2⌉}.

★二部 (偶) 图的判定定理

定理: (König, 1936) 一个图是二部图当且仅当它不包含奇圈.


图 GG 是偶图当且仅当 GG 中没有奇回路.


证明:

必要性: 设 GG 是具有二分类 (X,Y)(X, Y) 的二部图, 并且 C=v0v1…vkv0C = v_0v_1… v_kv_0 是 GG 的一个圈. 不失一般性, 可假定 v0∈Xv_0∈X. 一般地, v2i∈Xv_{2i}∈X, v2i+1∈Yv_{2i+1}∈Y. 又因为 v0∈Xv_0∈X, 所以 vk∈Yv_k∈Y. 由此 CC 是偶圈.

充分性: 在 GG 中任意选取点 uu, 定义 VV 的分类如下:

  • X={x∣d(u,x)是偶数,x∈V(G)}X = \{x | d(u, x) 是偶数, x ∈ V (G)\} (到 uu 距离为偶数的点)
  • Y={y∣d(u,y)是奇数,y∈V(G)}Y = \{y | d(u, y) 是奇数, y ∈ V (G)\} (到 uu 距离为奇数的点)

下面证明: 对 XX 中任意两点 vv 与 ww 都不相邻!(v,w∈Yv,w ∈Y 的情形自己证明)

设 vv 与 ww 是 XX 中任意两个顶点. PP 是一条最短 (u,v)(u, v) 路, 而 QQ 是一条最短的 (u,w)(u, w) 路.

image-20230319164838961

又设 u1u_1 是 PP 和 QQ 的最后一个交点. 由于 P,QP, Q 是最短路, 所以, P,QP, Q 中 uu 到 u1u_1 段长度相同, 因此奇偶性相同. 又 P,QP, Q 的长均是偶数, 所以, P,QP, Q 中 u1vu_1v 段和 u1wu_1w 段奇偶性相同.

如果 vv 与 ww 邻接, 则可得到奇圈, 矛盾.


注:
要判断一个图是二部图, 找到二部划分;
要判断一个图不是二部图, 仅需找到一个奇圈.

1.4 最短路及其算法

赋权图

赋权图的定义

在图 GG 的每条边上标上一个实数 w(e)w(e) 后, 称 GG 为边赋权图. 被标上的实数称为边的权值(weight).

若 HH 是赋权图 GG 的一个子图, 称 W(H)=∑e∈E(H)w(e)W(H)=∑_{e∈E(H)}w(e) 为子图 HH 的权值.

注: 权值的意义是广泛的. 可以表示距离, 可以表示交通运费, 可以表示网络流量, 在朋友关系图甚至可以表示友谊深度(抽象的距离).

赋权图中的最短路

设 GG 为边赋权图. uu 与 vv 是 GG 中两点, 在连接 uu 与 vv 的所有路中, 路中各边权值之和最小的路, 称为 uu 与 vv 间的最短路 (shortest path).

算法

解决某类问题的一组有穷规则, 称为算法 (algorithm).

好算法

算法总运算量 (算术运算、比较运算等) 是问题规模的多项式函数时, Edmonds 称该算法为好算法 (如图上某算法的运算次数可由 VV 和 EE 的一个多项式表示, 如 5∣V∣3∣E∣5|V|^3|E|).若一个算法计算需要指数次(如 5∣V∣5^{|V|}), 则对规模大的图而言, 将是十分无效的.

算法分析

注: 对算法进行分析, 主要对时间 (或空间) 复杂度进行分析. 分析运算量和问题规模之间的关系.

动态规划 (Dynamic Programming)

为求出 f(n), 只需要知道几个更小的 f(i). 将求解 f(i) 称作求解 f(n) 的“子问题”. 将一个问题拆成几个子问题, 分别求解这些子问题, 即可推断出大问题的解, 这就是动态规划 (DP).


无后效性: 一旦求出某个 f(i), 如何凑出 f(i) 就再也用不着了;

最优子结构: 大问题的最优解可以由子问题的最优解推出, 这个性质叫做“最优子结构性质”.

★最短路算法

1956 年, 荷兰计算机学家 Edsger W. Dijkstra (1930.5-2002.8, 1972 年获图灵奖) 得到了在赋权图中求由点 u0u_0 到 GG 中所有顶点的最短路的好算法, 称为顶点标号法, 3 年后 (1959 年) 发表在期刊 Numerische Mathematik 上.

假设 SS 是 VV 的真子集且 u0∈Su_0∈S 并记 S‾=V\S\overline{S}=V \backslash S. 若 P=u0⋯uv‾P=u_0⋯u\overline{v} 是从 u0u_0 到 S‾\overline{S} 的最短路, 则显然 u∈Su \in S 且 PP 的 u0u_0 至 uu 节必然是最短的 u0u_0 至 uu 节路 (最优子结构).

Dijkstra 算法的思想

从 S0={u0}S_0=\{u_0\} 开始逐步构造一个由 VV 的子集组成的递增序列 S0,S1,…Sv−1S_0, S_1, … S_{v−1}, 使得在第 ii 步结束时, 由 u0u_0 到 SiS_i 的最短路均已知.

首先确定距 u0u_0 最近的一个顶点. 为此只要选取顶点 u1∈S0‾u_1∈\overline{S_0}, 使得 d(u0,u1)=d(u0,S0‾)d(u_0,u_1)=d(u_0,\overline{S_0}) 即可. 事实上,

d(u0,S0‾)=min⁡u∈S0,v‾∈S0‾{d(u0,u)+w(uv‾)}=min⁡v‾∈S0‾{w(u0v‾)}(1)d(u_0,\overline{S_0})= \min_{u\in S_0,\overline{v} \in \overline{S_0}} \{d(u_0,u)+w(u\overline{v})\}=\min_{\overline{v} \in \overline{S_0}}\{w(u_0\overline{v})\} \tag{1}

现置 S1={u0,u1}S_1=\{u_0, u_1\} 并用 P1P_1 记路 u0u1u_0u_1, 显然这是最短的 u0u_0 到 u1u_1 的路.

一般地, 若集 Sk={u0,u1,…,uk}S_k=\{u_0, u_1, …, u_k\} 以及相应的最短路 P1,P2,…,PkP_1,P_2,…, P_k 已经确定, 则可以计算得到 d(u0,Sk‾)d(u_0,\overline{S_k}), 并选取顶点 uk+1∈Sk‾u_{k+1}∈\overline{S_k} 使得 d(u0,uk+1)=d(u0,Sk‾)d(u_0,u_{k+1})=d(u_0,\overline{S_k}). 可以得到对某个 j≤kj≤k, d(u0,uk+1)=min⁡⁡{d(u0,uj)+w(ujuk+1)}d(u_0,u_{k+1})=\min⁡ \{ d(u_0,u_j)+w(u_j u_{k+1})\} 成立.

若在每一步通过搜索计算 (1) 式的最小值时, 则有许多不必要的比较. 为避免重复并保留从每一步到下一步的计算信息, 采用如下的标号方法.

开始时 l(u0)=0l(u_0)=0, 而对其它顶点则有 l(u0)=∞l(u_0)=∞. 在实际运行中, 这些标号不断被修改: 在第 ii 步结束时 l(u)=d(u0,u)l(u)=d(u_0, u) 对 u∈Siu∈S_i 成立, 并且 l(v)=min⁡u∈Si−1{d(u0,u)+w(uv)}l(v)=\min_{u∈S_{i-1}} \{d(u_0,u)+w(uv)\} 对 v∈Si‾v∈\overline{S_i } 成立.

★Dijkstra 算法

设 l(v)l(v) 表示 vv 到 u0u_0 的最短距离.

  1. 置 l(u0)=0l(u_0)=0; 对 v≠u0v≠u_0, l(v)=∞l(v)=∞, S0=u0S_0={u_0} 且 i=0i=0.
  2. 对每个 v∈Si‾v∈\overline{S_i}, 用 min⁡⁡{𝑙(𝑣),𝑙(𝑢𝑖)+𝑤(𝑢𝑖𝑣)}\min⁡\{ 𝑙(𝑣),𝑙(𝑢_𝑖)+𝑤(𝑢_𝑖 𝑣)\} 代替 l(v)l(v). 计算 min⁡v∈Si‾{l(v)}\underset{v∈\overline{S_i}}{\min} \{l(v)\}, 并把达到最小值的点记为 ui+1u_{i+1}. 记 Si+1=Si∪ui+1S_{i+1}=S_i∪{u_{i+1}}.
  3. 若 i=n−1i=n−1, 则停止. 若 i<n−1i<n−1, 则用 i+1i+1 代替 ii, 并转入第 2 步.

当算法结束时, 从 u0u_0 到 vv 的距离由标号 l(v)l(v) 的终值给出. 算法个仅给出了 u0u_0 到所有其它顶点的距离, 而且只要沿着先后顶点的轨迹引伸, 就能给出对应的最短路.

时间复杂度分析: 全部迭代共需 n(n−1)/2n(n−1)/2 次加法和 n(n−1)n(n−1) 次比较, 所以算法是 n2n^2 次的.

例

如图所示, 求点 aa 到点 bb 的距离.

image-20230528123650931

解:

  1. l(a)=0,S0={a},i=0l(a)= 0, S_0=\{a\}, i = 0;

  2. l(v1)=l(a)+w(av1)=2l(v_1)= l(a)+w(av_1)=2;
    l(v2)=l(a)+w(av2)=8l(v_2)= l(a)+w(av_2)=8;
    l(v3)=l(a)+w(av3)=1l(v_3)= l(a)+w(av_3)=1 ;
    min⁡l(vi)=l(v3)=1\min l(v_i)= l(v_3)= 1, 令 S1={a,v3},i=1S_1=\{a, v_3\}, i = 1.

  3. l(v6)=l(v3)+w(v3v6)=10l(v_6)= l(v_3)+w(v_3v_6)=10;
    min⁡l(vi)=l(v1)=2\min l(v_i)= l(v_1)= 2, 令 S2={a,v1,v3},i=2S_2=\{a, v_1, v_3\}, i = 2.

  4. l(v4)=l(v1)+w(v1v4)=3l(v_4)= l(v_1)+w(v_1v_4)=3;
    min⁡l(vi)=l(v4)=3\min l(v_i)= l(v_4)= 3, 令 S3={a,v1,v3,v4},i=3S_3=\{a, v_1, v_3, v_4\}, i = 3.

  5. l(v2)=l(v4)+w(v4v2)=7l(v_2)= l(v_4)+w(v_4v_2)=7;
    l(v5)=l(v4)+w(v4v5)=6l(v_5)= l(v_4)+w(v_4v_5)=6;
    l(b)=l(v4)+w(v4b)=12l(b)= l(v_4)+w(v_4b)=12;
    min⁡l(vi)=l(v5)=6\min l(v_i)= l(v_5)= 6, 令 S4={a,v1,v3,v4,v5},i=4S_4=\{a, v_1, v_3, v_4, v_5\}, i = 4.

  6. l(v6)=l(v5)+w(v5v6)=10l(v_6)= l(v_5)+w(v_5v_6)=10;
    l(b)=l(v5)+w(v5b)=12l(b)= l(v_5)+w(v_5b)=12;
    min⁡l(vi)=l(v2)=7\min l(v_i)= l(v_2)= 7, 令 S5={a,v1,v2,v3,v4,v5},i=5S_5=\{a, v_1, v_2, v_3, v_4, v_5\}, i = 5.

  7. l(v6)=l(v2)+w(v2v6)=9l(v_6)= l(v_2)+w(v_2v_6)=9;
    min⁡l(vi)=l(v6)=9\min l(v_i)= l(v_6)= 9, 令 S6={a,v1,v2,v3,v4,v5,v6},i=6S_6=\{a, v_1, v_2, v_3, v_4, v_5, v_6\}, i = 6.

  8. l(b)=l(v6)+w(v6b)=11l(b)= l(v_6)+w(v_6b)=11;
    l(b)=12l(b)= 12, 令 S7={a,v1,v2,v3,v4,v5,v6,b},i=7S_7=\{a, v_1, v_2, v_3, v_4, v_5, v_6, b\}, i = 7.

最短路算法的在计算机科学中的应用

  1. 导航软件 (GIS) 中路径规划中的最短路计算.
  2. 停车诱导系统中的最短路计算.
  3. 开放最短路优先协议 (OSPF). OSPF 是由 IETF (Internet Engineering Task Force) 的 IGP (Interior Gateway Protocol) 工作组为 IP 网络设计的路由协议, 此工作组于 1988 年设计了基于最短路优先 (SPF) 算法的 IGP 用于Internet. 它是基于 SPF 算法进行的, 也就是 Dijkstra 算法.

Remark: 最短路算法不仅可以计算实际的距离问题, 还可以计算抽象距离(如状态转移的次数).

1.5 图的代数表示及其特征

用邻接矩阵或关联矩阵表示图, 称为图的代数表示 (第三种表示方法).

用矩阵表示图有两个优点:
(1) 能够把图输入到计算机中;
(2) 可以用线性代数的方法研究图论.

★图的邻接矩阵 AA (adjacency matrix)

邻接矩阵的定义

设 GG 为 nn 阶图, V=v1,v2,…,vnV={v_1, v_2, …, v_n}, 邻接矩阵 A(G)=(aij)A(G)=(a_{ij}), 其中:

aij={l, vi与vj间边数(一个自环计2)0, vi和vj不邻接a_{ij} = \begin{cases} l, v_i 与v_j 间边数(一个自环计2) \\ 0, v_i 和v_j 不邻接 \end{cases}

(与顶点顺序无关)

image-20230319215744324

A(G)=(0201201101011114)A(G)= \begin{pmatrix} 0&2&0&1\\ 2&0&1&1\\ 0&1&0&1\\ 1&1&1&4 \end{pmatrix}

邻接矩阵的性质

(1) 非负性与对称性

由邻接矩阵定义知 aija_{ij} 是非负整数, 即邻接矩阵是非负整数矩阵;

在图中点 viv_i 与 vjv_j 邻接, 有 vjv_j 与 viv_i 邻接, 即 aij=ajia_{ij}=a_{ji}. 所以, 邻接矩阵是对称矩阵.


(2) 同一图的不同形式的邻接矩阵是相似矩阵.

这是因为, 同图的两种不同形式矩阵可以通过交换行和相应的列变成一致.


(3) 如果 GG 为简单图, 则 A(G)A(G) 为布尔矩阵; 行和(列和)等于对应顶点的度数; 矩阵元素总和为图的总度数, 也就是 GG 的边数的 22 倍.


(4) GG 连通的充分必要条件是: A(G)A(G) 不能与如下矩阵相似.

(A1100A22)\begin{pmatrix} A_{11} & 0 \\ 0 & A_{22} \\ \end{pmatrix}

证明:

1 必要性 (连通 => 不能与这种矩阵相似 即 与这种矩阵相似 => 不连通)
若不然: 设 A11A_{11} 对应的顶点是 v1,v2,…,vkv_1, v_2, …, v_k , A22A_{22} 对应的顶点为 vk+1,vk+2,…,vnv_{k+1}, v_{k+2}, …, v_n, 显然, viv_i (1≤i≤k)(1 ≤ i ≤ k) 与 vjv_j (k+1≤i≤n)(k+1≤i≤n) 不邻接, 即 GG 是非连通图. 矛盾!

2 充分性 (不能与这种矩阵相似 => 连通 即 不连通 => 与这种矩阵相似)
若不然: 设 G1G_1 与 G2G_2 是 GG 的两个不连通的部分, 并且设 V(G1)=v1,v2,…,vkV(G_1)={v_1, v_2, …, v_k}, V(G2)=vk+1,vk+2,…,vnV(G_2)={v_{k+1}, v_{k+2}, …, v_n}, 如果在写 GG 的邻接矩阵时, 先排 V(G1)V(G_1) 中点, 再排 V(G2)V(G_2) 中点, 则 GG 的邻接矩阵形式必为:

(A1100A22)\begin{pmatrix} A_{11} & 0 \\ 0 & A_{22} \\ \end{pmatrix}


(5) 定理: 设 Ak(G)=(aij(k))A^k (G)=(a_{ij}^{(k)}), 则 aij(k)a_{ij}^{(k)} 表示顶点 viv_i 到顶点 vjv_j 的长度为 kk 的途径条数.

证明: 对 kk 作数学归纳法证明. 当 k=1k=1 时, 由邻接矩阵的定义, 结论成立; 假设当 k−1k−1 时结论均成立. 当为 kk 时:

一方面: 先计算 AkA^k;

Ak=Ak−1A=(ai1(k−1)aj1+ai2(k−1)aj2+⋯+ain(k−1)ajn)n×nA^k = A^{k-1} A = ( a_{i1}^{(k-1)}a_{j1} + a_{i2}^{(k-1)}a_{j2} + \cdots + a_{in}^{(k-1)}a_{jn} )_{n \times n}

另一方面: 考虑 viv_i 到 vjv_j 的长度为 kk 的途径: 设 vmv_m 是 viv_i 到 vjv_j 的途径上点, 且该点和 vjv_j 邻接. 则 viv_i 到 vjv_j 的经过 vmv_m 且长度为 kk 的途径数目应该为:

aim(k−1)amja_{im}^{(k−1)} a_{mj}

所以, viv_i 到 vjv_j 的长度为 kk 的途径数目为:

𝑎𝑖1(𝑘−1)𝑎𝑗1+𝑎𝑖2(𝑘−1)𝑎𝑗2+⋯+𝑎𝑖𝑛(𝑘−1)𝑎𝑗𝑛𝑎_{𝑖1}^{(𝑘−1)} 𝑎_{𝑗1}+𝑎_{𝑖2}^{(𝑘−1)} 𝑎_{𝑗2}+⋯+𝑎_{𝑖𝑛}^{(𝑘−1)} 𝑎_{𝑗𝑛}

即为 aij(k)a_{ij}^{(k)}.

推论: 对于简单图有:

(1) A2A^2的元素 aii(2)a_{ii}^{(2)} 是 viv_i 的度, A3A^3 的元素 aii(3)a_{ii}^{(3)} 是含 viv_i 的三角形个数的 22 倍;

(2) 若 GG 是连通的, 对于 i≠ji ≠j , viv_i 和 vjv_j 间距离 dd 是使 AdA^d 中 aij(d)≠0a_{ij}^{(d)}≠0 的最小整数.

★图的关联矩阵 MM (incidence matrix)

关联矩阵的定义

若 GG 是 (n,m)(n, m) 图, 则图 GG 的关联矩阵为:

M(G)=(aij)n×mM(G)=(a_{ij})_{n×m}

其中: aija_{ij} 为 viv_i 与 eje_j 关联的次数: 00, 11, 或 22 (环).

image-20230319213614572

M(G)=(1100101111000000110010001120)M(G)= \begin{pmatrix} 1&1&0&0&1&0&1\\ 1&1&1&0&0&0&0\\ 0&0&1&1&0&0&1\\ 0&0&0&1&1&2&0 \end{pmatrix}

关联矩阵的性质

(与顶点, 边顺序无关)

(1) 关联矩阵的元素为 00, 11 或 22 (非简单图);
(2) 关联矩阵的每列和为 22; 每行的和为对应顶点度数 (据此可以证明握手定理) ;

注:
(1) 邻接矩阵, 关联矩阵是计算机表示图的两种方式(还有邻接表等), 包含的信息有所不同;
(2) 非稀疏图一般不用关联矩阵(边数多占用存储空间大).

简单图的关联矩阵与邻接矩阵的关系

(i) MM⊤=A+DMM^\top=A+D, 其中 DD 是度矩阵 (即对角线元素代表是对应顶点的度, 其它元素均为零), AA 代表邻接矩阵.

(ii) M⊤M=2I+A(L(G))M^\top M=2I+A(L(G)), 其中 II 是单位矩阵, A(L(G))A(L(G)) 代表 GG 的线图 L(G)L(G) 的邻接矩阵 (线图的概念见第四章 EE 图与 HH 图的关系).

★图的 Laplacian 矩阵

图的 Laplacian 矩阵 L=D−AL=D−A, 其中 DD 是度矩阵 (即对角线元素代表对应顶点的度, 其它元素均为零), AA 代表图的邻接矩阵. Laplacian 矩阵在机器学习, 复杂网络, 控制理论等领域中都有重要应用.

image-20230319212226759

相关结论:

  1. LL 的特征值 00 的重数与图的连通分支数相等;
  2. LL 的第二小特征值大于 00 当且仅当图连通.
  3. 可参见 https://arxiv.org/pdf/1111.2897.pdf.

图的谱

图的谱理论 (Spectral Graph Theory) 应用非常广泛:

  1. Expanders(扩展器, or Enlargers): 通信网络, 纠错码, 内存空间(计算模块的第二大特征值).
  2. 传感器网络(Laplacian矩阵的第二小和最大特征值之比, 比越大其决策融合算法收敛越快 ).
  3. 复杂网络(度和特征值分布)和互联网(正则化Laplacian谱).
  4. 数据挖掘(将数据表示成图, 计算Laplacian谱聚类).
  5. 计算机视觉和模式识别(用边赋权图表示图片, 点表示像素, 边表示像素之间相似程度): 用Fiedler向量(Laplacian第二小特征值)分割图像前景和背景.
  6. 网络搜索(PageRank算法, AAT的最大特征值).
  7. 控制理论/负载均衡和互连网络: Laplacian谱.
  8. 化学 (特征值对应分子稳定性).
  9. 理论物理和量子力学中(最小化Hamiltonian系统能量).

图的特征多项式 (characteristic polynomial)

图的邻接矩阵 A(G)A(G) 的特征多项式

f(G,λ)=∣λE−A∣=λn+a1λn−1+a2λn−2+⋯+an−1λ+anf(G,λ)=|λE-A|=λ^n+a_1 λ^{n-1}+a_2 λ^{n-2}+⋯+a_{n-1} λ+a_n

称为图 GG 的特征多项式.

例

简单图 GG 的特征多项式为

f(G,λ)=∣λE−A∣=λn+a1λn−1+a2λn−2+⋯+an−1λ+anf(G,λ)=|λE-A|=λ^n+a_1 λ^{n-1}+a_2 λ^{n-2}+⋯+a_{n-1} λ+a_n

求证:
(1) a1=0a_1=0;
(2) –a2=m(G)–a_2=m(G);
(3) –a3–a_3 是 GG 中三角形数目的 22 倍;


证明: 由 Laplace 定理 (1812年由Cauchy首先证明): 对每个 1≤i≤n1 ≤ i≤n, (−1)iai(−1)^i a_i 是 A(G)A(G) 的所有 ii 阶主子式之和.

(1) 因 A(G)A(G) 的主对角元全为零, 故所有 11 阶主子式全为零, 即: a1=0a_1=0;

(2) 对于简单图 GG, A(G)A(G) 中非零的 22 阶主子式必为如下形式:

∣0110∣=−1\begin{vmatrix} 0&1\\ 1&0 \end{vmatrix} =−1

这样的一个 22 阶主子式对应 GG 中的一条边, 反之亦然, 所以, 有:

(−1)2𝑎2=−m(𝐺)−𝑎2=m(𝐺)(−1)^2 𝑎_2=−m(𝐺)\\ −𝑎_2=m(𝐺)

(3) 对于简单图 GG, A(G)A(G) 中非零的 33 阶主子式有如下 33 种本质上不同的形式:

∣010100000∣,∣011100100∣,∣011101110∣\begin{vmatrix} 0&1&0\\ 1&0&0\\ 0&0&0\\ \end{vmatrix} , \begin{vmatrix} 0&1&1\\ 1&0&0\\ 1&0&0\\ \end{vmatrix} , \begin{vmatrix} 0&1&1\\ 1&0&1\\ 1&1&0\\ \end{vmatrix}

这三种情形中仅最后一种的值非零 (值为 22). 这种主子式对应图中 33 条互相相邻的边 (形成一个三角形 K3K_3). 所以结论成立.

★图的邻接谱 Spec(G)Spec(G)

1950s, 德国化学家本生发现(焰色反应): 每种元素在火焰下都有它自己特有的颜色, 如钠的颜色是黄色, 钙的颜色是砖红色, 锂的颜色是深红色, 钾的颜色是紫色.

本生将结论告诉好友基尔霍夫后, 他们用三棱镜制作了一个简陋光谱仪, 发现所有元素的发射光谱都是分立的线条, 并不连续, 就像条形码一样, 而且每种元素的条形码都不一样.

这不就是元素的身份证吗? 他们把已知的元素光谱线都记录了下来,以后只要把一个东西往火里一烧, 分析他的光谱, 然后对照已经记录的元素光谱, 发现其中有钠元素, 有氯元素, 就知道烧的是氯化钠.

这解释了夫琅和费线(太阳可见光谱中的暗线, 1814年)中的暗线都对应了特定元素的吸收线, 从而确实了太阳的组成(1849年).

图的邻接矩阵 A(G)A(G) 的特征多项式的特征值 (eigenvalue) 及其重数 (multiplicity), 称为 GG 的邻接谱 (adjacency spectrum), 记为 Spec(G)Spec(G).

KnK_n 的谱

KnK_n 的邻接矩阵为

A(Kn)=(011⋯11101⋯11110⋯11⋮⋮⋮⋮⋮111⋯01111⋯10)A(K_n)= \begin{pmatrix} 0&1&1&⋯&1&1\\ 1&0&1&⋯&1&1\\ 1&1&0&⋯&1&1\\ \vdots & \vdots & \vdots& &\vdots&\vdots\\ 1&1&1&⋯&0&1\\ 1&1&1&⋯&1&0 \end{pmatrix}

于是

∣λE−A(Kn)∣=∣λ−1−1⋯−1−1−1λ−1⋯−1−1⋯−1−1−1⋯−1λ∣=∣λ−n+1−1−1⋯−1−1λ−n+1λ−1⋯−1−1⋯λ−n+1−1−1⋯−1λ∣=(λ−n+1)∣1−1−1⋯−1−11λ−1⋯−1−1⋯1−1−1⋯−1λ∣=(λ−n+1)(λ+1)n−1\begin{aligned} |λE-A(K_n)|&=\begin{vmatrix}λ&-1&-1&⋯&-1&-1\\-1&λ&-1&⋯&-1&-1\\&&⋯&&&\\-1&-1&-1&⋯&-1&λ\end{vmatrix}\\ &=\begin{vmatrix}λ-n+1&-1&-1&⋯&-1&-1\\λ-n+1&λ&-1&⋯&-1&-1\\&&⋯&&&\\λ-n+1&-1&-1&⋯&-1&λ\end{vmatrix}\\ &=(λ-n+1)\begin{vmatrix}1&-1&-1&⋯&-1&-1\\1&λ&-1&⋯&-1&-1\\&&⋯&&&\\1&-1&-1&⋯&-1&λ\end{vmatrix}\\ &=(λ-n+1)(λ+1)^{n-1} \end{aligned}

KnK_n 的谱为

Spec(G)=(−1n−1n−11)Spec(G)= \begin{pmatrix} −1&n−1\\ n−1&1 \end{pmatrix}

同谱图

若两个非同构的图具有相同的谱, 则称它们是同谱图 (cospectral graphs).

例

求证: 设简单图 A(G)A(G) 的谱为:

Spec(G)=(λ1λ2⋯λsm1m2⋯ms)Spec(G)= \begin{pmatrix} λ_1&λ_2&⋯&λ_s\\ m_1&m_2&⋯&m_s \end{pmatrix}

则:

∑i=1Smiλi2=2m(G)\sum_{i=1}^S m_i λ_i^2 = 2m(G)


证明: 由线性代数:

∑i=1Smiλi2=∑i=1naii(2)\sum_{i=1}^{S}m_i\lambda_i^2 =\sum_{i=1}^n a_{ii}^{(2)}

aii(2)a_{ii}^{(2)} 表示点 viv_i 的度数, 由握手定理:

∑i=1Smiλi2=∑i=1nai(2)=∑i=1nd(νi)=2m(G)\sum\limits_{i=1}^S m_i\lambda_i^2=\sum\limits_{i=1}^n a_i^{(2)}=\sum\limits_{i=1}^n d(\nu_i)=2m(G)

即:

∑i=1Smiλi2=2m(G)\sum_{i=1}^S m_i λ_i^2 = 2m(G)


思考: 非简单图这个结论还对吗?

例

求证:设 λλ 是简单图 G=(n,m)G = (n,m) 的任意特征值, 则:

λ≤2m(n−1)nλ ≤ \sqrt{\frac{2m(n-1)}{n}}

注: 邻接矩阵特征值绝对值的最大值称为谱半径 (spectral radius). 谱半径 (包括Laplacian, 以及无符号Laplacian谱半径) 的上界估计是谱图论研究的热点问题.


证明: 不失一般性, 设 λ=λ1,λ2,…,λnλ=λ_1, λ_2, …, λ_n 是 GG 的全体特征值.

GG 是简单图, 有:

λ1=−(λ2+λ3+⋯+λn)(1)\lambda_1=-(\lambda_2+\lambda_3+\cdots+\lambda_n) \tag{1}

又由上例, 有:

λ12=2m−(λ22+λ32+⋯+λn2)\lambda_1^2=2m-\left(\lambda_2^2+\lambda_3^2+\cdots+\lambda_n^2\right)

对向量 (1,1,…,1)(1, 1, …, 1) 与 (λ2+λ3+⋯+λn)(\lambda_2+\lambda_3+\cdots+\lambda_n) 用柯西不等式

∣λ2⋅1+λ3⋅1+⋯+λn⋅1∣≤λ22+λ32+⋯+λn2n−1|\lambda_2 \cdot 1 +\lambda_3 \cdot 1 +\cdots+\lambda_n \cdot 1 | \le \sqrt{\lambda_2^2+\lambda_3^2+\cdots+\lambda_n^2} \sqrt{n-1}

所以, 有:

(λ2+λ3+⋯+λn)2≤(n−1)(λ22+λ32+⋯+λn2)=(n−1)(2m−λ12)\left(\lambda_2+\lambda_3+\cdots+\lambda_n\right)^2 \le\left(n-1\right)\left(\lambda_2^2+\lambda_3^2+\cdots+\lambda_n^2\right) =\left(n-1\right)\left(2m-\lambda_1^2\right)

即:

λ12≤(n−1)(2m−λ12)(2)\lambda_1^2\leq(n-1)(2m-\lambda_1^2) \tag{2}

由(1)与(2)得:

λ≤2m(n−1)nλ ≤ \sqrt{\frac{2m(n-1)}{n}}


注: 由 Hückel 分子轨道理论, 图的邻接谱与化学分子的能量 (图能量) 有直接的关系.

图空间

集合 M={G1,G2,⋯,GN}M=\{G_1,G_2,⋯,G_N \}, GiG_i 为简单图 GG 的生成子图, N=2mN=2^m, 对于图的对称差 △\bigtriangleup 运算和数乘运算 0⋅Gi=Φ,1⋅Gi=Gi0 \cdot G_i = \Phi, 1 \cdot G_i = G_i 来说作成数域 F={0,1}F = \{0, 1\} 上的 mm 维向量空间.

注: 图空间概念是网络图论中的一个基本概念. 研究通信网络, 如果要用图论方法, 建议参看陈树柏的《网络图论及其应用》, 科学出版社, 1982年. 学习网络图论的主要基础是电工学与矩阵理论知识.

1.6 极图

极图属于极值图论讨论的范畴, 主要研究满足某个条件下的最大图或最小图问题.

ll 部图的概念与特征

ll 部图

若简单图 GG 的点集 VV 有一个划分:

V=⋃i=1lVi,Vi∩Vj=Φ,i≠jV=\bigcup_{i=1}^l V_i , V_i \cap V_j = Φ,i≠j

且所有的 ViV_i 非空, ViV_i 内的点均不邻接, 称 GG 是一个 ll 部图 (ll-partite graph).

注: 一个 ll 部图可能是一个 l+1l+1 部图.

完全 ll 部图

如果在一个 ll 部图 GG 中, 任意部 ViV_i 中的每个顶点同 GG 中其它各部中的每个顶点均相邻, 称 GG 为完全 ll 部图 (complete ll-partite graph). 记作: G=Kn1,n2,⋯,nl,(ni=∣Vi∣,1≤i≤l)G=K_{n_1,n_2,⋯,n_l},(n_i=|V_i |,1≤i≤l).

显然: ∣V∣=∑ilni,m(G)=∑1≤i<j≤lninj|V|=\sum_i^l n_i ,m(G)=\sum_{1≤i<j≤l}n_i n_j.

注: 一个完全 ll 部图不可能是一个完全 l+1l+1 部图.

Turán 图 Tl,nT_{l,n}

如果在一个 nn 个点的完全 ll 部图 GG 中有:

n=kl+r,0≤r<l∣V1∣=∣V2∣=⋯=∣Vr∣=k+1∣Vr+1∣=∣Vr+2∣=⋯=∣Vl∣=kn=kl+r,0≤r<l\\ |V_1 |=|V_2 |=⋯=|V_r |=k+1\\ |V_{r+1} |=|V_{r+2} |=⋯=|V_l |=k

则称 GG 为 nn 阶完全 ll 几乎等部图 (亦称为 Turán 图), 记为 Tl,nT_{l,n}.

∣V1∣=∣V2∣=⋯=∣Vl∣|V_1| = |V_2| = \cdots = |V_l| 的完全 ll 几乎等部图称为完全 ll 等部图. (Pál Turán 为了证明 Turán 定理给出)

定理:连通二部图二部划分唯一

连通二部图的二部划分是唯一的.

证明: 设连通二部图 GG 的二部划分为 V1∪V2=VV_1∪V_2 =V.
取 v∈V1v∈V_1, 由于 GG 连通, 对任何 u∈V1∪V2u∈V_1∪V_2, GG 中有连接 uu 和 vv 的路, 故 d(v,u)d(v, u) 有定义.
因任一条以 vv 为起点的路交替地经过 V1V_1 和 V2V_2 的点, 可知一个点 u∈V2u∈V_2 当且仅当 d(v,u)d(v, u) 是奇数. 这唯一地决定了 GG 的 22 部划分.

定理

定理: (教材定理17) nn 阶完全二部图包含的边数最多为: ⌊n24⌋⌊\frac{n^2}{4}⌋.


定理’: (Mantel, 1907) 不包含三角形 (triangle-free) 的 nn 阶简单图包含的边数最多为: ⌊n24⌋⌊\frac{n^2}{4}⌋.

注: 不包含子图 HH (HH-free) 是指不包含 HH 作为导出子图. 常见还有无爪图 (claw-free).


证明: 设 GG 是一个 nn 阶不含三角形的简单图, 对 GG 的任意一条边 uvuv, 均有 N(u)∩N(v)=∅N(u)∩N(v)=\varnothing. 所以有, d(u)+d(v)≤nd(u)+d(v)≤n.

将上面式子对于 GG 的每条边进行求和, 得

∑u∈V(G)d(u)2≤n∣E(G)∣.\sum_{u∈V(G)}d(u)^2≤n|E(G)|.

由 Cauchy 不等式,

(∑u∈V(G)d(u))2=(∑u∈V(G)1⋅d(u))2≤n⋅∑u∈V(G)d(u)2\bigg(\sum_{u∈V(G)}d(u)\bigg)^2 = \bigg(\sum_{u∈V(G)} 1 \cdot d(u)\bigg)^2 \leq n \cdot \sum_{u∈V(G)} d(u)^2

注意到(握手定理), ∑u∈V(G)d(u)=2∣E(G)∣\sum_{u∈V(G)}d(u)=2|E(G)|.

结合上面两式即得

(2∣E(G)∣)2≤n⋅∑u∈V(G)d(u)2≤n2∣E(G)∣∣E(G)∣≤n24(2|E(G)|)^2 \le n \cdot \sum_{u∈V(G)} d(u)^2 \le n^2|E(G)| \\ |E(G)| \le \frac{n^2}{4}

定理

nn 阶 ll 部图 GG 有最多边数的充要条件是 G≅Tl,nG \cong T_{l, n}.


证明: 首先有:

m(G)≤m(Kn1,n2,⋯ ,nl)m(G)\leq m(K_{n_1,n_2,\cdots,n_l})

其次, 考虑:

f(n1,n2,⋯ ,nl)=∑i<jninj,s.t,∑i=1lni=nf(n_1,n_2,\cdots,n_l)=\sum_{i<j}n_i n_j,s.t,\sum_{i=1}^l n_i=n

则 ff 取最大值的充分必要条件为: 1≤i<j≤l1 ≤ i<j ≤ l, 有:

∣ni−nj∣≤1|n_i-n_j|\leq1

而 GG 的对应的顶点划分形成的 ll 部图正好为 Tl,nT_{l, n}, 从而证明了该定理.

Turán 定理

度弱

设 GG 和 HH 是两个 nn 阶图, 称 GG 度弱于 HH (degree-minorized), 如果存在双射 μ:V(G)→V(H)μ:V(G)→V(H), 使得:

∀v∈V(G),dG(v)≤dH(μ(v))\forall v\in V(G), d_G(v)\leq d_H(\mu(v))

注:

(1) 若 GG 度弱于 HH, 一定有: m(G)≤m(H)m(G)≤m(H)

(2) 但 (1) 的逆不成立!例如: (1,1,4,2)(1, 1, 4, 2) 与 (3,3,3,3)(3, 3, 3, 3) 没有度弱关系!

(3) 度弱是两个图的度序列之间的整体关系, 不能理解为单个顶点间的度大小关系. 例如: (1,1,4,2)(1, 1, 4, 2) 与 (3,3,3,3)(3, 3, 3, 3) 没有度弱关系.

★定理 (Erdös, 1970)

若 nn 阶简单图 GG 不包含 Kl+1K_{l+1}, 则 GG 度弱于某个完全 ll 部图 HH, 且若 GG 具有与 HH 相同的度序列, 则:

G≅HG\cong H

★Turán 定理 (Turán 1941)

若 GG 是简单图, 并且不包含 Kl+1K_{l+1}, 则:

m(G)≤m(Tl,n)m(G)\leq m(T_{l,n})

仅当 G≅Tl,nG\cong T_{l,n} 时, 有 m(G)=m(Tl,n)m(G) = m(T_{l,n}).


(不包含 Kl+1K_{l+1} 的 nn 个顶点的简单图中, Turán 图 Tl,nT_{l,n} 边数最大)


证明: 对 ll 用数学归纳法. 当 l=1l=1 时, GG 是空图, 结论显然成立.

假设结论对所有不超过 ll 的整数都正确, 下面假设 GG 是一个不包含 Kl+1K_{l+1} 的简单图.

选择 GG 中的一个最大度点 xx, 即 d(x)=∆(G)d(x)=∆(G).

为方便起见, 令 X=N(x),Y=V\XX=N(x), Y=V \backslash X.

那么 ∣E(G)∣=∣E(G[X])∣+∣E(X,Y)∣+∣E(G[Y])∣|E(G)|=|E(G[X])|+|E(X,Y)|+|E(G[Y])|. (其中 E(X,Y)E(X,Y) 表示一个端点在 XX, 另一个端点在 YY 中的所有边的集合)

因为 GG 不包含 Kl+1K_{l+1}, 所以可以断言 G[X]G[X] 不包含 KlK_l.

由归纳假设,

∣E(G[X])∣≤∣E(Tl−1,∆)∣|E(G[X])|≤|E(T_{l−1,∆})|

等号成立当且仅当 G[X]≅Tl−1,∆G[X]≅T_{l−1,∆}.

注意到, YY 中顶点关联的边要么在 E(X,Y)E(X,Y) 中, 要么在 G[Y]G[Y].

另一方面, YY 中有 n−∆n−∆ 个顶点, 每个顶点的最大度不超过 ∆∆. 所以,

∣E(X,Y)∣+∣E(G[Y])∣≤∆(n−∆)|E(X,Y)|+|E(G[Y])| ≤∆(n−∆)

等号成立当且仅当 G[Y]G[Y] 是空图 (点独立集) 且 YY 中每个点的度都是 ∆∆.

基于此, 构造 H=Tl−1,∆∨G1H =T_{l−1,∆}∨G_1, 其中 G1G_1 是 n−∆n−∆ 个点的空图.

那么 ∣E(G)∣≤∣E(H)∣|E(G)|≤ |E(H)|.

显然 HH 是一个完全 ll 部图, 那么 ∣E(H)∣≤∣E(Tl,∆)∣|E(H)|≤ |E(T_{l,∆})|, 等号成立当且仅当 H≅Tl,∆H≅T_{l,∆}. 所以 ∣E(G)∣≤∣E(Tl,∆)∣|E(G)|≤ |E(T_{l,∆})|, 等号成立当且仅当 G≅Tl,∆G≅T_{l,∆}.


image-20230523232315546

几个有趣的结果

设 m(n,H)m(n,H) 表示 nn 阶简单图中不含子图 HH 的最多边数, 则:

m(n,K3)=⌊n24⌋m(n,K1,3+e)=⌊n24⌋m(n,K4−e)=⌊n24⌋\begin{aligned} m(n,K_3) &=\bigg\lfloor\frac{n^2}{4}\bigg\rfloor\\ m(n,K_{1,3}+e) &=\bigg\lfloor\frac{n^2}{4}\bigg\rfloor\\ m(n,K_4-e) &=\bigg\lfloor\frac{n^2}{4}\bigg\rfloor \end{aligned}


思考题: 一个 n+1n+1 正则的三部图 GG 的每个部集都有 nn 个点. 证明 GG 包含三角形.


注: 极值图论在组合数论, 组合几何中均有应用.

Turán 定理的应用

工兵排雷问题

问题: 工兵排雷问题 (Erdös, 1955, 1956)

一个小组n个人在一个平原地区执行一项排雷任务. 其中任意的两个人, 若其距离不超过g米, 则可用无线电保持联系; 若发生触雷意外, 地雷的杀伤半径为h米.
问: 在任意的两个人之间均能保持联系的条件下, 平均伤亡人数最低的可能值为多少?(事先并不知道雷在哪儿爆!)

分析:
(1)为保持通信, 排雷工兵相互之间距离不能超过g米. 因此, 他们必须分布在直径是g米的圆形区域内.
(2) 若某人A触雷, 则与A的距离大于h米的人将是安全的, 但究竟哪个人会发生触雷意外, 事先是不知道的, 所以此问题实际上是求在任意的两个人之间的距离不超过g米的条件下, 距离大于h米的人数对最多能达到多少对?
(3) 如果有n个工兵: {x1,x2,…,xn}\{x_1, x_2, …, x_n\}, 每个工兵用一个点表示, 两点连线, 当且仅当他们距离大于h米. 于是, 问题转化为求一个与该连接方式对应的极图.


下面, 以 g=1,h=12g=1,h=\frac{1}{\sqrt{2}} 为例来分析该问题.

设 A={x1,x2,…,xn}A=\{x_1, x_2, …, x_n\} 是n个工兵集合. 他们分布在直径为1的圆形区域内. 以A中每个元素为顶点, 两个顶点连线, 当且仅当它们距离大于 12\frac{1}{\sqrt{2}}. 这样得到一个 nn 阶图 GG.

  • 第1类: 若4个顶点形成一条直线, 显然存在2个顶点的距离大于1.
  • 第2类: 由于∠123, ∠124, ∠324中至少有一个大于90度, 由余弦定理, 该三角形的边中, 至少有一条长度超过1, 与要求相矛盾!
  • 第3类: 由于∠143, ∠432, ∠321, ∠214中至少有一个大于等于90度, 由余弦定理, 该四边形的边中, 至少有一条长度超过1, 与要求相矛盾!
image-20230523232752472

所以, 在 GG 中不存在 K4K_4.

其次, 由 Turán 定理:

∣E(G)∣≤∣E(T3,n)∣=⌊n23⌋\bigg|E(G)\bigg|\leq\bigg|E(T_{3,n})\bigg|=\bigg\lfloor\frac{n^2}{3}\bigg\rfloor

上面结果表明: 设 A={x1,x2,…,xn}A=\{x_1, x_2, …, x_n\} 为任意一个直径为 11 的平面点集 , 则 AA 中距离大于 12\frac{1}{\sqrt{2}} 的点对的最大数目为 ⌊n23⌋\lfloor\frac{n^2}{3}\rfloor.

下面, 构造最优分布图.

(1) 将 AA 分成三个子集如下:

A1={x1,x2,⋯ ,x⌊n3⌋}A2={x⌊n3⌋+1,x⌊n3⌋+2,⋯ ,x⌊2n3⌋}A2={x⌊2n3⌋+1,x⌊2n3⌋+2,⋯ ,xn}\begin{aligned} &A_1 =\{ x_1,x_2,\cdots,x_{\lfloor\frac{n}{3}\rfloor} \} \\ &A_2 =\{ x_{\lfloor\frac{n}{3}\rfloor+1},x_{\lfloor\frac{n}{3}\rfloor+2},\cdots,x_{\lfloor\frac{2n}{3}\rfloor} \} \\ &A_2 =\{ x_{\lfloor\frac{2n}{3}\rfloor+1},x_{\lfloor\frac{2n}{3}\rfloor+2},\cdots,x_{n} \} \\ \end{aligned}

(2) 选择 rr, 使 0<r<(1−22)/40<r<(1-\frac{\sqrt{2}}{2})/4, 以 rr 为半径画三个圆, 圆心分别相距 1−2r1−2r.

(3) 将 A1,A2,A3A_1, A_2, A_3 中的点各放于一个圆中, 并使 d(x1,xn)=1d(x_1,x_n)=1.

image-20230523233447614

1.7 交图与团图

交图 (intersection graph) 的概念与性质

集族的交图 Ω(F)\Omega (\mathcal{F})

设 SS 是一个集合, F={S1,S2,…,Sn}\mathcal{F}=\{S_1, S_2, …, S_n\} 是 SS 的不同非空子集构成的族, 它们的并是 SS.

集族 F\mathcal{F} 的交图, 记为 Ω(F)\Omega (\mathcal{F}), 定义为: V(Ω(F))=FV(\Omega (\mathcal{F}))=\mathcal{F}, 当 i≠ji≠j 且 Si∩Sj≠∅S_i∩S_j≠\varnothing 时, SiS_i 与 SiS_i 邻接;

如果存在集合 SS 的一个集族 F\mathcal{F}, 使: G≅Ω(F)G ≅\Omega (\mathcal{F}), 则称图 GG 是 SS 上的一个交图.


例:

S={x1,x2,x3,x4,x5,x6,x7}S1={x1}S2={x1,x2,x3}S3={x2,x4,x5}S4={x4,x5,x6}S5={x5,x6,x7}F={S1,S2,S3,S4,S5}S=\{x_{1}, x_{2}, x_{3}, x_{4}, x_{5}, x_{6}, x_{7}\} \\ \begin{aligned} S_{1}&=\left\{x_{1}\right\} \\ S_{2}&=\left\{x_{1}, x_{2}, x_{3}\right\} \\ S_{3}&=\left\{x_{2}, x_{4}, x_{5}\right\} \\ S_{4}&=\left\{x_{4}, x_{5}, x_{6}\right\} \\ S_{5}&=\left\{x_{5}, x_{6}, x_{7}\right\} \end{aligned} \\ F=\{S_{1}, S_{2}, S_{3}, S_{4}, S_{5}\}

则:

image-20230523234958690

定理 (Szpilrajn-Marczewski, 1945)

每个图均为交图.


证明: 设 GG 是任意一个图, 令: S=E(G),V(G)={v1,v2,..,vn}S=E(G),V(G)=\{v_1, v_2, .., v_n\}
令 Si={e∣e与vi相关联},F={Si}S_i=\{e|e与v_i相关联\}, F=\{S_i\} 则: SiS_i 与 SjS_j 相交非空, 当且仅当对应的顶点共同关联一条边.
所以, GG 是交图.

交数

GG 是 SS 上的交图, 如果 SS 的基数最小, 称 SS 的基数为图 GG 的交数 (intersection number), 记为 ν(G)ν(G).

注: 确定给定图的交数是否不超过给定数 k 的问题是 NP-完全的, M. Garey, R. Johnson, S. David (1979).因此, 计算一个给定图的交数是 NP-困难的.

交图的交数是图的一个拓扑不变量.下面是几个关于交数的结论:
(1) (n,m)(n, m) 连通图 GG 的交数满足: ν(G)≤mν(G)≤m.
(2) 若图 GG 为 n(n>3)n(n>3) 阶连通图, 当且仅当 GG 中没有三角形时, 有: ν(G)=mν(G)=m.

团图 (clique graph) 的概念与性质

团

简单图 GG 的一个团 (clique) 是指 VV 中一个子集 V1V_1, 使 G[V1]G[V_1] 是完全图.

团图的研究至少早于1968年, Ronald C. Hamelink, A partial characterization of clique graphs, J. Combin. Theory 5 (1968) 192-197

团图

一个给定的图 GG 的团图 (clique graph) 是 GG 的极大团的族构成的交图.

注:
(1)团图 K(G)K(G) 的每个顶点代表 GG 的一个极大团;
(2)团图 K(G)K(G) 的两个顶点相邻当且仅当对应的两个团有至少一个公共顶点.

例

image-20230524003032034

(1)指出图 GG 中所有的团;
(2)作出图 GG 的一个团图.

解: (1)

Si={vi},1≤i≤6S7={v1,v2}S8={v1,v6}S9={v2,v6}S10={v2,v3}S11={v2,v4}S12={v3,v4}S13={v6,v5}S14={v6,v4}S15={v4,v5}S16={v1,v2,v6}S17={v2,v3,v4}S18={v2,v4,v6}S19={v4,v5,v6}S_{i}=\left\{v_{i}\right\}, 1 \leq i \leq 6 \\ S_{7}=\left\{v_{1}, v_{2}\right\} \\ S_{8}=\left\{v_{1}, v_{6}\right\} \\ S_{9}=\left\{v_{2}, v_{6}\right\} \\ S_{10}=\left\{v_{2}, v_{3}\right\} \\ S_{11}=\left\{v_{2}, v_{4}\right\} \\ S_{12}=\left\{v_{3}, v_{4}\right\} \\ S_{13}=\left\{v_{6}, v_{5}\right\} \\ S_{14}=\left\{v_{6}, v_{4}\right\} \\ S_{15}=\left\{v_{4}, v_{5}\right\} \\ S_{16}=\left\{v_{1}, v_{2}, v_{6}\right\} \\ S_{17}=\left\{v_{2}, v_{3}, v_{4}\right\} \\ S_{18}=\left\{v_{2}, v_{4}, v_{6}\right\} \\ S_{19}=\left\{v_{4}, v_{5}, v_{6}\right\}

(2) F={S16,S17,S18,S19}F=\{S_{16}, S_{17}, S_{18}, S_{19}\} 是 GG 的极大团的集合, 则 GG 的一个团图为 K4K_4.

其他构造图的方式

交图不仅是构造图的一种方式. 相当多的图类都可以通过交图构造, 如区间图 (interval graph, 以实数轴上的区间为顶点, 区间相交则连边), 单位圆盘图, 团图等, 而且在众多方面有应用:

image-20230524002943057
  • 区间图可用在资源分配, 如软件工程中流程控制, 寄存器分配, 运筹学等;
  • 单位圆盘图(模拟通信基站)可用在自适应无线网络中;
  • 团图可用在社交网络(最大社会圈子), 生物信息学(推断蛋白质结构), 化学(匹配药物结构调整)等.
  • 在一般图中寻找最大团的问题是NP-完全的.

文章目录

版权

本文遵循署名-非商业性使用-禁止演绎 4.0 国际 (CC BY-NC-ND 4.0) 标准。

部分内容源自互联网、书本和课堂,仅供交流学习,未用于任何商业用途。如果它们侵犯了您的权益,请与我们联系,我们将立即删除它们。

版权所有 © 2020-2026 Kloudy 保留所有权利.