确定最小DFA将具有的状态数

时间:2012-02-10 17:06:22

标签: regular-language

这是证明语言不规则的抽象引理:如果L是常规语言,则存在const N,对于L中的每个z,| z |> = N,可能是在三个子串(uvw = z)中划分z,使得:

1)|uv|<=N;  
2)|v|>=1;  
3)For each k>=0, uv^kw in L.  

N必须小于或等于接受L的DFA的最小状态数量。因此应用泵浦引理我需要知道有多少个州将有最小的DFA接受L.是否有办法知道有多少国家会倒退吗?那么可以在不建立最小DFA的情况下知道最小数量的州吗?

1 个答案:

答案 0 :(得分:2)

  

N必须小于或等于DFA的最小状态数   接受L

N不能小于接受L的最小DFA中的状态数;否则,DFA不能接受L(如果可能的话,你会有DFA接受L小于接受L的最小DFA,这是一个矛盾)。我们可以安全地假设N等于接受L的最小DFA中的状态数(这样的DFA是唯一的)。

  

因此,为了应用泵浦引理,我需要知道有多少个州   最小DFA接受L

这并非严格属实。在大多数泵浦引理证明中,N实际上是什么并不重要;你只需要确保目标字符串满足其他属性。在给定DFA的情况下,可以确定最小DFA将具有多少个州;但是,如果你有一个DFA,就没有必要打扰泵浦引理,因为你已经知道L是常规的。事实上,确定N使得N个州接受L的最小DFA构成了有效语言,证明所讨论的语言确实是正常的。

  

因此有可能知道没有构建的最小数量的状态   最小的DFA?

通过分析语言的描述并使用Myhill-Nerode定理,可以构建一个语言规则的证据,并在最小DFA中找到状态数,而不实际构建最小DFA(尽管一次你已经使用Myhill-Nerode完成了这样的证明,构建一个最小的DFA是一项微不足道的练习。您还可以使用Myhill-Nerode作为泵浦引理的替代来证明语言不规则,通过显示语言的最小DFA需要具有无限多个状态,这是一个矛盾。

请告诉我这些意见是否回答了你的问题;我很乐意提供进一步的澄清。