![](/img/trans.png)
[英](Homework) Converting an NFA to a DFA with an epsilon transition, but no transition for some a in the alphabet
[英]Converting NFA to DFA
如果状态Q2
得到“A”的下一个状态可以是一个输入Q1
, Q2
,0R Q4
。
在您的NFA中,您将获得最终状态Q4
其等效的DFA如下:
a-
||
▼|
--►(Q0)---a---►((Q1))---b----►((Qf))
▲-----a--------|
其中Q1
和Q2
是最终状态。
它的正则表达式为: a
(a + ba)*
(b + ε )
其中ε
为空符号(ε)
我们通过识别空输入闭包集开始将NFA转换为DFA(从这里开始,我将以L闭包表示空输入闭包)。
L(1)=(1,2)我们可以从1到2输入空。
L(2)=(2)从2没有空输入边沿
L(3)=(3)从3没有空输入边沿
L(4)=(1,2,4)我们可以从4访问1并且从1访问2
如果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中的接受节点,因此在DFA中,包含4的节点将是(1,2,3,4)和(1,2,4)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.