確定型有限自動機(DFA)

轉移函數(the transition function)

/ delta = the symbol δ /

轉移函數,寫作 δ(delta),是機器的規則手冊:它規定每一步該怎麼走。它的工作是回答一種問題——「我在這個狀態、剛讀到這個符號;接下來往哪走?」——而且每次都用同樣的方式回答。可以想像成一張你查閱的平面表格:找到目前狀態對應的列、剛讀到符號對應的欄,那一格就告訴你要移到的那一個狀態。

形式上,δ 是一個由「(狀態, 符號)對」映到「狀態」的函數:δ : Q × Σ -> Q,並寫成 δ(q, a) = p。藏在這個型別簽名裡的兩個事實,正是讓 DFA 成為確定型且全函數的關鍵。確定型:輸出是單一狀態 p,絕不是一個集合、也不是一個選擇。全函數(total):δ 對每個狀態與每個符號都有定義——沒有缺漏的格子,不存在機器卡住、不知如何是好的情境。表格的每一格都被填滿。

機器所做的一切,無非就是一再地套用 δ。要處理一個字串,你從 q0 出發,每個符號套用一次 δ,把一步的輸出狀態接到下一步的輸入狀態。設計一部 DFA,其實就是設計它的 δ:為每個狀態與符號決定哪一個下一狀態,能正確延續你想做的記帳。

在 {0,1} 上計算 1 的奇偶性:狀態 Even、Odd。δ(Even,0)=Even、δ(Even,1)=Odd、δ(Odd,0)=Odd、δ(Odd,1)=Even。讀到 0 從不翻轉奇偶;讀到 1 必定翻轉。四個條目涵蓋了「兩個狀態乘兩個符號」——既是全函數也是確定型。

δ(q, a) = p:在狀態 q 讀到符號 a,就移到那唯一的狀態 p。

對 DFA 而言,δ 輸出一個狀態。NFA 版本則把(狀態, 符號)送到一個狀態集合(可能為空),這才是兩種模型真正的差別——但那屬於 NFA 的主題,不在此處。

又称
deltaδtransition rule轉換函數δ