構建一個用於語言 L = (a* + b*) 的 ∈-NFA。
非確定性有限自動機 (NFA) 中的 ε 轉移用於在沒有來自輸入集 Σ 的任何符號的情況下從一個狀態移動到另一個狀態。
ε-NFA 以五元組表示法定義。
{Q, q0, Σ, δ, F}
其中,
δ − Q × (Σ∪ε)→2Q
Q − 有限狀態集
Σ − 有限的輸入符號集
q0 − 初始狀態
F − 終結狀態
δ − 轉移函式
沒有 ε 轉移的 NFA
NFA 以五元組表示法定義。
{Q, q0, Σ, δ, F}
其中,
δ − Q X Σ→ 2Q
Q − 有限狀態集
Σ − 有限的輸入符號集
q0 − 初始狀態
F − 終結狀態
δ − 轉移函式
NFA 和帶有 epsilon 的 NFA 幾乎相同;唯一的區別在於它們的轉移函式。
讓我們考慮給定的語言 L = (a*+b*)
構建 ε-NFA 的步驟
步驟 1 − a* 的帶 epsilon 的 NFA 如下所示 −
a* 表示表示式中可以有任意數量的“a”,甚至 0(如果輸入符號為空,則它也有效)。
步驟 2 − b* 的帶 epsilon 的 NFA 如下所示 −
b* 表示表示式中可以有任意數量的 b,甚至 0(如果輸入符號為空,則它也有效)。
步驟 3 − 現在使用第一步和第二步構建 a*+b*。
給定的語言被分成兩部分,如 a* 和 b*,並使用“+”符號新增兩個步驟以獲得結果。
廣告