【问题标题】:Determine how many states the minimal DFA will have确定最小 DFA 将有多少个状态
【发布时间】:2013-12-26 07:39:33
【问题描述】:

这是证明一种语言不是正则语言的引理:如果 L 是正则语言,则存在一个 const N 使得对于 L 中的每个 z,|z|>=N,都可以除z 在三个子字符串中 (uvw=z) 使得:

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

N 必须小于或等于接受 L 的 DFA 的最小状态数。所以要应用抽水引理,我需要知道有多少状态将具有接受 L 的最小 DFA。有没有办法知道有多少状态会倒退吗?那么是否可以在不构建最小 DFA 的情况下知道最少的状态数?

【问题讨论】:

    标签: regular-language


    【解决方案1】:

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

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

    所以要应用抽水引理,我需要知道有多少个州 接受L的最小DFA

    这并不完全正确。在大多数引理证明中,实际上 N 是多少并不重要。您只需要确保目标字符串满足其他属性。给定一个 DFA,可以确定最小 DFA 将具有多少个状态;但是,如果您有 DFA,则无需担心泵引理,因为您已经知道 L 是正则的。事实上,确定一个 N 使得有 N 个状态接受 L 的最小 DFA 构成了所讨论语言确实是正则的有效证明。

    因此可以在不构建的情况下知道最少的状态数 最小 DFA?

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

    请让我知道这些观察结果是否回答了您的问题;我很乐意提供进一步的说明。

    【讨论】:

    • 你能提供一些来源吗?
    • @RamyAlZuhouri 常规语言引理的证明,由维基百科提供:en.wikipedia.org/wiki/…。 Myhill-Nerode 定理,由维基百科提供:en.wikipedia.org/wiki/Myhill-Nerode_theorem。这些看起来相当正确,但如果您想要更多的学术资源,我建议您遵循这些页面上的一些参考资料。如果您在遵循这些页面上的证明或技术时遇到问题,请告诉我。
    猜你喜欢
    • 1970-01-01
    • 2020-05-24
    • 2020-02-28
    • 2014-03-11
    • 1970-01-01
    • 2016-02-01
    • 2021-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多