【问题标题】:Which is more powerful??DFA or NFA?哪个更强大?DFA还是NFA?
【发布时间】:2018-02-04 17:28:16
【问题描述】:

NFA 与 DFA 类似,但有以下附加功能:

  1. 允许空(或 ε)移动,即它可以在不读取符号的情况下向前移动。

  2. 能够为特定输入转换到任意数量的状态。 但是,上述这些功能并没有为 NFA 增加任何功能。如果我们在功率方面比较两者,两者是等价的。

这个说法正确吗?如果正确,那么当我们已经有了 DFA 时,还需要 NFA 吗?

【问题讨论】:

  • 每个 NFA 都可以转换为 DFA 吗?如果是这样,生成的自动机是什么样的?
  • 是的,每个 NFA 都可以转换为 DFA 。在什么意义上你的意思是生成的自动机是什么样子的??
  • 等效的 NFA 和 DFA 是什么样的?为什么这会使一些问题“只能现实地表达为 NFA”?
  • 访问link,您可以看到两者的状态图有何不同,但两者都可以视为等效。
  • 好吧,既然牵马行不通.. 试试看quora.com/… ".. 总有可能找到一个等效的(但可能很大)DFA同一件事情..”。对于具有 n 个状态的 NFA,一个 DFA 可能需要多达 2^n 个状态。

标签: automata dfa nfa


【解决方案1】:

与 NFA 不同,DFA 功能强大且明确。但是当您遇到问题时,使用 NFA 创建解决方案非常容易,因为您不必处理所有事情。但是您不能使用它来创建自动机。 要创建自动机,您需要 DFA。 从NFA转换到DFA并不是很困难。但是直接接近 DFA 是非常困难的。你显然可以做到,但这并不容易。因此,我们有 NFA 来首先解决问题,然后当我们选择制作自动机时,我们将 NFA 转换为 DFA,然后创建机器,这在我看来要容易得多。

【讨论】:

    猜你喜欢
    • 2011-01-02
    • 2010-11-23
    • 2016-10-19
    • 2011-08-16
    • 2013-01-28
    • 1970-01-01
    • 2012-01-06
    • 1970-01-01
    相关资源
    最近更新 更多