【问题标题】:Creating a DFA from : x^a y^b x^a从 : x^a y^b x^a 创建 DFA
【发布时间】:2017-03-02 11:49:40
【问题描述】:

我不知道如何从该语言创建确定性有限自动机:

x^a y^b x^a  where a,b >=0

我遇到的主要问题是如何表示反向引用(第二个 x^a)。这两个 x 应该彼此一样频繁。

如何编写 DFA 来适应这种情况?

据我了解,我可以在初始状态终止,有零个或多个 x 并终止,有零个或多个 y 然后终止,或零个或 x 并终止,或其中部分或全部然后终止。

p>

这是家庭作业,如有必要,请提供解释。谢谢。

【问题讨论】:

    标签: regex dfa


    【解决方案1】:

    有限自动机可以准确识别常规语言的类别,而您的语言不是常规语言,原因与Dyck language 的原因大致相同。您可以使用pumping lemma for regular languages 来证明它。由于这是家庭作业,我不会带走你实际提出证明的兴奋。

    【讨论】:

    • 好的,感谢您的回答!我会更多地研究这个理论。
    • 另外,澄清一下,这是否意味着 DFA's、NFA's、NFA's + ε 都只能识别常规语言?
    • @ChrisMulheron 是的。 DFA's、NFA's、NFA's + ε 都识别同一类语言(常规语言),但 DFA 可能需要比 NFA 更多的状态,而 NFA 又可能需要比 NFA + ε 更多的状态。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2012-01-28
    • 2021-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多