automata - 将 NFA 转换为 DFA

标签 automata nfa

NFA

我无法理解如何转换。

如果 2 得到“a”的输入,它会因为空字符串而变成 (1,4) 或 (1,2,4) 吗?

谢谢!

最佳答案

如果状态 Q2 获取“a”输入,则下一个状态可能是 Q1Q2、0r Q4.

在您的 NFA 中您将获得最终状态 Q4

其等效的DFA如下:

                 a-  
                 ||
                 ▼|
--►(Q0)---a---►((Q1))---b----►((Qf))  
                 ▲-----a--------| 

其中Q1Q2是最终状态。

其正则表达式为:a (a + ba)* (b + ε )

其中 ε 为空符号 (epsilon)

关于automata - 将 NFA 转换为 DFA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14850012/

相关文章:

algorithm - 如何找到两个NFA的交集

python - 我如何检查我的线路是否与 NFA 匹配?

regex - 惰性量词在 PCRE 中究竟是如何工作的?

regex - 正则表达式转 DFA

binary - 用于二进制数加法和比较的图灵机

computer-science - 自动机理论死了吗?

algorithm - 如何在自动机上应用 Kleene 星?

state-machine - 堆栈大小受限的 PDA 接受哪些类型的语言?

c++ - 为什么我的 C++ 程序在特定输入时崩溃?