1869 words
9 minutes
Automata and Theory of Computation Learning Notes
Automata and Theory of Computation Learning Notes: Long-term Accumulation
NOTE本笔记旨在长期记录计算理论的学习过程,结构按照 Chomsky 谱系及计算复杂性逐步扩展。参考资源:哈工大形式语言与自动机。
1. 有限自动机与正规语言 (Finite Automata & Regular Languages)
1.1 形式定义与转移逻辑
有限自动机通常由五元组 定义:
- :状态的有限集合 (Finite set of states)
- :输入字母表 (Input alphabet)
- :转移函数 (Transition function)
- :初始状态 (Start state)
- :接受状态集合 (Set of accept states)
转移函数 的核心差异:
| 类型 | 映射方式 | 数学描述 | 物理比喻 |
|---|---|---|---|
| DFA | 状态 字符 状态 | 单行道:每个输入必有且只有一个去向 | |
| NFA | 状态 字符 状态集 | 分身术:可并行探索多个路径或走向死胡同 |
- -闭包 (Epsilon-Closure):状态 的 -闭包 是指从 开始,仅通过空串 可达到状态集合。
1.2 正规表达式 (Regular Expressions, RE)
正规表达式是描述正规语言的代数方法。
- 设计逻辑:约束条件的表达
在设计 RE 时,需重点考虑如何通过局部结构的限制来表达全局约束。
- 案例:不含连续 00 的 01 串
一个非常“精彩”且简洁的等价形式是:。
- 「护卫者」逻辑 (Bodyguard Logic):在这个表达式中,每一个
0的后面都紧跟着一个1作为它的“护卫”,从而杜绝了00出现的可能。末尾的(0+\epsilon)则允许字符串以一个孤立的0结尾。 - 另一种形式:。这种形式则强调了以
1开头,后续跟随着“0 + 至少一个 1”的组合。
- 「护卫者」逻辑 (Bodyguard Logic):在这个表达式中,每一个
- 案例:不含连续 00 的 01 串
一个非常“精彩”且简洁的等价形式是:。
- Kleene 定理与状态消除法:
- 任何 FA 都有等价的 RE。
- 状态消除法:通过递归公式 将自动机转换为 RE。这代表从 到 且中间状态编号不超过 的路径集合。
1.3 证明方法:数学归纳法 (Mathematical Induction)
在自动机理论中,常对字符串长度 使用归纳法:
- 基础步骤:验证 (即 )时命题成立。
- 归纳假设:假设对于长度为 的字符串 命题成立。
- 递推步骤:考虑字符串 (),利用转移函数 进行证明。
1.4 NFA 到 DFA 的转换:子集构造法 (Subset Construction)
- 核心思想:将 NFA 的所有可能状态组合看作 DFA 的一个新状态。
- 状态爆炸:若 NFA 有 个状态,转换后的 DFA 最多可能有 个状态。
1.5 构造方法:Thompson 构造法 (RE to NFA)
Thompson 构造法是一种将正规表达式映射为等效 NFA 的系统方法。其核心在于递归地将子表达式通过 转移连接:
- 并集 (Union, ):创建一个新的开始和接受状态,通过 转移连接到 和 的 NFA,形成“并行”结构。
- 连接 (Concatenation, ):将 的接受状态与 的起始状态直接相连或通过 转移相连,形成“串行”结构。
- 闭包 (Kleene Star, ):
- 从 的接受状态连回其起始状态(重复执行)。
- 增加一个新的起始状态和接受状态,通过 转移直接相连(匹配空串 )。
1.6 泵引理 (Pumping Lemma) —— 正规性的试金石
- 核心直觉:鸽巢原理 (Pigeonhole Principle) 若一个 DFA 有 个状态,而读取的字符串长度 ,则根据鸽巢原理,路径中必然存在重复的状态,即形成了一个“环”。
- 形式化条件:若 是正规语言,则存在常数 (泵长度),使得任何 且 均可拆分为 ,满足:
- (环出现在前 个状态内)
- (环不能为空)
- (环可以被任意次“泵入”)
2. 课程体系参考 (Curriculum Overview)
参考哈工大《形式语言与自动机》课程体系,目前已覆盖 2.1 - 2.5 章节:

3. 实战练习 (Practice Problems)
3.1 证明语言非正规性 (Using Pumping Lemma)
题目 1:证明 不是正规语言。
- 反证法步骤:
- 假设 是正规语言,其泵长度为 。
- 选定字符串 。显然 且 。
- 拆分 。由条件 可知, 必然全由
0组成。 - 令 (抽去环)或 (增加环)。此时 。
- 由于 ,故 ,导致 ,产生矛盾。
- 结论: 不是正规语言。
题目 2:证明 不是正规语言。
- 关键策略:Pumping Down ()
- 取 。
- 根据 , 仍在 的区域内。
- 若抽出 (即 ),得到 。
- 由于 ,则 ,即 的数量不再大于 。
- 矛盾:。
题目 3:证明 不是正规语言。
- 多维约束分析:
- 取 。
- 由于 , 可能全由 组成,或全是 ,或两者的混合。
- Case 1 ():Pump 会改变起始 的固定数量(必须为 3)。
- Case 2 ():Pump 会打破 的数量平衡。
- Case 3 ( 为混合, ):Pump (例如 )会导致 与 交错出现(形成诸如 的模式),直接破坏了语言要求的“全 在前,全 在后,全 在末尾”的固定字符顺序。
- 结论:无论 落在哪里,通过 Pump ( 或 ) 均可推导出矛盾。
3.2 映射分类应用 (Set Theory)
| 类型 | 日本语 | 形象类比 (旅馆房间) | 定义特征 |
|---|---|---|---|
| Injective | 単射 (たんしゃ) | 每个客人都有独立房间,不拼房 | 一对一,无重叠映射 |
| Surjective | 全射 (ぜんしゃ) | 旅馆所有房间都住满了人 | 陪域 = 值域 |
| Bijective | 全单射 | 每个房间刚好住一个人,且住满 | 既是单射也是全射 |
- 单射 (Injection):客房服务。每个客人对应一个不同房间,但不一定住满。
- 满射 (Surjection):所有房间都住满了人,但可能有房间住了多个人。
- 全单射 (Bijection):完美的匹配,每个人都有独立房间且刚好住满。
4. 后续学习路线 (Upcoming Topics)
根据目前的对话进度,下一步将深入以下核心模块:
- Myhill-Nerode 定理:通过等价关系()对字符串进行分类,是判定正规性与进行最小化的理论基石。
- DFA 状态数最小化 (Minimization):将冗余状态合并,得到处理特定语言的最简机。
- 上下文无关语法 (Context-Free Grammars, CFG):由 Chomsky 谱系的第 3 类转向第 2 类,研究比正规语言表达能力更强的语言。
5. 备考建议 (Japanese Exam Tips)
- 鸽巢原理:日本考研面试或笔试常考 Pumping Lemma 的本质,请记住其关键词 「鳩の巣原理」 (はとのすげんり)。
- 写像的严谨性:描述 时,注意区分 还是 ,这决定了 DFA 还是 NFA。
整理自:Gemini 自动机学习规划对话 (针对日本大学院考试)
Automata and Theory of Computation Learning Notes
https://blog.yirong.site/posts/0047/ Graduate Exam Exercise: Determinant of Matrix B and Cross Product
Linear Algebra Learning Notes: Specialized for Japanese Graduate Entrance Exams
ページ閲覧数:
読み込み中…
サイト閲覧数:
読み込み中…