[英]NFA to DFA where a state only has an epsilon transition
如果在將NFA表轉換為DFA表時,存在僅作為epsilon轉換的狀態,則如何將其轉換為DFA表。
例如,如果狀態1在ε列中僅接受2,那么它在DFA轉換中的外觀如何?
轉換表:
a b c ε
1 {} {} {} {2}
2 {3} {} {} {}
3 {4} {3,4} {} {}
4 {4} {} {} {}
我認為最好先消除epsilon過渡以獲得NFA(不進行epsilon過渡)。 從NFA中獲得等效的DFA應該更容易。
如何消除ε過渡?
首先,我們有一個狀態的ECLOSE
。 ECLOSE(q)
定義為通過跟隨epsilon轉換可以到達的所有狀態(包括狀態q
本身)的集合。 在您的情況下:
ECLOSE(1) = {1,2}
要消除ε過渡,請按照以下步驟操作:
ECLOSE(1)
包含最終狀態,則將state 1
設置為最終狀態 ECLOSE(1)
某些狀態到state q
的轉換時,才添加從state 1
到state q
轉換(帶有相應的標簽) 經過上述步驟(您沒有指定哪些狀態是開始狀態和/或最終狀態),您應該獲得:
a b c
1 {3} {} {}
2 {3} {} {}
3 {4} {3,4} {}
4 {4} {} {}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.