解題步驟:blog
已給正規式:(0|1)*01table
畫出 NFA 狀態轉換圖以下:class
子集法的表格:im
I狀態\字符 | I0 | I1 |
---|---|---|
{S, A, B} 求法: 表示開始符號,以及開始符號識別 n 和 ε 能夠到達的狀態集合。如本題中: 開始符號 S,經過識別 ε 能夠到達的轉態有 A, B,因此集合爲 {S, A, B} | {A, B, C} 求法: 表示改行最左端的狀態集,識別最上端的符號能夠到達的狀態,以及這些狀態識別 n 個 ε 能夠到達的狀態的集合。如本題中: 有 {S, A, B},逐個判斷 S 識別 0 弧沒有能夠到達的狀態;A 識別 0 能夠到達 A,B 識別 0 能夠到達 C;如今已有 A, C 狀態,又由於 A 狀態識別 ε 能夠到達 B,因此整個集合爲 {A, B, C} | {A, B} 求法: 同相鄰左測表格求法。如本題中: 有 {S, A, B},S 狀態識別 1 沒有能夠到達的狀態,A 識別 1 能夠到達 A,B 識別 1 沒有能夠到達的狀態。因此此時只有 A。又由於 A 狀態識別 ε 能夠到達 B,因此整個集合爲 {A, B} |
{A, B, C} 求法: 這個爲何是 {A, B, C}?由於 相鄰右上方表格爲 {A, B, C} 爲何用相鄰右上方表格的狀態集?由於 它是初始態,僅識別 0 和 ε 就能到達的狀態集。因此,能夠將該狀態集視爲識別一條弧所到達的狀態集。能夠看作是下一狀態,爲起狀態別名作準備。 | {A, B, C} 注: 有 A 就有 B | {A, B, T} |
{A, B} | {A, B, C} | {A, B} |
{A, B, T} | {A, B, C} | {A, B} |
對狀態中間重命名,求新的狀態轉換矩陣:d3
(1)由於 S 是初態,重命名爲 S',也是終態命名
(2)設 {A, B, C} 爲 A'img
(3)設 {A, B} 爲 B'tab
(4)由於 T 是終態,此時 {A, B, T} 不是至關於 A' 識別 1 弧所到達的狀態,T 是終態,{A, B, T} 也是終態,重命名爲 T'集合
I狀態\字符 | I0 | I1 |
---|---|---|
S' | A' | B' |
A' | A' | T' |
B' | A' | B' |
T' | A' | B' |
畫出 NFA 狀態轉換圖以下:co
(0|1)*01 正規式對應的正規集元素特色是:
當結尾爲終結符時,可認爲識別成功