什麼是理論計算機科學中的 Kleene 定理?


Kleene 定理指出以下三個陳述的等價性:

  • 有限自動機接受的語言也可以被狀態轉換圖接受。

  • 狀態轉換圖接受的語言也可以被正則表示式接受。

  • 正則表示式接受的語言也可以被有限自動機接受。

Kleene 定理證明第一部分

有限自動機接受的語言也可以被狀態轉換圖接受。

考慮一個例子,設 L=aba 在字母表 {a,b} 上。

Kleene 定理的第三部分

正則表示式接受的語言也可以被有限自動機接受。

定理

任何可以用正則表示式定義的語言都可以被某個有限狀態機 (FSM) 接受,並且也是正則的。

證明

證明是透過構造來進行的。

對於給定的正則表示式 α,我們可以構造一個 FSM M,使得

L (α) = L (M)

  • 如果 α 是任何 c ∈ Σ,我們可以構造一個簡單的 FSM,如下所示:

  • 如果 α 是 φ,我們構造一個簡單的 FSM,如下所示:

  • 如果 α 是 €,我們構造一個簡單的 FSM,如下所示:

讓我們構造 FSM 來接受由正則表示式定義的語言,這些正則表示式利用連線、並集和 Kleene 星號運算。

步驟 1

設 β 和 γ 是在字母表 Σ 上定義語言的正則表示式。

如果 L(β) 是正則的,則它被某個 FSM 接受。

M1 = (Q1, Σ, δ1, q1, F1)

設 L(γ) 是正則的,則它被某個 FSM 接受。

M2= (Q2, Σ, δ2, q2, F2)

步驟 2

如果正則表示式 α= β ∪ γ,並且 L(β) 和 L(γ) 都是正則的,

那麼我們構造 M3=( Q3, Σ, δ3, q3, F3),使得

L(M3)=L(α)=L(β) ∪ L(γ)

步驟 3

設 P 接受 L = {a},Q 接受 L = {b},則 R 可以表示為 P 和 Q 的組合,使用提供的運算,如下所示:

R = P+ Q

相同的轉換圖如下所示:

我們在轉換圖中觀察到以下內容:

  • 在並集運算的情況下,我們可以有一個新的起始狀態。從那裡,一個空轉換過程進入兩個有限狀態機的起始狀態。

  • 兩個有限自動機的最終狀態轉換為中間狀態。最終狀態統一為一個,可以透過空轉換遍歷。

更新於: 2021年6月15日

17K+ 次瀏覽

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.