“本定理也不是Myhill–Nerode 定理。后者用右同余有限指数刻画正则语言并导出最小 DFA;本页研究自然数集合的一一归约与可计算置换。两者除共同的人名外没有定理上的蕴含关系,证明工具和…”
形式陈述 ​
给定语言
它是等价关系,并且对右拼接稳定:若
就有
Myhill–Nerode 定理断言:
是正则语言,当且仅当 的等价类个数有限; - 若类数为
,识别 的最小 DFA 恰有 个可达状态; - 删除不可达状态后,最小 DFA 在保持初态、转移与接受状态的同构意义下唯一。
从 DFA 得到有限指标 ​
设 DFA
那么从这个共同状态继续读取任意
注意逆命题对一台未最小化 DFA 未必成立:两个不同状态可能对所有后缀行为完全相同。机器可以人为复制状态,语言的 Nerode 关系不会因此产生新类。
从有限指标构造 DFA ​
反过来,若
若
商自动机因而恰好识别
任何可达最小 DFA 的状态都由某个前缀到达。把该状态映到这个前缀的 Nerode 类,映射保持初态、转移和接受性;若两个状态落在同一类,就可继续合并而不改变语言,与最小性矛盾。映射因此为双射,也证明最小 DFA 的唯一性。
直觉
读完前缀后,过去只通过一份“哪些后缀仍能成功”的未来清单影响判断,原来的字符序列已经无需保留。两个前缀若清单相同,任何识别器都没有理由继续区分它们;若清单不同,就存在一个具体后缀揭示差异,合并它们必定让至少一个完整字判断错误。
最小 DFA 的状态不是设计者凭经验挑出的标签,而是语言所有不同残余的规范名字。转移
“可区分”必须针对右侧续写:找到
例子与边界
令
前缀的未来行为恰分三类:尚未出现 ab 且末尾不是 a,可由 ab 且末尾是 a,可由 a 代表;已经出现 ab,可由 ab 代表。第一、第二类由后缀 b 区分,因为 b 不含 ab 而 ab 含;第三类与前两类都可由空后缀区分,因为它已经接受。于是最小 DFA 恰有三个状态:无候选前缀、刚见到候选 a、已经匹配成功。
这份论证同时给了上界和下界。三类描述覆盖所有前缀,故商自动机至多三状态;三个代表两两可区分,故任何 DFA 至少三状态。只展示一台三状态 DFA 只能证明上界,若没有区分证书,不能排除还存在两状态实现。
考虑复制语言
前缀集合
关系是右同余,因为标准自动机从左向右读取,并在已读前缀的右侧继续输入。研究双向自动机、从右向左读取或代数识别时,会出现相应的左商或双边同余;不能不加说明地互换方向。
推论与应用
DFA 最小化计算的正是可达状态的未来语言等价:分割细化从接受/拒绝开始,反复用字符转移暴露区分后缀,直到每一块对应一个 Nerode 类。最小结果可作为正则语言的规范表示,用于等价检查、缓存与代码生成。
状态下界也可直接由区分族给出。找出
残余语言还连接自动机学习。查询学习算法逐步提出后缀实验来区分观察到的前缀,反例则暴露尚未分开的残余;当表中的行稳定且闭合时,得到的假设 DFA 正是在逼近 Nerode 商。
参考资料
- John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation, 3rd ed., Pearson, 2006, §4.4.
- Michael Sipser, Introduction to the Theory of Computation, 3rd ed., Cengage, 2013, §1.2.
- Dexter Kozen, Automata and Computability, Springer, 1997.