【问题标题】:automata theorem: existance of a DFA [closed]自动机理论:DFA的存在[关闭]
【发布时间】:2013-12-03 08:35:05
【问题描述】:

我需要证明,对于每个 k,都有一个具有 k+2 个状态的 DFA M,因此在每个接受语言 reverse(L(M)) 的自动机 M' 中,至少有 2^k 个状态。

非常感谢您的帮助。

谢谢:)

【问题讨论】:

    标签: finite-automata automata formal-languages


    【解决方案1】:

    假设字母集至少包含两个元素,则设为{0,1}

    接下来,让M 成为接受语言L 定义为的自动机:

    第k个位置为1的所有字符串

    定义为:

    M = {Q,{0,1},q0,{qk+1},δ},其中

    Q={q0,q1,...,qk,qF}

    δ(qi,a) = qi+1,对于 {0,1} 中的 a 和 i=0,1,...,k -2

    δ(qk-1,0) = qF,

    δ(qk-1,1) = qk,

    δ(qF,a) = qF,对于 {0,1}

    中的 a

    请注意,M 恰好具有 k+2 状态,并且它接受语言 L

    现在,请注意语言reverse(L(M)) 可以翻译为:

    从末尾开始第k个位置为1的所有字符串

    要识别该语言,请注意我们需要记住最后 k 个符号,因为我们不知道字符串何时结束。我们知道至少有 2k 个可能的长度为 k 的字符串(因为字母表大小至少为 2)。

    所以使用 DFA,我们至少需要 2k 个状态,每个状态代表一个可能的长度为 k 的字符串。

    作者注:

    这个证明的想法是找到一种以正常方式“容易”识别但向后阅读时“困难”的语言。通过经验,我记得从开始开始固定第k个位置是“容易的”,而从结束开始第k个位置是“困难”,因此我的回答。

    【讨论】:

      猜你喜欢
      • 2018-04-26
      • 1970-01-01
      • 2019-08-10
      • 2014-05-09
      • 1970-01-01
      • 2022-06-29
      • 1970-01-01
      • 1970-01-01
      • 2021-05-26
      相关资源
      最近更新 更多