
离散数学核心概念:数理逻辑、集合论与图论
本文系统梳理离散数学的核心概念,包括命题逻辑、谓词逻辑、集合论、关系与函数、图论基础等内容,是信息安全专业数学基础课程的重要笔记。
[迁移说明] 本文最初发布于
blog.zzw4257.cn,现已迁移并在本站进行结构化整理与增强。
离散数学核心概念笔记
第一部分:数理逻辑 (Mathematical Logic)
1. 命题逻辑 (Propositional Logic)
引出:命题逻辑是研究命题及其之间逻辑关系的演算系统,是形式化人类推理的基础。
核心概念:
- 命题 (Proposition):一个具有确定真值(真或假,但不能既真又假)的陈述句。
- 原子命题 (Atomic Proposition):不能再分解为更简单命题的命题。通常用 表示。
- 复合命题 (Compound Proposition):由原子命题通过逻辑联接词联接而成的命题。
- 真值 (Truth Value):命题的真假性,通常用 (True) 或 表示真, (False) 或 表示假。
- 逻辑联接词 (Logical Connectives):
- 否定 (Negation): (或 ),「非 P」。
- 合取 (Conjunction):,「P 且 Q」。
- 析取 (Disjunction):,「P 或 Q」(包含或)。
- 条件 (Conditional/Implication):,「若 P 则 Q」。P 称为前件 (antecedent),Q 称为后件 (consequent)。
- 双条件 (Biconditional/Equivalence):,「P 当且仅当 Q」。
- 命题 (Proposition):一个具有确定真值(真或假,但不能既真又假)的陈述句。
命题公式 (Propositional Formula):合乎语法的由命题变元、逻辑联接词和括号组成的符号串。
语法规则:
- 每个命题变元(如 )本身是命题公式。
- 若 是命题公式,则 也是命题公式。
- 若 是命题公式,则 也是命题公式。
- 只有有限次应用上述规则得到的表达式才是命题公式。
语义:
- 给定每个命题变元的真值,通过逻辑联接词的定义,可以递归地确定整个命题公式的真值。
- 逻辑联接词的真值表如下:
T T F T T T T T F F F T F F F T T F T T F F F T F F T T
命题逻辑的作用:
- 形式化推理和证明。
- 设计和分析数字电路(布尔代数)。
- 作为更高阶逻辑(如谓词逻辑)的基础。
2. 逻辑联接词集功能完备性 (Functional Completeness of Logical Connectives)
- 引出:是否可以用一个较小的联接词集合来表达所有可能的逻辑运算?
- 核心概念:
- 真值函数 (Truth Function):一个将 个命题变元的真值指派映射到一个真值的函数,即 。任何一个命题公式都对应一个真值函数。
- 功能完备集 (Functionally Complete Set):一个逻辑联接词的集合,如果任何 元真值函数都可以由仅包含该集合中联接词的命题公式表示,则称该集合是功能完备的。
- 常见的完备集:
- (因为 )
- (因为 )
- (因为 ; )
- 与非 (NAND):。 是功能完备的。
- 或非 (NOR):。 是功能完备的。
- 意义:在逻辑电路设计中,功能完备性意味着可以用一种或几种基本逻辑门构建任何复杂的逻辑电路。
3. 真值表 (Truth Table)
- 引出:一种系统性地确定复合命题真值的方法,它枚举了所有原子命题可能的真值组合。
- 构造:
- 列出所有原子命题。
- 为每个原子命题的真值组合( 行,其中 为原子命题个数)创建一行。
- 逐步计算复合命题中各子公式的真值,直到得到整个公式的真值。
- 应用:
- 定义逻辑联接词的语义。
- 判断命题公式的类型:
- 重言式/永真式 (Tautology):对于原子命题的所有真值指派,公式恒为真。
- 矛盾式/永假式 (Contradiction):对于原子命题的所有真值指派,公式恒为假。
- 可满足式 (Satisfiable Formula):至少存在一种真值指派使公式为真。
- 判断逻辑等价和逻辑蕴涵。
4. 逻辑等价式 (Logical Equivalence)
- 引出:两个不同的命题公式在何种情况下可以认为是「逻辑上相同」的?
- 定义:若两个命题公式 和 对于其原子命题的任何真值指派都具有相同的真值,则称 和 是逻辑等价的,记作 或 。等价地, 是一个重言式。
- 常用逻辑等价式:
- 双重否定律:
- 幂等律:;
- 交换律:;
- 结合律:;
- 分配律:;
- 德摩根律 (De Morgan’s Laws):;
- 吸收律:;
- 蕴涵等价式:
- 假言易位 (Contraposition):
- 等价等价式:
- 应用:简化命题公式,进行逻辑推演。
5. 逻辑蕴涵式 (Logical Implication)
- 引出:如何形式化地表达「前提能推出结论」这一推理过程的有效性?
- 定义:若对于原子命题的任何真值指派,只要公式 为真,则公式 必为真,则称 逻辑蕴涵 ,记作 。等价地, 是一个重言式。
- 判断:
- 通过真值表:检查是否存在 为 T 而 为 F 的情况,若不存在则 。
- 当且仅当 是一个矛盾式。
- 与条件联接词的区别: 是一个命题公式,其本身有真值; 是一种关于 和 之间逻辑关系(元语言层面)的断言。
- 推理规则:许多有效的推理规则是基于逻辑蕴涵的,如:
- 肯定前件式 (Modus Ponens):
- 否定后件式 (Modus Tollens):
- 假言三段论 (Hypothetical Syllogism):
6. 代入原理、替换原理 (Substitution Principle, Replacement Principle)
- 代入原理 (Substitution Principle):
- 内容:若公式 是一个重言式,将 中的某个原子命题 的所有出现都替换为任意一个命题公式 ,得到的新公式 仍然是重言式。
- 意义:保证了重言式的普适性。
- 替换原理 (Replacement Principle / Rule of Equivalence):
- 内容:设公式 是公式 的一个子公式,若 ,则将 中的 替换为 得到公式 ,有 。
- 意义:允许在逻辑推导和公式化简中使用逻辑等价式进行等价替换,而不改变原公式的逻辑特性。这是化简逻辑表达式和进行逻辑证明的基石。
7. (主)合取范式、(主)析取范式 ((Principal) Conjunctive Normal Form (CNF), (Principal) Disjunctive Normal Form (DNF))
- 引出:任何命题公式是否都可以化为一种标准形式?
- 基本概念:
- 文字 (Literal):一个原子命题或其否定 (如 )。
- 简单合取式/子句 (Elementary Conjunction / Clause in some contexts):有限个文字的合取。
- 简单析取式/子句 (Elementary Disjunction / Clause):有限个文字的析取。
- 析取范式 (DNF):
- 定义:由有限个简单合取式组成的析取式。形如:,其中每个 是简单合取式。
- 求法:利用逻辑等价律,特别是分配律和德摩根律。
- 合取范式 (CNF):
- 定义:由有限个简单析取式组成的合取式。形如:,其中每个 是简单析取式。
- 求法:类似 DNF 的求法。
- 主析取范式 (PDNF / Full Disjunctive Normal Form):
- 定义:一个 DNF,其中每个简单合取式(称为极小项 Minterm)都包含公式中出现的每一个原子命题或其否定,且每个极小项仅出现一次。
- 性质:对于任何非矛盾式的命题公式,其主析取范式是存在且唯一的(不考虑极小项的排列顺序和极小项内文字的排列顺序)。
- 构造:由真值表中使公式为真的所有行的真值指派构成,每个真值指派对应一个极小项(变量为真则取变量本身 ,为假则取其否定 )。
- 主合取范式 (PCNF / Full Conjunctive Normal Form):
- 定义:一个 CNF,其中每个简单析取式(称为极大项 Maxterm)都包含公式中出现的每一个原子命题或其否定,且每个极大项仅出现一次。
- 性质:对于任何非重言式的命题公式,其主合取范式是存在且唯一的(不考虑极大项的排列顺序和极大项内文字的排列顺序)。
- 构造:由真值表中使公式为假的所有行的真值指派构成,每个真值指派对应一个极大项(变量为假则取变量本身 ,为真则取其否定 ,然后构成析取式)。
- 应用:电路设计(和之积、积之和),逻辑推理(如归结原理基于 CNF),可满足性问题 (SAT)。
8. 谓词逻辑 (Predicate Logic / First-Order Logic, FOL)
- 引出:命题逻辑无法表达「所有」、「存在」等量化概念,也无法分析命题的内部结构(主谓宾)。谓词逻辑扩展了命题逻辑的表达能力。
- 核心概念:
- 个体词 (Individual Term):表示所讨论对象。
- 个体常量 (Individual Constant):表示特定个体,如 。
- 个体变元 (Individual Variable):表示任意个体,如 。其取值范围称为论域 (Domain of Discourse / Universe),记为 。
- 谓词 (Predicate):表示个体的性质或个体间的关系。元谓词是一个从 到 的函数。
- 如::「 是偶数」;:「 爱 」。
- 量词 (Quantifier):
- 全称量词 (Universal Quantifier):,「对所有的 」。 意为论域中所有个体都具有性质 。
- 存在量词 (Existential Quantifier):,「存在某个 」。 意为论域中至少有一个个体具有性质 。
- 约束变元 (Bound Variable):出现在量词作用域内的变元。
- 自由变元 (Free Variable):未被量词约束的变元。
- 谓词公式 (Predicate Formula):由谓词符号、个体词、逻辑联接词和量词按语法规则构成的表达式。
- 原子公式 (Atomic Formula):形如 的表达式。
- 合式公式 (Well-formed Formula, WFF):递归定义。
- 个体词 (Individual Term):表示所讨论对象。
- 解释 (Interpretation):为谓词公式赋予意义的过程,包括:
- 指定非空论域 。
- 为每个个体常量指派 中的一个元素。
- 为每个 元函数符号指派 的一个具体函数。
- 为每个 元谓词符号指派 的一个具体谓词。
9. 谓词演算的永真式 (Valid Formulas in Predicate Calculus)
- 引出:类似于命题逻辑中的重言式,谓词逻辑中也有在任何解释下都为真的公式。
- 定义:
- 永真式 (Valid Formula / Logically Valid):一个谓词公式,在任何解释下,对变元的所有赋值都为真。
- 矛盾式 (Contradiction / Unsatisfiable):一个谓词公式,在任何解释下,对变元的所有赋值都为假。
- 可满足式 (Satisfiable Formula):存在某个解释,使得公式在该解释下对变元的某个赋值为真。
- 与命题逻辑的区别:谓词逻辑的永真性判定是不可判定的(Church-Turing 定理),即不存在一个通用算法能在有限步骤内判断任意谓词公式是否永真。但对于某些子类是可判定的。
- 常用永真(等价/蕴涵)模式(设 是含自由变元 的公式, 是不含自由变元 的公式):
- 量词否定:
- 量词分配(对 要小心):
- (反向不一定成立)
- (反向不一定成立)
- 量词辖域扩张与收缩 (当 不含自由变元 ):
- 量词换名:只要不引起新的约束。
- 一些基本永真蕴涵: (t为任意个体词,Universal Instantiation, UI规则); (Existential Generalization, EG规则)。
- 量词否定:
- 前束范式 (Prenex Normal Form):所有量词都在公式最前端,其后是一个无量词的母式。任何谓词公式都可等价地化为前束范式。
第二部分:集合论 (Set Theory)
10. 公理化集合论 (Axiomatic Set Theory)
- 引出:朴素集合论(允许任何满足某种性质的对象构成集合)会导致悖论(如罗素悖论:“令 为所有不包含自身作为元素的集合的集合,问 是否包含自身?”)。公理化集合论通过一组公理来规定哪些对象可以构成集合,以及集合有哪些基本性质,从而避免悖论。
- 核心思想:不直接定义「什么是集合」,而是通过公理规定集合的行为和构造方式。
- 常用公理系统:ZFC (Zermelo-Fraenkel set theory with the Axiom of Choice) 是最常用的。
- 部分重要公理示例 (概念性):
- 外延公理 (Axiom of Extensionality):两个集合相等,当且仅当它们有相同的元素。
- 空集公理 (Axiom of Empty Set):存在一个不含任何元素的集合(空集 )。
- 对集公理 (Axiom of Pairing):对任意两个集合 和 ,存在一个集合 ,其元素仅为 和 。
- 并集公理 (Axiom of Union):对任意集合族 ,存在一个集合 ,其元素是 中所有集合的元素的并集。
- 幂集公理 (Axiom of Power Set):对任意集合 ,存在一个集合 ,其元素是 的所有子集。
- 无穷公理 (Axiom of Infinity):保证至少存在一个无穷集合(如包含所有自然数构造的集合)。
- 替换公理模式 (Axiom Schema of Replacement):若一个函数类 定义在集合 上,则 的值域也是一个集合。
- 正则公理/基础公理 (Axiom of Regularity/Foundation):每个非空集合 都包含一个元素 ,使得 和 不相交(防止无限下降的属于链 )。
- 选择公理 (Axiom of Choice, AC):对于任何非空集合的集合族,存在一个选择函数,可以从每个集合中选取一个元素。
- 意义:为现代数学提供了坚实的基础。
11. 集合基本运算 (Basic Set Operations)
- 集合 (Set):一个无序的、不重复的元素的集合。元素用 表示 是集合 的元素, 表示 不是 的元素。
- 子集 (Subset):,若 的每个元素也是 的元素。若 且 ,则 是 的真子集 (Proper Subset),记为 。
- 幂集 (Power Set): 或 ,集合 的所有子集构成的集合。如果 ,则 。
- 运算 (设 为全集):
- 并集 (Union):
- 交集 (Intersection):
- 差集 (Difference): (或 )
- 补集 (Complement): (或 )
- 对称差 (Symmetric Difference):
- 集合恒等式(类似逻辑等价式):
- 交换律:;
- 结合律:;
- 分配律:;
- 德摩根律:;
- 吸收律:;
- 同一律/幺元律:;
- 零元律:;
- 补余律:;
- 双重补余律:
- 文氏图 (Venn Diagram):用于可视化集合运算和关系的图形工具。
12. 归纳定义 (Inductive Definition / Recursive Definition)
- 引出:一种精确定义无限集合或结构的方法,特别适用于那些可以通过较简单实例构造出较复杂实例的对象。
- 结构:通常包含三个部分:
- 基础步骤 (Basis Step/Base Case):明确规定集合中的一些初始元素或对象。
- 归纳步骤 (Inductive Step/Recursive Step):给出规则,说明如何从集合中已有的元素构造出新的元素。
- 极小性条款 (Extremal Clause/Closure Clause):(有时隐式)声明,只有通过有限次应用基础步骤和归纳步骤得到的元素才属于该集合。
- 示例:
- 自然数集 (以0开始):
- (基础)
- 若 ,则 (归纳)
- 合式公式 WFF (命题逻辑):
- 原子命题是 WFF (基础)
- 若 是 WFF,则 也是 WFF (归纳)
- 斐波那契数列:
- (基础)
- for (归纳)
- 自然数集 (以0开始):
- 与数学归纳法 (Mathematical Induction) 的关系:归纳定义的对象通常可以用数学归纳法来证明其性质。
第三部分:关系与函数 (Relations and Functions)
13. 有序组 (Ordered n-tuple)
- 引出:集合中的元素是无序的,但在许多情况下,元素的顺序很重要。
- 定义:一个包含 个元素的序列 ,其中元素的顺序是重要的,且元素可以重复。
- 有序对 (Ordered Pair):当 时, 称为有序对。
- 当且仅当 且 。
- Kuratowski 定义:。此定义表明有序对可以用集合论构造。
- 应用:笛卡尔积、关系、函数、向量、坐标等。
14. 笛卡尔积 (Cartesian Product)
- 引出:一种从已有集合构造新集合的方法,其元素是有序组。
- 定义:
- 两个集合的笛卡尔积:。
- n 个集合的笛卡尔积:。
- (n 次)。
- 性质:
- 若 有限,则 。
- 一般情况下, (除非 或 或 )。
- (元素形式不同,但存在自然的一一对应,即同构)。
- 。
- 应用:定义关系、函数的基础,坐标系,样本空间。
15. 关系、关系矩阵、函数 (Relation, Relation Matrix, Function)
- 关系 (Relation):
- 二元关系 (Binary Relation):从集合 到集合 的一个二元关系 是 的一个子集,即 。若 ,则 是 上的一个二元关系。
- 表示: 或 。
- 元关系: 的一个子集。
- 关系的基本概念:
- 定义域 (Domain): (对于 )
- 值域 (Range):
- 逆关系 (Inverse Relation):。若 ,则 。
- 复合关系 (Composition of Relations):若 ,则 (或 ) 。(注意复合顺序,有的教材写 )
- 关系矩阵 (Relation Matrix) (用于有限集合上的关系):
- 定义:设 , 是从 到 的关系。则 的关系矩阵 是一个 的 矩阵,其中 当且仅当 ,否则为 。
- 运算:
- (转置)
- (逐元素逻辑或)
- (逐元素逻辑与)
- (布尔矩阵乘法, )
- 函数 (Function):
- 定义:从集合 到集合 的一个函数 (记作 ) 是一种特殊的二元关系 ,满足:对每个 ,都存在唯一的 使得 。通常记为 。
- 称为定义域 (Domain)。
- 称为陪域/上域 (Codomain)。
- 称为值域 (Range/Image),是陪域的子集。
- 函数的类型:
- 单射 (Injective / One-to-one):若 。或者等价地,。
- 满射 (Surjective / Onto):若对每个 ,都存在至少一个 使得 (即值域等于陪域)。
- 双射 (Bijective / One-to-one correspondence):既是单射又是满射。若存在双射 ,则 。
- 逆函数 (Inverse Function):若 是双射,则存在逆函数 ,使得 当且仅当 。
- 复合函数 (Composition of Functions):若 ,则复合函数 定义为 。
- 定义:从集合 到集合 的一个函数 (记作 ) 是一种特殊的二元关系 ,满足:对每个 ,都存在唯一的 使得 。通常记为 。
16. 等价关系、等价类、划分 (Equivalence Relation, Equivalence Class, Partition)
- 等价关系 (Equivalence Relation):
- 定义:集合 上的一个二元关系 如果满足以下三个性质,则称 为等价关系:
- 自反性 (Reflexivity):。
- 对称性 (Symmetry):。
- 传递性 (Transitivity):。
- 例子:整数集上的模 同余关系 ();几何图形中的相似或全等关系。
- 定义:集合 上的一个二元关系 如果满足以下三个性质,则称 为等价关系:
- 等价类 (Equivalence Class):
- 定义:设 是集合 上的一个等价关系,对任意 ,由 确定的等价类 (或简写为 ) 定义为:。
- 性质:
- 对任意 ,故 非空。
- 若 ,则 。
- 若 ,则 。
- 中任意两个元素的等价类或者相等,或者不相交。
- 划分 (Partition):
- 定义:集合 的一个划分 是 的一组非空子集 (其中 是索引集),满足:
- for all 。
- for (互不相交)。
- (并集为 )。
- 定义:集合 的一个划分 是 的一组非空子集 (其中 是索引集),满足:
- 商集 (Quotient Set):,即由 关于 的所有等价类构成的集合。
- 基本定理:集合 上的一个等价关系 唯一地确定了 的一个划分(即商集 的元素构成的划分)。反之, 的任何一个划分也唯一地确定了 上的一个等价关系(同一子集内的元素等价)。
17. 序关系、哈斯图 (Order Relation, Hasse Diagram)
- 序关系 (Order Relation):
偏序关系 (Partial Order Relation):集合 上的一个二元关系 (或 ) 如果满足以下三个性质,则称其为偏序关系, 称为偏序集 (Poset):
- 自反性 (Reflexivity):。
- 反对称性 (Antisymmetry):。
- 传递性 (Transitivity):。
- 若 且 ,则记为 。
全序关系/线性序关系 (Total Order / Linear Order):一个偏序关系 ,如果对 中任意两个元素 ,都有 或 成立(即任何两个元素都可比较),则称为全序关系。
例子:自然数集上的“”关系是全序;集合的幂集 上的“”关系是偏序。
- 偏序集中的特殊元素:设 是一个偏序集, 。
- 极大元 (Maximal Element): 是极大元,若不存在 使得 。
- 极小元 (Minimal Element): 是极小元,若不存在 使得 。
- 最大元 (Greatest Element / Maximum): 是最大元,若 。(最大元若存在则唯一,且是唯一的极大元)
- 最小元 (Least Element / Minimum): 是最小元,若 。(最小元若存在则唯一,且是唯一的极小元)
- 上界 (Upper Bound of ):元素 是 的上界,若 。
- 下界 (Lower Bound of ):元素 是 的下界,若 。
- 最小上界/上确界 (Least Upper Bound, LUB, supremum):,是 的所有上界中的最小元(如果存在)。
- 最大下界/下确界 (Greatest Lower Bound, GLB, infimum):,是 的所有下界中的最大元(如果存在)。
- 格 (Lattice):一个偏序集,其中任意两个元素都存在最小上界和最大下界。
- 哈斯图 (Hasse Diagram) (用于表示有限偏序集):
- 构造规则:
- 用节点表示集合 中的元素。
- 若 且不存在 使得 (即 覆盖 (covers) ),则从 向 画一条向上的线段。
- 省略因自反性带来的环 (如 的自环)。
- 省略因传递性可以推导出的边 (若 ,则 的边省略,只保留 的覆盖关系)。
- 习惯上不画箭头,方向默认为自下向上(较小元在下)。
- 特点:简洁地表示了偏序关系的核心结构——覆盖关系。
- 构造规则:
第四部分:图论 (Graph Theory)
18. 图论、图的同构 (Graph Theory, Graph Isomorphism)
- 图 (Graph):一个图 由两个集合组成:
- :顶点集 (Vertex Set),非空有限集。
- :边集 (Edge Set),其元素是 中顶点的对。
- 图的类型:
- 无向图 (Undirected Graph):边是无序顶点对 。
- 有向图 (Directed Graph / Digraph):边是有序顶点对 ,表示从 到 的弧 (arc)。
- 简单图 (Simple Graph):无环 (loop)(连接顶点自身的边)且任意两顶点间最多一条边(无向图)或一条有向边(有向图,但 和 可以同时存在)。
- 多重图 (Multigraph):允许两顶点间有多条边(平行边 (parallel edges))。
- 伪图 (Pseudograph):允许环和平行边。
- 加权图 (Weighted Graph):每条边关联一个数值(权重 (weight))。
- 基本概念:
- 邻接 (Adjacent):若 (或 ) 是一条边,则 和 邻接。边与它的端点关联 (incident)。
- 度 (Degree):
- 无向图中顶点 的度 是与 相关联的边的数目(环算两次)。
- 有向图中顶点 的入度 (in-degree) 是以 为终点的边的数目,出度 (out-degree) 是以 为始点的边的数目。。
- 握手定理 (Handshaking Lemma):
- 无向图:
- 有向图:
- 路径 (Path)、迹 (Trail)、通路 (Walk):顶点和边的交替序列。
- 通路(Walk): ,其中 (无向)或 (有向)。允许顶点和边重复。
- 迹(Trail): 边不重复的通路。
- 路径(Path): 顶点不重复的迹 (因此边也必不重复)。
- 圈/回路 (Cycle/Circuit):起点和终点相同的闭合路径/迹。
- 简单圈 (Simple cycle): 除起点和终点相同外,其他顶点不重复的闭合路径。
- 连通性 (Connectivity):
- 无向图中,若任意两顶点间都存在路径,则图是连通的 (Connected)。
- 连通分量 (Connected Component):图的极大连通子图。
- 有向图中,若忽略边的方向后图是连通的,则称其为弱连通 (Weakly Connected)。若任意两顶点 间都存在从 到 的路径和从 到 的路径,则称其为强连通 (Strongly Connected)。
- 图的同构 (Graph Isomorphism):
- 引出:两个图在结构上何时可以认为是「相同」的?
- 定义:两个图 和 是同构的 (记为 ),如果存在一个双射函数 ,使得对任意 , 当且仅当 (对于无向图),或者 当且仅当 (对于有向图)。
- 同构不变量 (Isomorphism Invariants):若 ,则它们必须具有相同的:
- 顶点数、边数。
- 度序列(顶点度的排序列表)。
- 连通分量个数。
- 特定长度的圈的个数等。
- 注意:拥有相同的已知不变量是同构的必要条件,但非充分条件。
- 判定:图同构判定问题是计算复杂性理论中的一个著名问题,属于 NP 类,但尚未确定是否为 NP-完全或P。
19. 欧拉图、哈密尔顿图 (Eulerian Graph, Hamiltonian Graph)
- 欧拉图 (Eulerian Graph) (研究边):
- 欧拉迹 (Eulerian Trail):通过图中每条边恰好一次的迹。
- 欧拉回路 (Eulerian Circuit/Cycle):起点和终点相同的欧拉迹。
- 欧拉图:包含欧拉回路的图。
- 定理 (无向图):
- 一个连通图 具有欧拉回路当且仅当 中每个顶点的度都是偶数。
- 一个连通图 具有欧拉迹(但非回路)当且仅当 中恰好有两个奇度顶点(迹必须从一个奇度顶点开始,到另一个奇度顶点结束)。
- 定理 (有向图):
- 一个强连通有向图 具有欧拉回路当且仅当 中每个顶点的入度等于出度 ( for all )。
- 一个弱连通有向图 具有欧拉迹当且仅当至多有一个顶点 满足 ,至多有一个顶点 满足 ,其余所有顶点 满足 。
- 哈密尔顿图 (Hamiltonian Graph) (研究点):
- 哈密尔顿路径 (Hamiltonian Path):通过图中每个顶点恰好一次的路径。
- 哈密尔顿圈/回路 (Hamiltonian Cycle/Circuit):通过图中每个顶点恰好一次并返回起点的简单圈。
- 哈密尔顿图:包含哈密尔顿圈的图。
- 判定:哈密尔顿路径/圈的判定是 NP-完全问题,没有简单的充要条件。
- 充分条件 (Sufficient Conditions) (对于 的简单图):
- Dirac 定理 (1952):若图 中每个顶点的度至少为 (即 ),则 是哈密尔顿图。
- Ore 定理 (1960):若图 中任意两个不邻接顶点的度数之和至少为 (即 ),则 是哈密尔顿图。
- 必要条件 (Necessary Condition):若图 有哈密尔顿圈,则对 的任意非空真子集 ,图 (从 中删除 中的顶点及其关联的边得到的图) 的连通分支数 。
20. 二分图、匹配算法 (Bipartite Graph, Matching Algorithm)
- 二分图 (Bipartite Graph):
- 定义:一个图 是二分图,如果其顶点集 可以划分为两个不相交的子集 和 (),使得图中的每条边都连接 中的一个顶点和 中的一个顶点。 称为二分图的一个部 (part)。
- 判定:一个无向图是二分图当且仅当它不包含奇数长度的圈。
- 应用:任务分配问题,资源调度。
- 匹配 (Matching):
- 定义:图 中的一个匹配 是 的一个子集,使得 中任意两条边都没有公共顶点。
- 极大匹配 (Maximal Matching):不能再添加任何边到 中仍保持其为匹配的匹配。
- 最大匹配 (Maximum Matching):包含边数最多的匹配。其边数称为匹配数 (matching number)。
- 完美匹配 (Perfect Matching):覆盖了图中所有顶点的匹配(要求 为偶数)。
- 饱和点 (Saturated Vertex):被匹配 中的某条边覆盖的顶点。非饱和点称为未饱和点。
- 二分图中的匹配:
- 交错路 (Alternating Path):相对于匹配 ,路径 的边交替地属于 和 。
- 增广路 (Augmenting Path):起点和终点都是 -未饱和顶点的交错路。
- Berge 定理:匹配 是最大匹配当且仅当不存在相对于 的增广路。
- Hall 婚配定理 (Hall’s Marriage Theorem) (用于二分图 ):
- 存在一个饱和 中所有顶点的匹配 (即 的匹配),当且仅当对 的任意子集 ,都有 ,其中 是 在 中的邻居集合。
- 匹配算法:
- 匈牙利算法 (Hungarian Algorithm):用于求解二分图的最大权完美匹配问题(或无权最大匹配,通过寻找增广路)。
- Hopcroft-Karp 算法:用于求解无权二分图的最大基数匹配,时间复杂度 。
- Ford-Fulkerson 方法 (基于最大流最小割定理):可用于求解二分图最大匹配。
第五部分:代数结构 (Algebraic Structures)
21. 抽象代数、代数结构、同态 (Abstract Algebra, Algebraic Structure, Homomorphism)
- 抽象代数 (Abstract Algebra):研究代数结构的数学分支。代数结构由一个集合和在该集合上定义的一个或多个运算组成,这些运算满足特定的公理。
- 代数结构 (Algebraic Structure / System):一个非空集合 与定义在该集合上的一个或多个 元运算 以及一组公理所组成的系统,记为 。
- 运算的性质:封闭性、结合律、交换律、单位元、逆元、分配律等。
- 同态 (Homomorphism):
引出:在不同代数结构之间,如何描述它们在结构上的相似性?
定义:设 和 是两个具有相同类型(例如,都是一个二元运算)的代数结构。一个映射 称为从 到 的同态,如果对于 中所有的元素 ,都有:
(即运算在映射下保持不变,或者说,先运算再映射等于先映射再运算)
如果代数系统有多个运算,则同态必须保持所有相应的运算。
- 同态的种类:
- 单同态 (Monomorphism):单射的同态。
- 满同态 (Epimorphism):满射的同态。
- 同构 (Isomorphism):双射的同态。若存在同构映射,则称两个代数结构是同构的 (),表示它们在代数上是无法区分的。
- 自同态 (Endomorphism):从一个代数结构到其自身的同态。
- 自同构 (Automorphism):从一个代数结构到其自身的同构。
- 核 (Kernel) 和 像 (Image):
- 像 (Image of ):。 是 的一个子代数。
- 核 (Kernel of ) (常用于群、环等结构):对于群同态 (单位元分别为 ),。核是 的一个正规子群。
22. 群、环、域 (Group, Ring, Field)
半群 (Semigroup):,其中 是 上的一个二元运算,满足结合律: 。
幺半群/独异点 (Monoid):,是一个半群,且存在单位元 (Identity Element) ,使得对任意 。
群 (Group):,是一个幺半群,并且每个元素都存在逆元 (Inverse Element)。即满足:
- 封闭性: (由运算定义隐含)。
- 结合律:。
- 单位元:。
- 逆元:。
- 阿贝尔群 (Abelian Group / Commutative Group):若群运算 还满足交换律 ()。
- 子群 (Subgroup):群 的非空子集 ,如果 在 的运算下也构成群,则 是 的子群 ()。
- 例子:整数集关于加法 ;非零有理数集关于乘法 ;置换群 。
环 (Ring):,是一个集合 和两个二元运算 (加法) 和 (乘法),满足:
- 是一个阿贝尔群 (加法群)。
- 是一个半群 (乘法满足结合律)。
- 乘法对加法满足分配律:
- (左分配律)
- (右分配律)
- 交换环 (Commutative Ring):若乘法 满足交换律。
- 含幺环 (Ring with Unity/Identity):若乘法 存在单位元 (且通常要求 )。
- 整环/积分域 (Integral Domain):一个交换的含幺环,且没有零因子 (zero divisors) (即若 ,则 或 )。
- 例子:整数环 ;多项式环 。
域 (Field):,是一个交换的含幺环,并且每个非零元素都有乘法逆元。即满足:
- 是一个交换的含幺环。
- 是一个阿贝尔群 (非零元关于乘法构成阿贝尔群)。
- 等价定义:域是一个集合 ,其上定义了加法和乘法,使得 是阿贝尔群, 是阿贝尔群,并且乘法对加法分配。
- 特征 (Characteristic):域 的特征是使得 (即 自身相加 次) 的最小正整数 (若存在),否则特征为 。
- 例子:有理数域 ;实数域 ;复数域 ;有限域/伽罗瓦域 (如 当 是素数时,也记作 )。
第六部分:计算理论初步 (Introduction to Theory of Computation)
23. 语言分析、有限状态自动机 (Language Analysis, Finite State Automaton / FSA)
- 形式语言 (Formal Language):
- 字母表 (Alphabet) :一个非空有穷符号集合。
- 字符串/字 (String/Word):由字母表中符号组成的有穷序列。空串记为 或 。
- :字母表 上所有可能字符串的集合 (包括空串),称为 的 Kleene 星闭包 (Kleene Star)。 。
- 语言 (Language) : 的一个子集,即 。
- 有限状态自动机 (Finite State Automaton / FSA / Finite Automaton, FA):
- 引出:一种识别特定模式字符串的计算模型,具有有限内存。
- 确定性有限自动机 (Deterministic Finite Automaton, DFA):一个五元组
- :有穷状态集。
- :有穷输入字母表。
- ,转移函数。对于每个状态和输入符号,精确地转移到下一个状态。
- :初始状态。
- :接受状态/终止状态集。
- 非确定性有限自动机 (Nondeterministic Finite Automaton, NFA):一个五元组
- ,转移函数 (其中 是 的幂集)。对于每个状态和输入符号(或 ),可以转移到状态集的一个子集(可能为空,可能有多个选择,或不消耗输入符号的 转移)。
- 工作方式:从初始状态开始,根据输入字符串的符号和转移函数,逐个改变状态。如果字符串处理完毕后,自动机停在某个接受状态,则该字符串被自动机接受 (accepted)(识别)。
- 语言识别:。
- 等价性:对于任何 NFA,都存在一个等价的 DFA (即识别相同语言)。DFA 是 NFA 的一个特例。
- 正则语言 (Regular Language):可以被 FSA (DFA 或 NFA) 识别的语言。
- 正则表达式 (Regular Expression):一种简洁地描述正则语言的代数表示法。正则表达式与 FSA 在表达能力上是等价的。
- 泵引理 (Pumping Lemma for Regular Languages):一个用于证明某个语言不是正则语言的工具。
- 应用:词法分析 (编译器)、文本编辑器中的模式匹配、网络协议分析。
24. 图灵机、停机问题 (Turing Machine, Halting Problem)
- 图灵机 (Turing Machine, TM):
- 引出:一种比 FSA 更强大的计算模型,具有无限存储(纸带)和读写能力,被认为是通用计算的模型。
- 定义:一个七元组
- :有穷状态集。
- :有穷输入字母表 (不包含空白符)。
- :有穷带字母表 (,且 )。
- ,转移函数。(当前状态, 读到符号) (新状态, 写下符号, 磁头移动 左/右/不动)。(有时允许在接受状态转移,或定义为 )
- :初始状态。
- :空白符号。
- :接受状态集。
- 组成:一条无限长的双向纸带 (tape)(划分为单元格),一个读写头 (read/write head),一个有限状态控制器 (finite state control)。
- 工作方式:根据当前状态和读写头下纸带符号,执行转移函数:改变状态,改写符号,移动读写头。
- 接受/拒绝/停机:
- 若 TM 进入接受状态 ,则接受输入并停机 (halt)。
- 若 TM 进入某个状态 并且当前磁头下符号为 ,而 未定义 (或者进入一个特定的拒绝状态 ),则拒绝输入并停机。
- TM 也可能永不停机(陷入循环)。
- 丘奇-图灵论题 (Church-Turing Thesis):任何直观上能行可计算的函数都可以被图灵机计算。即图灵机抓住了「算法」的本质。
- 可计算性 (Computability):
- 图灵可识别语言/递归可枚举语言 (Turing-Recognizable / Recursively Enumerable Language):存在一个 TM,当输入属于该语言时停机并接受;当输入不属于该语言时,TM 可能停机并拒绝,也可能永不停机。
- 图灵可判定语言/递归语言 (Turing-Decidable / Recursive Language):存在一个 TM (称为判定器 (decider)),对任何输入都能在有限时间内停机,并明确接受或拒绝。
- 停机问题 (Halting Problem):
- 问题描述:给定一个图灵机 的描述和输入串 ,判断 在输入 上是否会停机。
- 不可判定性 (Undecidability):停机问题是不可判定的。即,不存在一个通用的图灵机 ,能对任意给定的 ,正确判断 在 上是否停机。
- 证明:通常使用反证法和对角线方法(类似康托尔对角线法证明实数不可数)。
- 意义:揭示了计算的固有局限性,表明并非所有明确定义的问题都有算法解。这是计算理论中的一个基本结果,引出了许多其他不可判定问题。