答案 0 :(得分:1)
如果状态Q2
获得“a”输入,则下一个状态可以是Q1
,Q2
,0r Q4
。
在您的NFA中,您的最终状态为Q4
其等效DFA如下:
a-
||
▼|
--►(Q0)---a---►((Q1))---b----►((Qf))
▲-----a--------|
Q1
和Q2
是最终状态。
其正则表达式为:a
(a + ba)*
(b + ε )
ε
为空符号(epsilon)
答案 1 :(得分:0)
我们开始将NFA转换为DFA并识别空输入闭包集(从这里开始,我将用L-closure表示空输入闭包)。
L(1)=(1,2)我们可以在空输入时从1开始访问2
L(2)=(2)2中没有空输入边。
L(3)=(3)3中没有空输入边。
L(4)=(1,2,4)我们可以从1和4中从1开始访问1.
如果2得到'a'的输入,它将变为(1,4)或(1,2,4)因为 空字符串?
如果2得到'a'的输入,它将变为L(1)UL(4)=(1,2,4)。
由于我们的起始节点在NFA中为1,因此在DFA中它将是L(1),即(1,2)。
T((1,2),a)=L(1)UL(3)UL(4)=(1,2,3,4)
T((1,2),b)=F
T((1,2,3,4),a)=L(1)UL(3)UL(4)=(1,2,3,4)
T((1,2,3,4),b)=L(4)=(1,2,4)
T((1,2,4),a)=L(1)UL(3)UL(4)=(1,2,3,4)
T((1,2,4),b)=F
由于4是NFA中的接受节点,因此在包含4的DFA节点中将接受节点,即(1,2,3,4)和(1,2,4)。