[英]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.