DFA與NFA的區別與聯絡
概念
記號
有字母表中的符號組成的有限長度的序列。記號s的長度記為|s|.長度為0的記號成為空記號,記為∑。
有限自動機(Finite State Automaton)
為研究某種計算過程而抽象出的計算模型。擁有有限個狀態,根據不同的輸入每個狀態可以遷移到其他的狀態。
非確定有限自動機(Nondeterministic Finite Automaton)
簡稱NFA,由以下元素組成:
1.有限狀態集合S;
2.有限輸入符號的字母表∑;
3.狀態轉移函式move;
4.開始狀態sSUB{0};
5.結束狀態集合F, F∈S。
自動機初始化狀態為sSUB{0},逐一讀入輸入字串中的每一個字母,根據當前狀態,讀入的字母,由狀態轉移函式move控制進入下一個狀態。如果輸入字串讀入結束時自動機的狀態屬於結束狀態集合F,則說明該自動機接受該字串,否則為不接受。
確定有限自動機(Deterministic Finite Automaton)
簡稱DFA,是NFA的一直特例,有以下兩條限制:
1. 對於空輸入∑,狀態不傳送遷移;
2.某個狀態對於每一種輸入最多隻有一種狀態轉移。