我学习了明天的考试,我已经检查了很多教程,告诉如何NFA转换为正则表达式,但我似乎无法确认我的答案。 继教程,我解决了NFA
我的解决办法是:
学士学位
我对么?
我学习了明天的考试,我已经检查了很多教程,告诉如何NFA转换为正则表达式,但我似乎无法确认我的答案。 继教程,我解决了NFA
我的解决办法是:
学士学位
我对么?
你的回答a*ba*
是正确的。 我可以从驾驶你的答案NFA
给出相关图片如下:
有在启动状态q 0自我循环与标签的a
。 这样可以有任何数量的a
s为初始(前缀)可以包括null ^
在RE。 所以,正则表达式(RE)开始与a*
。
你只需要一个b
,以达到最终状态。 实际上用于接受串; 必须有-至少一个b
中的串a
和b
。 所以RE a*b
到达要么,Q 1或Q 2。 两者都是最终状态 。
一旦你达到最终状态(Q 1或Q 2)。 没有其他的b
是可能的字符串(不存在用于传出边缘b
从Q 1和Q 2)。
只有符号是a
可以在Q 1和Q 2是可能的。 还为, a
以Q 1或Q 1,Q 2和二者之间Q 2移动开关是最终的。 因此,符号后面b
任意数量的a
S可在后缀。 (因此字符串结尾a*
)。
RE是a*ba*
。
此外,它的DFA如下:
DFA:
======
a- a-
|| ||
▼| ▼|
--►(q0)---b---►((q1))
a* b a* :RE
====
任何数量的a
在s q0
那就是: a*
一旦你得到b
,你可以切换到最终状态q1
: b
在最终状态的任何数量的a
可能: a*
而其最小化DFA!
下面是我的一些更有趣的答案上FAs
和REs
,我相信将是您有用:
(AB)* = A*B*?
这个答案是正确的,在以下两个条件为真:
然而,我无法检查你的工作,因为你没有发布任何。