正規語言-L4
正規語言相關文章參考資料為陳穎平教授上課講義
L4 Decidability
Decidable Languages
Decidable Problems Concerning Regular Languages
定義
Theoremis a decidable language.
- 證明: 建立一個
TM模擬 在 上的行為,如果停在accept states則 appect,否則會 reject,只有這兩種可能,因此是Decidable的
定義
Theoremis a decidable language.
- 證明: 建立一個
TM,並建立與 等價的DFA,可以將 帶入TM去判斷是 accept or reject
定義
Theoremis a decidable language.
- 證明: 建立一個
TM,並建立與 等價的NFA,可以將 帶入TM去判斷是 accept or reject
定義
Theoremis a decidable language.
- 證明: 建立一個
TM,從start state開始進行 BFS 並 mark 已經被經過的 states,如果有到達accept states則 reject,否則 accept (沒有 string 會被 accept)
定義
Theoremis a decidable language.
- 證明: 建立一個
TM,根據某些操作在DFA上的封閉性,可以建立一個DFA使得 ,代表是兩個 language 的對稱差,可以將 帶入TM去判斷其 language 是否為空,如果TM是 accept 則 accept,否則 reject (對稱差不為空)
Decidable Problems Concerning Context-Free Languages
定義
Theoremis a decidable language.
- 證明: 建立一個
TM,先將 轉換為等價的 Chomsky normal form,如果 的長度為 n (不為 0),則在2n - 1步內一定可以判斷是否能產生 ,如果能產生則 accept,否則 reject- 也能輕易地用
CYK Algorithm來判斷
- 也能輕易地用
定義
Theoremis a decidable language.
- 證明: 建立一個
TM
定義
is Undecidable (Chapter 5)
Theorem
Every context-free language is decidable.
- 證明:
最後可以得到這樣的關係:
The Halting Problem
Is there any problem algorithmically unsolvable?
定義
Theoremis undecidable.
- 證明: 之後證明
is Turing-recognizable.
- 證明: 建立一個
TM模擬 在 上的行為,如果能到達accept state則 accept,如果到達reject state則 reject (有可能卡在 loop)
The Diagonalization Method
Measuring the sizes of infinite sets.
假設有兩個 set ,如果能找到一個函數 from to ,並滿足:
one-to-one: $ x ≠ y ⇒ f (x) ≠ f (y)$onto: $ ∀b ∈ B, ∃a ∈ A, f (a) = b$
則 為 same size,並且 稱為 correspondence
A set is countable if either it is finite or it has the same size as .
is uncountable.
- 證明: 先假設實數集合 是
countable的,則存在函數 使得 與其內元素一一對應,我們可以找到一個實數 是沒有被對應的的,產生矛盾- 的產生方式: 取 i 對應元素的小數點後第 i 位,並改變其數值
Corollary
Some languages are not Turing-recognizable.
- 證明: 利用
Diagonalization Method
The Halting Problem Is Undecidable
證明 is undecidable.
A Turing-Unrecognizable Language
A language is co-Turing-recognizable if it is the complement of a Turing-recognizable language.
A language is decidable iff it is Turing recognizable and co-Turing-recognizable.
- 證明: 建立一個
TM,當接收 string 後,同時模擬 的行為,如果 accept 則 accept,如果 accept 則 reject (可以避免卡在 loop)- 是
Turing recognizable所對應的TM - 是
co-Turing-recognizable所對應的TM - 不可能兩者同時卡在 loop
- 是
is not Turing-recognizable.
- 證明: 已知 is
undecidable且 isTuring-recognizable
Let’s enumerate the binary strings as
is exactly the binary representation of .
接著將 視為 TM,並定義
No Turing machine accepts .
- 證明: 利用
Diagonalization Method




