📜  TOC中的基本定理(Myhill nerode theorem)(1)

📅  最后修改于: 2023-12-03 14:48:00.908000             🧑  作者: Mango

TOC中的基本定理(Myhill-Nerode定理)

简介

Myhill-Nerode定理是形式语言理论中一个很重要的定理,主要用于判定一个语言是否为正则语言。它提供了一种判定正则语言的方法:如果一个语言L的等价关系的索引集合为无限,则L不是正则语言。该定理的证明基于自动机和等价关系的概念。

等价关系和索引

在开始介绍定理之前,我们需要先了解一下等价关系和索引的概念。

等价关系

给定一个集合A,一个关系R是A上的等价关系,当且仅当它满足以下三个性质:

  1. 自反性:对于任意的a∈A,aRa。
  2. 对称性:对于任意的a,b∈A,如果aRb,则bRa。
  3. 传递性:对于任意的a,b,c∈A,如果aRb且bRc,则aRc。
索引

给定一个集合A,一个索引是一个等价关系{≈0,≈1,≈2,...},满足对于任意的i≥0和a,b∈A,a≈ib当且仅当a和b在关于集合A的某一个正则语言中区别不开。

Myhill-Nerode定理

现在,我们可以正式介绍Myhill-Nerode定理了。

定义

给定一个语言L,令a≈Lb表示字符串a和b在L中的行为不可区分(即a和b均可以被L接受或者均不能被L接受)。那么,等价关系≈L是关于L的索引,当且仅当对于所有的a,b∈Σ*,有a≈Lb当且仅当对于所有的c∈Σ*,ac∈L当且仅当bc∈L。

结论

如果一个语言L的等价关系的索引集合为无限,则L不是正则语言。反之,如果一个语言L是正则语言,则它的等价关系的索引集合是有限的。这个结论被称为Myhill-Nerode定理。

证明

该定理的证明需要构造一个称为Myhill-Nerode算法的过程。该算法通过遍历状态空间中的所有状态,来构建语言L的最小化DFA。

具体而言,我们首先定义一个状态p为DFA中的一个状态,如果对于任意的字符串x和y,x和y在L中的行为相同当且仅当$x\in L$且$y\in L$到达p的路径相同。

接下来,我们构造一个等价关系$\approx$,它满足x≈y当且仅当x和y在L中的行为不可区分且它们到达DFA的状态相同。这个等价关系有一个良好的特性,即对于任何一个非空的等价类X,如果有x∈X,则对于任何一个y∈X,都有x和y在L中行为相同(即x和y均可以被L接受或者均不能被L接受)。这个性质可以轻松地被证明。

我们再证明一个引理:任何两个不同的等价类在任何一个DFA的状态中都不能到达。事实上,如果两个不同的等价类X和Y在某一个状态p中是可达的,那么存在某个字符串s,使得s到达p的路径分别以一个x∈X和一个y∈Y结束。根据等价关系的定义,x和y在L中的行为不同,所以X和Y在L中的行为也不同。这个定理可以被用来证明,等价关系的索引集合为无限,则L不是正则语言。因为如果L是正则语言,它的DFA最多有|Σ|n个状态,那么它的等价关系的索引集合一定是有限的。所以,如果等价关系的索引集合为无限,则L不是正则语言。

总结

Myhill-Nerode定理为我们提供了一种简单而有力的工具,用于判定一个语言是否为正则语言。它通过定义等价关系和索引的概念,结合构造最小化DFA的方法,建立了从等价关系的索引集合到正则语言的唯一映射关系,为研究正则语言提供了非常重要的帮助。