【问题标题】:How to draw a DFA for given language?如何为给定语言绘制 DFA?
【发布时间】:2016-03-03 13:58:25
【问题描述】:

给出一个接受语言中任何单词的 DFA 的有限状态图 L = {w | w ∈ {a, b}∗ 和 w 交替 a's 和 b's 并且有偶数个 b's}。

我的尝试:我在如何处理 b 的偶数部分时遇到问题。

【问题讨论】:

  • 考虑设计 DFA 的一种方法是识别有意义的状态。在这种情况下,您需要 2 个状态。一个意思是“看到偶数个b”,另一个意思是奇数个b。由于零是偶数,因此该状态是开始状态。而且由于您想要长度均匀的字符串,因此它也是(唯一)接受状态。现在根据含义添加转换,你就完成了。例如。由于 a 不影响 b 看到的数量,因此每个状态在输入“a”上转换为自身。所以你只需要添加 'b' 过渡。
  • 作为起点,请向我们展示您的 DFA,它接受每个交替 a 和 b 的字符串 w
  • 您的最小字符串是多少...null 或空白且只有 (a)。

标签: finite-automata automata dfa


【解决方案1】:

该语言也包含奇数长度的字符串。即,具有偶数个 b 和一个多一个或少一个 a 的字符串,并且 a 和 b 交替出现。这种语言不能被只有两种状态的有限状态自动机接受。如果一个自动机具有两个状态,并且 a 转换到相同的状态,那么该自动机将接受不属于该语言的任意数量的连续 a 的字符串,因为没有交替。

下面给出了接受这种语言的 FSA,标签解释了每个州代表什么。

【讨论】:

    猜你喜欢
    • 2017-03-13
    • 2013-09-18
    • 2012-11-26
    • 2014-04-10
    • 2015-03-13
    • 2020-09-26
    • 2018-07-18
    • 2012-02-16
    • 2017-06-25
    相关资源
    最近更新 更多