【问题标题】:Is this NFA correctly accepting inputs that end with a 00?这个 NFA 是否正确接受以 00 结尾的输入?
【发布时间】:2021-01-12 09:12:15
【问题描述】:

在一次讲座中,据说这个 NFA 接受以两个零或输入=0 结尾的输入:https://ibb.co/9Wt0j7J。 字母表是 {0,1}

但是如果输入是 001,我们会在某个路径上也以接受状态 (z2) 结束,但是在读取最后一个字符时不可能回到另一个状态,即那个。这意味着接受了错误的输入。所以,我的问题是:在不改变任何东西的情况下,NFA 真的构造正确吗?如果是,为什么?如果没有其他箭头指向另一个状态,我是否可以假设我们进入“空(不可见)状态(错误状态而没有明确提及)”或类似的状态?

【问题讨论】:

  • 您的图片链接无效,因此目前无法检查您的 NFA。
  • @Welbog 我编辑了链接,现在应该可以使用了。

标签: nfa finite-state-automaton


【解决方案1】:

是的,它是给定定义的正确 NFA。

但是如果输入是 001,我们会在某个路径上也以接受状态 (z2) 结束,但是在读取最后一个字符时不可能回到另一个状态,即那个。这意味着接受了错误的输入。

如果你输入 001,它不会接受它,因为 NFA 会检查所有可能的路径并消除卡住的路径。所以你会在前两个0之后进入z2,但是在读到1之后,它会卡住并被淘汰。

编辑:

...一个 NFA 接受一个字符串 w 如果有可能的话 下一个状态的选择序列,同时读取 w 的字符并从开始状态进入任何接受状态。

来自 John E. Hopcroft、Rajeew Motwani、Jeffret D. Ullman 所著的自动机理论、语言和计算简介一书(2006 年,第 59 页)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-18
    • 1970-01-01
    相关资源
    最近更新 更多