計算理論中的四類語言及其關係

2021-09-23 22:19:08 字數 1571 閱讀 9554

整理自書本1

。四類語言分別是正則語言(regular)、上下文無關語言(context-free)、可判定語言(decidable)和圖靈可識別語言(turing-recognizable)。其關係如下圖所示:

解釋一下這幾種語言的含義。

書上定義3.52

如果乙個語言能夠被某圖靈機所識別,那麼稱這個語言是圖靈可識別的(turing-recognizable)。

圖靈可識別語言也可以稱為遞迴可列舉語言(recursively enumerable language)。

注意,圖靈機對於某個輸入字串,只會產生三種輸出,即接受(accept)、拒絕(reject)和迴圈(loop)。

然而,迴圈和拒絕比較難區分,我們不知道它是真的陷入迴圈了,還是僅僅因為執行時間長,尚未退出。所以,我們希望有僅包含接受和拒絕這兩種輸出的圖靈機,這種圖靈機成為判定機(decider)。

書上定義3.62

如果乙個語言能夠被某圖靈機所判定,那麼稱這個語言是圖靈可判定的(turing-decidable)或者是可判定的(decidable)。

圖靈可判定語言也可以稱為遞迴語言(recursive language)。

書上定義2.23

:上下文無關文法是乙個四元組(v, ∑

\sum

∑, r, s),該四元組滿足以下四個條件。

v是有限集,稱為變數集(variables),即非終結符集,

\sum

∑是有限集,脫離於v,稱為終結符(terminals)集。

r是包含產生式規則的有限集,每條規則都是乙個非終結符連線一串終結符和非終結符,

s是開始符號,是v的子集。

符合上下文無關文法的語言是上下文無關語言。

書上定理2.204

某語言是上下文無關的當且僅當有某個下推自動機可以識別它。

書上定義1.525

如果乙個語言能夠被某個有限自動機所識別,那麼稱這個語言為正則語言。

introduction to the theory of computation ( 3rd edition ) michael sipser. p201 ↩︎

introduction to the theory of computation ( 3rd edition ) michael sipser. p170 ↩︎↩︎

introduction to the theory of computation ( 3rd edition ) michael sipser. p102 ↩︎

introduction to the theory of computation ( 3rd edition ) michael sipser. p117 ↩︎

introduction to the theory of computation ( 3rd edition ) michael sipser. p40 ↩︎

C C 學習總結(四) 類與類之間的關係

類與類之間的關係 組合 乙個類包含了其他類 依賴 乙個類使用了其他類 和繼成 乙個類繼承了其他類 1 類的組合關係 某乙個或幾個類的物件作為其他某個類的成員,例 class a class b class c 其中,x和y是普通的資料成員,a和b是物件成員。c類包含了a類和b類的物件,此時稱c與a和...

C 中的四類強制轉換?

c 中的四類強制轉換?例 class classa virtual void functiona class classb class classc public classa,public classb classc aobject classa pa aobject classb pb aobj...

理解NAT中四類位址的含義

存根網路 stub network 只有一條連線到其鄰居網路的網路。內部本地位址 inside local address 分配給內部主機的ip位址。可以是rfc1918中定義的私有ip位址。內部全球位址 inside global address 由地區網際網路註冊局 rip 或服務提供商分配的乙...