离散数学
FBI Warning
以下内容纯属各路资源拼接,未满 18 岁不得观看。
内容并非全部内容,仅作复习用。
数理逻辑
文字 Literal
一个原子公式(Atomic formula)或其否定,如 \(P, \neg P\)。
析取/合取范式 DNF/CNF
由有限个合取式析取而成 / 由有限个析取式合取而成。每个变元都出现一次的简单合取式称为极小项(Minterm),简单析取式称为极大项(Maxterm)。
极大项的下标取值方式:将赋值为假的变量取值从左到右排成一排看作二进制数。例如命题 \(P, Q, R\),则 \(M_0 = P \lor Q \lor R, M_5 = \neg P \lor Q \lor \neg R\)。极小项同理,改为赋值为真的取值即可。
极小项的析取称为主析取范式(PDNF, Principal Disjunctive Normal Formula),极大项的合取称为主合取范式(PCNF, Principal Conjunctive Normal Formula)。
例如三个命题 \(P, Q, R\),若要把 \(R\) 化为 PCNF,有
若要化为 PDNF,有
实际上,容易发现 PDNF 中的极小项下标就是 PCNF 中缺失的所有极大项下标。
与非/或非
用与非表示与/或/非:
用或非表示与/或/非:
一阶逻辑 First-Order Logic
分配等值式:
Caution:
证明只需考虑 \(A \to B \iff \neg A \lor B\)。
约束出现/自由出现(Bound Occurrence/Free Occurrence):变量是否在量词辖域中。
闭式(Closed Formula/Sentence):没有自由变量的公式。
前束范式 PNF, Prenex Normal Form
所有量词和所辖变元位于开头,且量词前没有取非运算。
例:求 \((\forall x F(x, y) \to \exist y G(y)) \to \forall x H(x, y)\) 的 PNF。
集合论
幂集 Power Set
集合 \(A\) 的全体子集构成的集合为 \(P(A)\),也记作 \(2^A\)。显然,对于有限集 \(A\),\(|P(A)| = 2^{|A|}\)。
幂集在集合的交并补运算下构成一个布尔代数(Boolean Algebra)。
容斥原理 Inclusion-Exclusion Principle
一些基本的应用详见容斥原理基础应用。
二元关系 Binary Relation
笛卡尔积(Cartesian Product):\(A \times B = \{(x, y) \mid x \in A \land y \in B\}\)。
全域关系(Universal Relation):\(E_A = A \times A\)。
恒等关系(Identity Relation):\(I_A = \{(x, x) \mid x \in A\}\)。
关系 \(R\) 的定义域(Domain)记作 \(\text{dom} (R) = \{x \mid \exist y, (x, y) \in R\}\),值域(Range)记作 \(\text{ran} (R) = \{y \mid \exist x, (x, y) \in R\}\),域(Field)记作 \(\text{field} (R) = \text{dom} (R) \cup \text{ran} (R)\)。
关系 \(R\) 的逆记作 \(R^{-1} = \{(y, x) \mid xRy\}\)。
关系 \(F\) 与 \(G\) 的左复合 \(F \circ G = \{(x, z) \mid \exist y, xFy \land yGz\}\),右复合 \(F \circ G = \{(x, z) \mid \exist y, xGy \land yFz\}\)。某教材采用的是右复合,故接下来写的都是右复合。
关系 \(R\) 在 \(A\) 上的限制(Restriction)记作 \(R \restriction A = \{(x, y) \mid x \in A \land xFy\}\),\(A\) 在 \(F\) 下的像(Image)记作 \(F[A] = \text{ran}(F \restriction A)\)。群论中轨道的定义与此处像的定义十分类似,形象地理解就是,轨道可以看作是单个元素在群作用形成的关系下的像。
集合 \(A\) 上的关系 \(R\) 的 \(n\) 次幂定义为 \(R^n = R^{n - 1} \circ R, R^0 = I_A\)。
- 自反性 Reflexivity:\(\forall x \in A, xRx\);
- 反自反性 Irreflexivity:\(\forall x \in A, \neg xRx\);
- 对称性 Symmetry:\(\forall x, y \in A, xRy \implies yRx\);
- 反对称性 Antisymmetry:\(\forall x, y \in A, (xRy \land yRx) \implies x = y\);
- 非对称性 Asymmetric:\(\forall x, y \in A, xRy \implies \neg yRx\);
- 连接性 Connected:\(\forall x, y \in A, x \ne y \implies (xRy \lor yRx)\);
- 传递性 Transitivity:\(\forall x, y, z \in A, (xRy \land yRz) \to xRz\)。
闭包 Closure
通俗地讲,关系 \(R\) 的“XX”闭包就是包含 \(R\) 的最小的满足“XX”性的关系。
自反闭包 \(r(R) = R \cup I_A\),对称闭包 \(s(R) = R \cup R^{-1}\),传递闭包 \(t(R) = \bigcup_\limits{i = 1}^{\infty} R^i\)。注意,传递闭包并不包含 \(R^0\) 项,因此它可能不是自反的。
由于图可以抽象为邻接矩阵,邻接矩阵又可以表示点集上的关系,所以可以类似地定义图和矩阵(方阵)的闭包。一个应用是 Floyd-Warshall 算法。
等价关系 Equivalence Relation
满足自反、对称、传递的关系称为等价关系。集合 \(A\) 上的等价关系和集合 \(A\) 的划分形成双射。\(A\) 关于 \(R\) 的商集(Quotient Set)定义为 \(A / R = \{[x] \mid x \in A\}\),也就是 \(R\) 对应的划分。
偏序关系 Partial-Order Relation
满足自反、反对称、传递的关系称为偏序关系,此时称 \(A\) 为偏序集(poset)。若偏序 \(R\) 还具有连接性,则称其为全序(total order),\(A\) 为全序集/线性序集/简单序集。由于反对称性,所以 Hasse 图一定是一张 DAG,此时对其进行拓扑排序可以构造全序。
若 \(B \subseteq A\),则 \(B\) 的最小元为 \(y\),当且仅当 \(\forall x \in B, y \le x\),最大元类似;极小元为 \(y\),当且仅当 \(\forall x \in B, (x \le y \lor y \le x) \implies y \le x\),极大元类似。
若 \(\exist y \in A, \forall x \in B, x \le y\),则称 \(y\) 是 \(B\) 的上界,下界同理。最小上界(上确界,LUB,\(\sup(B)\))即所有上界的最小元,最大下界(下确界,GLB,\(\inf(B)\))同理。
链/反链 Chain/Antichain
若 \(A\) 为偏序集,\(\le\) 为其上偏序关系,则称 \(A\) 的全序子集为链(chain);若子集 \(T\) 中任意两个元素均不可比,则称 \(T\) 为反链(antichain)。我们称 \(A\) 的最长反链长度为 \(A\) 的宽度(partial order width)。
关于链和反链有 Dilworth 定理和 Mirsky 定理,利用它们可以导出图论中的 Hall 定理,证明详见此处。
判定无限偏序集中是否存在最大元,可以使用 Zorn 引理(Zorn's Lemma):若非空偏序集的每条链都有上界,则该偏序集存在极大元。Zorn 引理与选择公理、良序定理等价。
函数/映射 Functions
若 \(\forall x \in \text{dom}(F), |F[\{x\}]| = 1\),则称 \(F\) 为函数(映射)。也就是说,对于定义域内每个 \(x\),都有唯一的 \(y\) 使得 \(xFy\) 成立。
集合 \(B^A = \{f \mid f : A \to B\}\) 表示所有以 \(A\) 为定义域,以 \(B\) 为陪域的函数构成的集合(即 \(\text{dom}(f) = A, \text{ran}(f) \subseteq B\))。
单射(Injective):\(\forall x_1 \ne x_2 \in A, f(x_1) \ne f(x_2)\)。
满射(Surjective):\(\text{ran}(f) = B \iff \forall y \in B, |f^{-1} \restriction \{y\}| \ge 1\)。
双射(Bijective):既是单射,也是满射。此时一定有 \(|A| = |B|\)。
单射一定有反射,且该反射为双射。
两个“x”射的复合仍然是“x”射。
群论
Klein 四元群 \(G = \{e, a, b, c\}\) 满足交换律,且 \(a, b, c\) 任意两者的运算结果为第三个元素。
子群 Subgroup
对于群 \((G, ·)\),若 \(H \subseteq G\),且 \((H, ·)\) 也是一个群,则 \(H\) 是 \(G\) 的一个子群,记作 \(H \le G\)。
子群判别法:群 \(G\) 的子集 \(H\) 是子群,当且仅当 \(\forall x, y \in H, x^{-1}y \in H\)。
集合 \(S \subseteq G\) 的生成子群为 \(\langle S \rangle\),其为包含 \(S\) 的最小的子群。形象地说,我们可以考虑不断用与 \(S\) 中元素运算得到的元素扩充 \(S\) 从而得到一个子群 \(H\)。
循环群 Cyclic Group
由一个元素生成的群称为循环群。形式化地,对于群 \(G\),如果存在 \(x \in G\) 使得 \(G = \langle x \rangle\),则称 \(G\) 是一个循环群(cyclic group)。若循环群无限,则其一定与 \(C_{\infty} = (\Z, +)\) 同构;否则,设其元素个数为 \(n \in \N^+\),则其与 \(C_n = (\Z/n\Z, +)\) 同构(即整数模 \(n\) 意义下的加法群)。
所有循环群都是 Abel 群,然而所有非平凡子群都是 Abel 群不能导出群本身是一个循环群。
群的阶 Order of Groups
群的阶就是群的元素个数,即 \(|G|\)。群内给定元素的阶是该元素生成子群的阶,即 \(|x| = | \langle x \rangle |\),该值为最小的使得 \(x^n = e\) 成立的正整数 \(n\),若不存在,则称 \(|x| = \infty\)。
群内元素的阶总是整除群的阶。
有限循环群 \(C_n = \langle x \rangle\) 中,元素 \(x^k\) 的阶为 \(\dfrac{n}{\gcd(k, n)}\)。特别地,\(C_n\) 的生成元数量为 \(\varphi(n)\)(因为生成元满足 \(|x^k| = n\),故 \(k\) 与 \(n\) 互质)。
若 \(G\) 是 \(n\) 阶循环群,则对于所有 \(d \mid n\),恰有一个 \(d\) 阶子群。
陪集 Coset
给定子群 \(H \le G\),可以定义它的左陪集(left coset)和右陪集(right coset)为
陪集中的元素称为陪集的代表元。子群本身就是它的陪集(取 \(g = e\) 即可)。给定子群,全体陪集构成群的一个分划,即群是全体陪集的不交并。对于左陪集的分划,等价关系为 \(g_1 \sim g_2 \iff g_1^{-1}g_2 \in H\);对于右陪集的分划,等价关系为 \(g_1 \sim g_2 \iff g_1g_2^{-1} \in H\)。
同一子群的任意陪集大小都等于子群的大小。由于给定子群的全体陪集构成分划,所以有限群的阶一定被子群的阶整除,这即是 Lagrange 定理:用 \([G : H]\) 表示 \(H \le G\) 的左(或右)陪集数,称为 \(G\) 中子群 \(H\) 的指数,则对于有限群 \(G\) 和子群 \(H \le G\),有 \(|G| = [G : H]|H|\)。
正规子群 Normal Subgroup
一般情况下,子群 \(H\) 的左右陪集并不相同。如果对于任意 \(g \in G\),都有 \(gH = Hg\),则称 \(H\) 是 \(G\) 的一个正规子群。这个条件等价于 \(\forall g \in G, h \in H, ghg^{-1} \in H\),记作 \(H \trianglelefteq G\)。
群 \(G\) 总是有平凡的正规子群:\(\langle e \rangle\) 和 \(G\) 本身。
商群 Quotient Group
对于 \(H \trianglelefteq G\),考虑其全体陪集:
定义 \(G / H\) 上的二元运算 \(\circ\) 为 \(g_1 H \circ g_2 H = (g_1 g_2) H\),此时 \((G/ H, \circ)\) 称为 \(G\) 模 \(H\) 的商群(quotient group)。商群 \(G / H\) 不是 \(G\) 的子群,它的每个元素都是 \(G\) 的子集。
除平凡正规子群外没有其他正规子群的群称为单群 (simple group)。
群同态 Homomorphism
设映射 \(\varphi : G \to H\) 是 \((G, ·)\) 到 \((H, \circ)\) 的映射,若 \(\forall g_1, g_2 \in G, \varphi(g_1 · g_2) = \varphi(g_1) \circ \varphi(g_2)\),则称映射 \(\varphi\) 是一个自群 \(G\) 到群 \(H\) 的同态(homomorphism)。
显然,单位元会被映射到单位元,逆元会被映射到逆元。
群同构 Isomorphism
设 \(\varphi : G \to H\) 是自群 \(G\) 到群 \(H\) 的同态,如果 \(\varphi\) 是双射,则称 \(\varphi\) 是 \(G\) 与 \(H\) 之间的同构(isomorphism),记作 \(G \cong H\)。
置换群 Permutation Group
置换就是排列,轮换即是“置换环”,也就是排列的不交分解。
若置换 \(\sigma\) 可以表示为若干对换之积,则称 \(\sigma\) 为奇置换,否则为偶置换。\(n\) 元奇置换和偶置换各有 \(\dfrac{n!}{2}\) 个。
所有 \(n\) 元置换构成的集合 \(S_n\) 及其上乘法构成一个群,称为 \(n\) 元对称群。\(S_n\) 的任意子群称为 \(n\) 元置换群。
群作用 Group Action
对于群 \(G\) 和集合 \(X\) 以及映射 \(G \times X \to X\),记 \((g, x)\) 在该映射下的像为 \(g · x\),若该映射满足 \(\forall g_1, g_2 \in G, x \in X, g_1 · (g_2 · x) = (g_1 · g_2) · x\),且 \(e · x = x\),则称该映射为 \(G\) 在集合 \(X\) 上的群作用(group action)。
注意到上述性质表明对于一个 \(g \in G\),若 \(x_1, x_2 \in X, gx_1 = gx_2\),那么 \(g^{-1}gx_1 = g^{-1}gx_2 \implies x_1 = x_2\),所以对于一个 \(g\),其在 \(X\) 上的作用构成 \(X \to X\) 的双射,也就是说构成一个置换,设为 \(\varphi_g\)。不难发现,\(\varphi_g\) 的逆置换就是 \(\varphi_{g^{-1}}\)。可以验证,\(\varphi\) 是群 \(G\) 到 \(S_{X}\) 的一个同态,这一同态被称为该群作用的置换表示,它将 \(G\) 映射到了某个置换群上。
轨道 Orbit
固定群中的元素 \(g\),可以得到集合 \(X\) 上的置换 \(\varphi_g\);而如果研究一个集合 \(X\) 中的特定元素 \(x\),则可以得到群 \(G\) 对元素 \(x\) 作用的所有可能结果。这就是 \(x\) 在群 \(G\) 作用下的轨道(orbit):\(Gx = \{gx : g \in G\}\)。形象地,可以认为是群 \(G\) 中每个元素 \(g\) 采用群 \(G\) 所含有的某种特殊规则对 \(x\) 进行了变化,得到了若干结果,\(x\) 在群 \(G\) 作用下的可能结果只在这些结果中取得。容易发现,\(X\) 的全体轨道构成了 \(X\) 的一个分划(因所有 \(\varphi_g\) 都为双射),记作 \(X / G\),但是与陪集不同的是这些轨道并不一定等长。
稳定子 Stabilizer
对于群 \(G\) 在集合 \(X\) 上的作用和 \(x \in X\),称群 \(G\) 中 \(x\) 的稳定子(stabilizer)为子群 \(G_x = \{g \in G : gx = x\}\)。
轨道上的元素和稳定子的左陪集一一对应。即,\(x \in X\) 的稳定子 \(G_x\) 是 \(G\) 的子群,且子群 \(G_x\) 的左陪集与轨道 \(Gx\) 存在双射(对于左陪集 \(gG_x\),有 \(\forall k \in gG_x, kx = gg'x = g(g'x) = gx\))。这表明 \([G : G_x] = |Gx|\),根据 Lagrange 定理立得
这就是轨道-稳定子定理。
Burnside 引理 Burnside's Lemma
对于群 \(G\) 在集合 \(X\) 上的作用,轨道的个数等于群中每个元素对应置换的不动点的平均个数,即
这里 \(X^g = \{x \in X : gx = x\}\) 表示 \(g \in G\) 对应置换 \(\varphi_g\) 的不动点集合。
证明很简单:注意到 \(\sum_{g \in G} |X^g| = \sum_{x \in X} |G_x|\) 即可。
Pólya 定理 Pólya's Theorem
例:一串共 4 个珠子的项链,每个珠子可以染成 \(k\) 种颜色中的一种,求有多少种本质不同的项链(注意项链可以旋转)。
对于染色计数问题,不动点个数 \(|X^g|\) 的计算方法可以进行改进:颜色集合为 \(C\),则染色方案集合为 \(C^X\),则有 Pólya 定理:
其中 \(c(g)\) 为 \(\varphi_g\) 的轮换分解中的轮换数目(也就是排列中的置换环数目)。
一个形象的考虑是:\(g\) 对应的 \(\varphi_g\) 会形成若干置换环,每个置换环上的位置必须染同一颜色才能构成一个不动点,所以不动点的数目应为 \(|C|^{c(g)}\)。
环 Rings
设 \((G, +)\) 为交换群,\((G, ·)\) 为半群,\(·\) 运算对于 \(+\) 运算满足分配律,则称 \((G, +, ·)\) 为一个环。通常称第一个运算为环上的加法,第二个运算为环上的乘法。
若环中乘法满足交换律,则称环为交换环。
若环中乘法存在单位元,则称环为含幺环。
若 \(\forall a \ne 0, b \ne 0 \in R, ab \ne 0\),则称环为无零因子环。
整环 Integral Domain
若环 \(R\) 满足 \(R\) 是交换环、含幺环和无零因子环,则称 \(R\) 是一个整环。
域 Fields
若整环 \(R\) 满足除零元 \(0\) 外均存在逆元,则称 \(R\) 是一个域。
格与布尔代数
格 Lattices
偏序集定义:设 \((S, \le)\) 为偏序集,若 \(\forall x, y \in S\),\(\{x, y\}\) 都有最小上界 \(\min_{x \le z, y \le z} z\) 和最大下界 \(\max_{z \le x, z \le y} z\),则称 \(S\) 关于偏序 \(\le\) 构成一个格。
由于上确界和下确界均唯一,可以把它们分别看作二元运算 \(x \lor y\) 和 \(x \land y\)。
显然,若 \(x, y\) 可比,则有 \(x \le y \iff x \lor y = y, x \land y = x\),且 \(y \le x \iff x \lor y = x, x \land y = y\)。运算具有保序性。
代数系统定义:设 \((S, *, \circ)\) 为代数系统,如果二元运算 \(*, \circ\) 满足交换律、结合律和吸收律,则 \((S, *, \circ)\) 构成一个格。此时 \(\land = *, \lor = \circ\)。
格的对偶原理 Duality Principle of Lattices:设 \(f\) 是含有格中元素以及符号 \(=, \le, \ge, \lor, \land\) 等的命题,若 \(f\) 对一切格为真,则 \(f\) 的对偶命题 \(f^*\) 也对一切格为真。例如 $f: \forall a, b \in L, a \land b \le a \implies f^{*}: \forall a, b \in L, a \lor b \ge a $。
运算 \(\lor\) 和 \(\land\) 满足:交换律,结合律,幂等律,吸收律(\(a \lor (a \land b) = a, a \land (a \lor b) = a\))。
正因子格:\(n\) 为正整数,则 \(n\) 的所有正因子关于整除关系构成格。此时 \(x \land y = \gcd(x, y), x \lor y = \text{lcm}(x, y)\)。
幂集格:\((P(A), \subseteq)\) 是一个格,称为幂集格。此时 \(x \land y = x \cap y, x \lor y = x \cup y\)。
整数格:\((\Z, \le)\) 是一个格,此时 \(x \land y = \min(x, y), x \lor y = \max(x, y)\)。
子群格:群 \(G\) 的所有子群构成一个格,此时 \(x \land y = x \cap y, x \lor y = \langle x \cup y \rangle\)(注意子群交仍然是子群,但子群并需要取生成子群才构成子群)。
设 \(\langle S, \land, \lor \rangle\) 是一个格,\(T\) 是 \(S\) 的一个非空子集,若 \(T\) 关于 \(\land, \lor\) 构成一个格,则称 \(\langle T, \land, \lor \rangle\) 是 \(\langle S, \land, \lor \rangle\) 的子格(Sublattice)。
若存在 \(a \in S, \forall x \in S, x \le a\),则称 \(a\) 是 \(S\) 的全上界(Total Upper Bound),也就是最大元;全下界同理,即为最小元。若两者均存在,则称 \(S\) 是有界格(Bounded Lattice),记作 \(\langle S, \land, \lor, 0, 1 \rangle\),其中 \(0, 1\) 分别为最小元和最大元。显然,有 \(\forall x \in S, x \lor 0 = x, x \lor 1 = 1, x \land 0 = 0, x \land 1 = x\)。
若 \(\land, \lor\) 互相满足分配律,则称 \(\langle S, \land, \lor \rangle\) 是分配格(Distributive Lattice)。
若 \(\forall x \in S, \exist x' \in S, x \land x' = 0, x \lor x' = 1\),则称 \(S\) 是有补格(Complement Lattice),\(x'\) 与 \(x\) 互为补元。
布尔代数 Boolean Algebra
有补的分配格称为布尔代数,记作 \(\langle S, \land, \lor, ', 0, 1 \rangle\),例如正因子格、幂集格和子群格。对于有限布尔代数 \(S\),在 Hasse 图中,与 \(0\) 直接连边的所有元素称为原子(atom),令所有原子构成的集合为 \(A\),则 \(S\) 同构于 \(P(A)\),基数为 \(|S| = 2^{|A|}\)。
容易得出,任何等势的有限布尔代数都同构。
图论
图的阶数(order)即点集大小 \(|V|\),若 \(|E| = 0\),则称为零图。
\(\Delta(G)\) 为所有顶点度数的 \(\max\),称为图 \(G\) 的最大度(maximum degree),同理有最小度 \(\delta(G)\)。
无向图 \(G\) 中,\(\displaystyle \sum_{u \in V} d(u) = 2|E|\)。证明将无向图看作有向图即可(实际上我们也一直是这样处理的)。由于等式右侧是偶数,所以奇度节点一定为偶数个。
图同构(Graph Isomorphism)是 NP 问题(但并非 NP-Hard)。
竞赛图 Tournament Graph
基图为 \(K_n\) 的有向简单图,实际上就是给完全图的每条边定向。竞赛图一定能够缩点形成链状 DAG,即形如 \(C_1 \to C_2 \to \dotsb \to C_k\),且对于 \(C_i\) 向 \(\forall j \gt i\) 的 \(C_j\) 连边。
兰道定理(Landau's Theorem):设 \(\{a_n\}\) 为不减的非负整数序列,则它是竞赛图的度数序列,当且仅当 \(\forall k = 1, 2, \dotsb, n, \displaystyle \sum_{i = 1}^{k} a_i \ge \dbinom{k}{2}\),且当 \(k = n\) 时取等号。
正常的证明应该使用归纳法或网络流,不过使用 Hall 定理的推论似乎也能证明(to be done)。
正则图 Regular Graph
若 \(n\) 阶简单无向图 \(G\) 中所有节点度数相同(均为 \(k\)),则称 \(G\) 为 \(n\) 阶 \(k -\)正则图。
子图 Subgraph
若 \(G' = (V', E')\) 满足 \(V' \subseteq V, E' \subseteq E\),则 \(G' \subseteq G\),称 \(G'\) 是 \(G\) 的子图。注意,子图仍需满足 \(E'\) 中涉及的顶点都在 \(V'\) 中,也就是说子图就是 \(E'\) 的边导出子图,但与点导出子图不同的是不一定要“选满”。
(点集的)导出子图(Induced Graph):\(V' \subseteq V\) 的导出子图的边集是所有两顶点都在 \(V'\) 中的边。
补图 Complement Graph
\(G = (V, E)\) 的补图为 \(G' = (V, E(K_n) \setminus E)\),即由相同点集和所有不在原图中的边组成的图。
通路/回路 Path/Circuit
所有边互不相同的通路称为简单通路,同理可定义简单回路。欧拉通路/回路显然是简单通路/回路。
所有顶点互不相同的简单通路称为初级通路,也称路径,同理可定义初级回路,也就是圈。
连通性 Connectivity
无向图
显然无向图的连通性可以视作一种等价关系,这也是并查集维护等价类的依据。
若从图 \(G\) 中删除点 \(u\),图 \(G\) 的连通分量数量增加,则称 \(u\) 是 \(G\) 的割点(Cut Vertex)。同理可定义割边(Cut Edge),也就是桥。
设 \(G\) 是无向连通图,则 \(G\) 的点连通度(Vertex Connectivity)定义为 \(G\) 的割点集大小最小值(也就是至少要删除几个点才能使图的连通分量数量增加),记作 \(\kappa(G)\)。\(n\) 阶完全图 \(K_n\) 满足 \(\kappa (K_n) = n - 1\),树满足 \(\kappa(T) = 1\)。
\(k-\)连通图定义为删除任意 \(k - 1\) 个顶点后仍连通的图,此时 \(\kappa(G) \ge k\)。
同理,\(\lambda(G)\) 为图 \(G\) 的边连通度(Edge Connectivity),也就是 \(G\) 的割边集大小的最小值。完全图 \(\lambda(K_n) = n - 1\),树 \(\lambda(T) = 1\)。求解边连通度就是求最小割,根据 Ford-Fulkerson 定理,我们只需在图 \(G\) 上枚举源汇点求最大流即可。
\(r-\)边连通图定义为删除任意 \(r - 1\) 条边后仍连通的图,此时 \(\lambda(G) \ge r\)。
Whitney 不等式:\(\kappa \le \lambda \le \delta\)。
有向图
有向图中,连通性被拆分为两个方向的可达性,这就产生了强连通和弱连通:若有向图 \(G\) 的基图是连通图,则称 \(G\) 为弱连通图(Weakly Connected Graph);若 \(G\) 中任意两点互相可达,则 \(G\) 为强连通图(Strongly Connected Graph)。显然,强连通图都是弱连通的。注意,单向连通是强于弱连通的,因为它要求任意两点间存在可达关系。
\(G\) 是单向连通的当且仅当存在经过每个节点至少一次的通路。
\(G\) 是强连通的当且仅当存在经过每个节点至少一次的回路。
强连通分量 Strongly Connected Components
有向图 \(G\) 的所有极大强连通子图称为它的强连通分量。
使用 Tarjan 算法可以在 \(O(n + m)\) 时间内求出有向图 \(G\) 的所有强连通分量,且访问 SCC 的顺序为缩点后 DAG 的逆拓扑序。
双连通分量 Biconnected Components
对于无向连通图 \(G\),若 \(u, v\) 满足无论删除哪条边都不能使得它们不连通,则称 \(u, v\) 边双连通。同理可定义点双连通。注意,边双连通具有传递性,但点双连通不具有。
无向连通图 \(G\) 的极大边双连通子图称为它的边双连通分量,同理有点双连通分量。
Tarjan 算法可以在 \(O(n + m)\) 时间内求出所有边双/点双连通分量。
圆方树将所有边双连通分量抽象为中心方点,此时直接相连的两点间不会新建方点,只能处理仙人掌(每条边在至多一个简单环上)上的问题。若将所有点双连通分量进行圆方树构造,则可以得到广义圆方树,它可以处理一般无向图。
关联矩阵 Incidence Matrix
无向图:大小为 \(n \times m\),其中 \(M_{i, j}\) 为 \(v_i\) 与 \(e_j\) 的关联次数(自环为 \(2\),否则在边中为 \(1\),不在为 \(0\))。
有向图:大小为 \(n \times m\),若 \(v_i\) 为 \(e_j\) 起点则 \(M_{i, j} = 1\),终点则 \(M_{i, j} = -1\),否则为 \(0\)。
邻接矩阵 Adjacency Matrix
若邻接矩阵中为边数,则 \(A^k_{i, j}\) 表示 \(v_i \to v_j\) 的经过边数为 \(k\) 的通路数量;若为边权,则表示经过边数为 \(k\) 的所有通路的长度和。
二分图 Bipartite Graph
若无向图 \(G = (V, E)\) 的点集可被划分为 \(V_1, V_2\),使得 \(E\) 中每条边的两端点分别位于 \(V_1\) 和 \(V_2\) 中,则称 \(G = (V_1, V_2, E)\) 是二分图,\(V_1, V_2\) 为互补顶点子集。
若 \(\forall u \in V_1, \forall v \in V_2, (u, v) \in E\),则称 \(G\) 为完全二分图(Complete Bipartite Graph),记作 \(K_{r, s}\),其中 \(r = |V_1|, s = |V_2|\)。
Hall 定理:对于二分图 \(G = (X, Y, E)\),其中 \(|X| \le |Y|\),\(G\) 存在 \(X-\)完美匹配的充要条件为 \(\forall V \subseteq X, |N_G(V)| \ge |V|\)。换句话说,选出任意一些左部点,所连的右部点总个数都不少于选出的左部点个数。
二分图判定:\(G\) 为二分图,当且仅当 \(G\) 中没有奇圈,也就是说,\(G\) 是 2-可着色的。
欧拉图 Eulerian Graph
经过图 \(G\) 中每条边恰一次的通路称为欧拉通路,回路称为欧拉回路。
包含欧拉回路的图称为欧拉图,包含欧拉通路但不包含欧拉回路的图称为半欧拉图(Semi-Eulerian Graph)。
无向连通图 \(G\) 是欧拉图的充要条件是所有节点度数为偶数;是半欧拉图的充要条件是恰有两个顶点度数为奇数。
有向强连通图 \(G\) 是欧拉图的充要条件是所有顶点入度等于出度;是半欧拉图的充要条件是恰有两个顶点的入度不等于出度,且相差恰好 1。
无向图 \(G\) 是非平凡欧拉图当且仅当 \(G\) 连通,且为若干个边不重复的圈的并。此时 \(G\) 满足 \(\lambda \ge 2\),也就是说没有割边。
哈密顿图 Hamiltonian Graph
经过图 \(G\) 中每个顶点恰一次的通路称为哈密顿通路,回路称为哈密顿回路。
包含哈密顿回路的图称为哈密顿图,包含哈密顿通路但不包含哈密顿回路的图称为半哈密顿图(Semi-Hamiltonian Graph)。
没有简单的充要条件可以判定哈密顿图。
必要条件:若删除图 \(G\) 中的某 \(k\) 个顶点会使得 \(G\) 变为 \(\gt k\) 个连通分量,则 \(G\) 不是哈密顿图。并非充分条件:Petereson 图不符合上述条件,但不是哈密顿图。
若删除图 \(G\) 中的某 \(k\) 个顶点会使得 \(G\) 变为 \(\gt k + 1\) 个连通分量,则 \(G\) 不是半哈密顿图。
充分条件:若对于任意不相邻顶点 \(u, v\) 都有 \(d(u) + d(v) \ge n - 1\),则 \(G\) 中存在哈密顿通路;若都有 \(d(u) + d(v) \ge n\),则 \(G\) 中存在哈密顿回路。
推论:对于 \(n \ge 3\) 的无向简单图,若每个顶点度数 \(\ge \frac{n}{2}\),则该图为哈密顿图。这被称为狄拉克定理(Dirac's Theorem)。
平面图 Planar Graph
若能将无向图 \(G\) 边不相交地画在平面上,则称 \(G\) 为可平面图,简称平面图。所画出的图称为 \(G\) 的平面嵌入(Planar Embedding)。
由 \(G\) 的平面嵌入所分割出的区域称为面(Face)。注意,任意平面图都有一个无穷大的“外面”(即除所有有限面外剩下的那个无穷大面),称为无限面或外部面,用 \(R_0\) 表示,其余有限面用 \(R_1, R_2, \dotsb\) 表示。面 \(R_i\) 的次数是边界的长度,也就是边数,记作 \(deg(R_i)\)。所有面的次数之和为边数的两倍。
若在平面图 \(G\) 中再加任意一条边都会使 \(G\) 变为非平面图,则称 \(G\) 为极大平面图。极大平面图是连通的,且 \(n \ge 3\) 阶极大平面图中没有割点和割边。\(G\) 为 \(n \ge 3\) 阶极大平面图当且仅当 \(G\) 是简单平面图且每个面的次数都为 \(3\)。
若去掉任意一条边会使得 \(G\) 变为非平面图,则称 \(G\) 为极小平面图,此时 \(G\) 必为简单图。
平面图欧拉公式
设 \(G = (V, E, F)\) 为连通平面图,则
推论:
-
若平面图 \(G\) 有 \(k\) 个连通分量,则 \(|V| - |E| + |F| = k + 1\)。这是因为所有连通分量共用 \(R_0\)。
-
若 \(G\) 为简单平面图,则 \(|E| \le 3|V| - 6\),且 \(\delta(G) \le 5\)。
平面图判定定理
若 \(G_1\) 与 \(G_2\) 在反复进行插入二度点和消去二度点的操作后同构,则称 \(G_1\) 与 \(G_2\) 同胚。
- \(G\) 是平面图,当且仅当 \(G\) 不含同胚于 \(K_5\) 或 \(K_{3, 3}\) 的子图;
- \(G\) 是平面图,当且仅当 \(G\) 中无可收缩的 \(K_5\) 或 \(K_{3, 3}\) 子图。
平面图的对偶图
将 \(G\) 的所有面变为点,所有共边的面对应的顶点间连边,则得到 \(G\) 的对偶图 \(G^*\)。若某条边只出现在一个面中,则对偶图中该面的顶点连一条自环。显然有 \(deg(R_i) = d(v^*_i)\)。
若 \(G\) 是连通图,则 \((G^*)^*\) 与 \(G\) 同构。\(G\) 中的桥与 \(G^*\) 中的自环构成双射,\(G\) 中的自环对应 \(G^*\) 中的桥。
若 \(G^*\) 与 \(G\) 同构,则称 \(G\) 是自对偶图。
轮图 Wheel Graph
轮图是由一个大小为 \(n - 1\) 的环和一个中心顶点组成的,中心顶点向环上所有点均有连边。大小为 \(n\) 的轮图记作 \(W_n\)。
轮图是 \(3-\)连通的,且是自对偶图。所有轮图都有哈密顿回路(只需从中心点出发,按照顺时针或逆时针遍历环,并回到中心点)。
\(K_4\) 是最小的轮图(只需将其当作四面体,那么俯视图即是一个轮图)。
图着色 Graph Coloring
点着色 Vertex Coloring
给图 \(G\) 的每个顶点分配一种颜色,使得相邻顶点颜色不同,称为图 \(G\) 的一种点着色。
若能够用 \(k\) 种颜色对图 \(G\) 进行点着色,则称 \(G\) 是 \(k-\)可着色的。
图 \(G\) 的色数记作 \(\chi(G) = k\),这说明要给 \(G\) 进行点着色,至少需要 \(k\) 种颜色。色数 \(\chi(G)\) 满足 \(\chi(G) \le \Delta(G) + 1\)。
\(\chi(K_n) = n\),且对于任意二分图 \(G\) 有 \(\chi(G) = 2\)。偶圈的色数为 \(2\),奇圈的色数为 \(3\),这也说明二分图中不能有奇圈。
Brooks 定理:\(G\) 不是完全图,当且仅当 \(\chi(G) \le \Delta (G)\)。
对于奇阶轮图,\(\chi(W_n) = 3\);偶阶轮图 \(\chi(W_n) = 4\)。这是因为中心点的颜色必须与其余所有点不同,而奇阶轮图环上(偶圈)的色数为 \(2\),偶阶轮图环上色数为 \(3\)。
Welch-Powell 算法
按度数降序考虑每个顶点 \(u\),在已经涂的颜色中选择度数差距与 \(u\) 最小的、且与 \(u\) 不相邻的颜色分配给 \(u\)。显然,这并不能保证得到颜色数最小的着色,尽管实际表现较为优秀。
地图的面着色 Map Coloring
地图即连通的无桥平面图(简单平面图)的平面嵌入,所有的面即为“国家”,相邻的国家间至少有一条公共边。地图 \(G\) 的面着色数记作 \(\chi^*(G)\)。
显然,地图 \(G\) 是 \(k-\)面可着色的当且仅当其对偶图 \(G^*\) 是 \(k-\)可着色的。
四色定理(Four Color Theorem):任意简单平面图的色数 \(\chi(G) \le 4\),也即任意地图的面着色数 \(\chi^*(G) \le 4\)。
边着色 Edge Coloring
即相邻边具有不同颜色。图 \(G\) 的边着色数记作 \(\chi^{'}(G)\)。
边着色的上下界由 Vizing 定理给出:
Vizing 定理:对于任意无向简单图 \(G\),有
对于奇数阶完全图,\(\chi^{'}(K_n) = n\);对于偶阶完全图,\(\chi^{'}(K_n) = n - 1\)。
完全二分图的边着色数 \(\chi^{'}(K_{m, n}) = \max(n, m)\)。
对于轮图,\(n \ge 4\) 时,\(\chi^{'}(W_n) = n - 1\),这是因为只需为 \(n - 1\) 个辐条染色,环上的边只需根据辐条颜色交替染色即可。
偶圈的边着色数为 \(2\),奇圈的边着色数为 \(3\)。

浙公网安备 33010602011771号