[英]Nondeterministic finite automata (NFA) correction
您目前拥有的自动机仅接受以acbca
结尾的字符串。 以下是到达解决方案的步骤:
a
字符串 b
, c
您几乎是正确的,但是您绘制的自动机只接受以acbca
结尾的acbca
。 这将接受您想要的字符串
a,b,c a a,b,c a,b,c a,b,c a a,b,c
,--->[q0]--->[q1]--->[q2]--->[q3]--->[q4]--->{q5}----+>[q16]-----.
| /| b a,b,c a,b,c a,b,c b a,b,c| ^ a,b,c |
`---´ +----->[q6]--->[q7]--->[q8]--->[q9]--->{q10}---+ `-------´
| c a,b,c a,b,c a,b,c c a,b,c|
`----->[q11]-->[q12]-->[q13]-->[q14]-->{q15}---´
像{q5}
这样的状态正在接受状态,而像[q0]
这样的状态则不在接受状态。 q16
的含义是确保两个相等的字母的字符串相距4个字符,但不以该字符结尾,该字符串陷入非接受状态。 同样可能是字母b,c
状态[q4]
对于字母a,c
状态[q9]
并为字母a,b
状态[q14]
但为了绘图清楚起见,我省略了它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.