確定型有限自動機(DFA)

確定性(determinism)

確定性是這樣一個性質:在每一步,機器恰好只有一件事可以做——沒有選擇、不擲硬幣、不分岔。閱讀一部確定型機器就像照著一份沒有「二擇一」步驟的食譜:從你所在之處,下一步是被迫的。把同一部機器在同一個輸入上跑一千遍,你每次描出的都是同一條路徑。

具體而言,對 DFA 來說,確定性意味轉移函數 δ 對每個(狀態, 符號)對都回傳單一的下一狀態:δ(q, a) 是一個狀態,絕不是一組選項,也不會無定義。兩個條件合起來刻畫它:恰好有一個起始狀態,且從每個狀態出發、每個符號都恰好通往一個後繼狀態。這就是 DFA 中那個「D」的全部含義。

值得誠實說明確定性給了你什麼、又沒給你什麼。它讓 DFA 變得極易模擬——你只要跟著那唯一的路徑走——也讓推理變得乾脆。但確定性並不限制有限自動機能辨識哪些語言:確定型與非確定型有限自動機辨識的正是同一類語言(正規語言)。非確定性——機器可能有數個合法動作的那個相反性質——在有限自動機這個層級上,是描述上的便利,而非額外的計算能力。

在 DFA 的轉移表中,每一格都恰好放一個狀態。若有單一格改為列出兩個狀態(例如 δ(q,a) = {p, r}),或某格留白,這部機器就不再是確定型——它要嘛變成非確定型,要嘛根本不是個合法定義的 DFA。

確定性:恰好一個起始狀態,且每個(狀態, 符號)恰好一個後繼。

確定性不等同於對輸入的可預測。DFA 的行為由它讀到的輸入所決定;給定輸入後,就不再有任何隨機性——但它無法預見尚未讀到的符號。

又称
deterministic behaviour決定性確定性