【计算理论】可判定性 ( 通用图灵机和停机问题 | 可判定性 与 可计算性 | 语言 与 算法模型 )
文章目錄
- 一、通用圖靈機和停機問題
- 二、可判定性 與 可計算性
- 三、語言 與 算法模型
一、通用圖靈機和停機問題
利用 圖靈 的結論 , 證明 有哪些 計算問題 是找不到 算法 進行判定的 ; 如 停機問題 , 就找不到算法進行判定 ;
停機問題 : 設計一個程序 , 幫助判定 “給定一個程序 , 該程序是否會停機” ;
① 如果知道該程序 不會停機 , 就強制停止該程序 ;
② 如果知道該程序 會停機 , 就耐心等待該程序執行完畢 ;
上述 “能判定程序是否會停機” 的程序 , 是不存在的 ;
二、可判定性 與 可計算性
可判定性 與 可計算性
① 可判定性 ( Decidability ) : 計算模型是 圖靈機中的 判定機 ;
② 可計算性 ( Turing-recognizable 圖靈機可接受的 ) : 計算模型是 圖靈機 ;
可計算性 包含 可判定性 ;
可計算性 與 可判定性 之間的相互關系 :
補集可計算 : 如果一個語言的 補集 ( Complement ) 是可計算的 ( Turing-recognizable ) , 那么稱該語言是 補集可計算的 ( co-Turing-recognizable ) ;
判定 = 可計算 + 補集可計算 : 如果一個語言是 可判定的 ( Decidable ) , 那么這個語言是 可計算的 ( Turing-recognizable ) , 同時這個語言又是 補集是可計算的 ( co-Turing-recognizable ) ;
可計算 : Turing-recognizable
補集可計算 : co-Turing-recognizable
之前提到過 通用圖靈機語言 ATM\rm A_{TM}ATM? 是 可計算的 , 對應的計算模型是 圖靈機 , 但 ATM\rm A_{TM}ATM? 是 不可判定的 ;
可判定 = 可計算 + 補集可計算
通用圖靈機語言 ATM\rm A_{TM}ATM? 是 不可判定的 , 可計算的 , 其補集肯定是不可計算的 ;
三、語言 與 算法模型
語言 與 算法模型 :
① 正則語言 ( 自動機 ) : Lr=L(a?b?)\rm L_r = L(a^*b^*)Lr?=L(a?b?) , 該語言是正則表達式語言 ; r\rm rr 下標含義是 regular 正則 ;
正則語言參考 : 【計算理論】正則語言 ( 正則表達式原子定義 | 正則表達式遞歸定義 | 正則表達式語言原子定義 | 正則表達式語言結構歸納 | 正則表達式語言示例 | 根據正則表達式構造自動機 )
② 上下文無關語言 ( 下推自動機 ) : LCFL={anbn:n≥0}\rm L_{CFL} = \{ a^nb^n : n \geq 0 \}LCFL?={anbn:n≥0} , 該語言不是正則表達式語言 , 是上下文無關語言 ; 下標 CFL\rm CFLCFL 含義是 Context-Free Grammer , 上下文無關語法 ;
上下文無關語法參考 : 【計算理論】上下文無關語法 ( 語法組成 | 規則 | 語法 | 語法示例 | 約定的簡寫形式 | 語法分析樹 )
③ 可判定語言 ( 判定機 ) : Ld={anbncn:n≥0}\rm L_ze8trgl8bvbq = \{ a^nb^nc^n : n \geq 0 \}Ld?={anbncn:n≥0} , 該語言不是上下文無關語言 , 是可判定語言 ; 下標 d\rm dd 含義是 Decidability 可判定 ;
可判定語言參考 : 【計算理論】可判定性 ( 丘奇-圖靈論題 | 可判定性引入 | 圖靈機語言 | 圖靈機結果 | 判定機 | 部分函數與全部函數 | 可判定性定義 )
④ 可計算語言 ( 圖靈機 ) : LTr=ATM\rm L_{Tr} = A_{TM}LTr?=ATM? , 該語言是可計算的 , 不是圖靈可判定的 ; 下標 Tr\rm TrTr 含義是 Turing-recognizable ( 圖靈機可識別 ) 即可計算的 ;
⑤ 不可計算語言 ( 沒有對應算法模型 ) : LnTr=A ̄TM\rm L_{nTr} = \overline{A}_{TM}LnTr?=ATM? , 圖靈機不識別語言 , 不可計算語言 ;
總結
以上是生活随笔為你收集整理的【计算理论】可判定性 ( 通用图灵机和停机问题 | 可判定性 与 可计算性 | 语言 与 算法模型 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【计算理论】可判定性 ( 对角线方法 |
- 下一篇: 【计算理论】不可判定性 ( 停机问题 |