【问题标题】:How Can I Tell if a DFA Accepts an Empty String?如何判断 DFA 是否接受空字符串?
【发布时间】:2018-09-12 02:29:08
【问题描述】:

我正在处理一个要求我为特定语言构建 DFA 的问题。我都明白了,但我不确定是否应该立即接受空字符串(在这种情况下,初始状态也应该是最终状态)。

我得到了字母表 E = {0, 1},我必须创建一个 DFA 来接受这个字母表中所有不超过四个 1 的字符串。如果它确实接受一个空字符串,我知道我应该让我的初始状态成为最终状态,但我不确定如何知道它是否应该接受一个空字符串。 根据给定的字母表,我如何知道 DFA 是否应该接受空字符串?

我的假设是它不是,因为空字符串不是字母 E 的一部分。

【问题讨论】:

    标签: automata dfa


    【解决方案1】:

    空字符串是字母表中长度为零的符号序列。空字符串永远不是字母表中的符号。您的语言 - {0, 1} 上不超过四个 1 的所有字符串的语言 - 包括空字符串,因为空字符串包含少于四个 1。因此,您的 DFA 必须接受空字符串才能接受语言。正如您已经观察到的,要接受空字符串,初始状态也必须是最终/接受状态。

    【讨论】:

    • 非常感谢,这很有道理。
    猜你喜欢
    • 2014-08-05
    • 2010-09-21
    • 2020-08-26
    • 1970-01-01
    • 2015-06-09
    • 1970-01-01
    • 2011-05-31
    • 2010-11-21
    • 1970-01-01
    相关资源
    最近更新 更多