我正在为明天的考试而学习,我已经检查了许多教程,告诉我如何将 NFA 转换为正则表达式,但我似乎无法确认我的答案。按照教程,我解决了 NFA
我的解决方案是:
阿坝_
我对么?
我正在为明天的考试而学习,我已经检查了许多教程,告诉我如何将 NFA 转换为正则表达式,但我似乎无法确认我的答案。按照教程,我解决了 NFA
我的解决方案是:
阿坝_
我对么?
你的答案a*ba*
是正确的。我可以从给定的图像中得出您的答案,NFA
如下所示:
在带有标签的开始状态 q 0a
上有一个自循环。因此a
,初始(前缀)可以有任意数量的 s,包括^
RE 中的 null。所以正则表达式(RE)以a*
.
您只需要一个b
即可达到最终状态。实际上是一个接受字符串;和b
的字符串中必须至少有一个。所以 RE要达到 q 1或 q 2。两者都是最终状态。 a
b
a*b
一旦达到最终状态(q 1或 q 2)。字符串中不可能有其他(从 q 1和 q 2b
没有出边)。b
在 q 1和 q 2处只有符号是a
可能的。同样对于,在 q 1或在 q 2移动切换 q 1, q 2并且两者都是最终的。所以在符号之后可以有任意数量的s 后缀。(所以字符串以 结尾)。 a
b
a
a*
而 RE 是a*ba*
。
此外,它的DFA如下:
DFA:
======
a- a-
|| ||
▼| ▼|
--►(q0)---b---►((q1))
a* b a* :RE
====
任意数量的a
sq0
是: a*
一旦你得到b
你可以切换到最终状态q1
: b
在最终状态下,任何数量的a
都是可能的: a*
它是最小化的 DFA!
这是我在FAs
和上的一些更有趣的答案REs
,我相信对您有用:
这个答案是正确的,因为以下两个都是正确的:
但是,我无法检查您的工作,因为您还没有发布任何内容。