更新時間:2023-10-14 20:10:45作者:佚名
文章目錄
一、計算理論內容概覽
二、計算問題的有效性
三、語言與算法模型
四、可估算性與可斷定性
五、可斷定性與有效性
六、語言分類
一、計算理論內容概覽
估算理論分為方式語言與自動機,可估算部份,估算復雜性部份;
方式語言與自動機內容:自動機,確定性有限自動機,非確定性有限自動機,正則語言,泵引理,上下文無關句型巴伐利亞算法,下推自動機,都屬于方式語言與自動機部份;
可估算內容:圖靈機,確定性圖靈機,非確定性圖靈機,丘奇-圖靈命題,可斷定性,可估算性等問題;
估算復雜性內容:時間復雜性,模型間的時間復雜性關系,PrmPP類,NPrmNPNP類;
二、計算問題的有效性
可估算性包含可斷定性,可斷定性包含有效性;
可估算性>可斷定性>有效性;
估算問題對應的算法中,有些算法是有效的,有些算法是無效的,
如:窮舉算法,蠻力搜索之類的算法,沒有有效性可言,肯定不是有效算法;貪心算法,歐幾里得算法是有效算法;
這兒希望可以分辨有效算法與無效算法;
在上一篇博客【計算理論】計算復雜性(方程等價|P類|丘奇-圖靈論題延展)中給出了有效算法的嚴格的物理定義;
有效算法:就是在方程時間內,可以執行完畢,得到一個確定的結果的算法;
三、語言與算法模型
語言與算法模型:
①正則語言(自動機):Lr=L(a?b?)rmL_r=L(a^*b^*)L
=L(a
?
?
),該語言是正則表達式語言;rrmrr下標涵義是正則;
正則語言參考:【計算理論】正則語言(正則表達式原子定義|正則表達式遞歸定義|正則表達式語言原子定義|正則表達式語言結構歸納|正則表達式語言示例|依據正則表達式構造自動機)
②上下文無關語言(下推自動機):LCFL={anbn:n≥0}rmL_{CFL}={a^nb^n:ngeq0}L
CFL
={a
:n≥0},該語言不是正則表達式語言,是上下文無關語言;下標CFLrm涵義是-Free,上下文無關句型;
上下文無關句型參考:【計算理論】上下文無關句型(句型組成|規則|句型|句型示例|約定的縮寫方式|句型剖析樹)
③可判斷語言(判斷機):Ld={anbncn:n≥0}rmL_7zrxk3prr3x={a^nb^nc^n:ngeq0}L
={a
:n≥0},該語言不是上下文無關語言,是可判斷語言;下標drmdd含意是可判斷;
可判斷語言參考:【計算理論】可判斷性(丘奇-圖靈論題|可判斷性引入|圖靈機語言|圖靈機結果|判斷機|部份函數與全部函數|可判斷性定義)
④可估算語言(圖靈機):LTr=ATMrmL_{Tr}=A_{TM}L
Tr
=A
TM
,該語言是可估算的,不是圖靈可判斷的;下標TrrmTrTr含意是-(圖靈機可辨識)即可估算的;
⑤不可估算語言(沒有對應算法模型):LnTr=A ̄TMrmL_{nTr}={A}_{TM}L
nTr
TM
,圖靈機不辨識語言,不可估算語言;
參考博客:【計算理論】可判斷性(通用圖靈機和停機問題|可判斷性與可估算性|語言與算法模型)
四、可估算性與可判斷性
可判斷性與可估算性
①可判斷性():估算模型是圖靈機中的判斷機;
②可估算性(-圖靈機可接受的):估算模型是圖靈機;
可估算性包含可判斷性;
可估算性與可判斷性之間的互相關系:
補集可估算:假如一個語言的補集()是可估算的(-),這么稱該語言是補集可估算的(co--);
判斷=可估算+補集可估算:假如一個語言是可判斷的(),這么這個語言是可估算的(-),同時這個語言又是補集是可估算的(co--);
可估算:-
補集可估算:co--
之前提到過通用圖靈機語言ATMrmA_{TM}A
TM
是可估算的,對應的估算模型是圖靈機,但ATMrmA_{TM}A
TM
是不可判斷的;
可判斷=可估算+補集可估算
通用圖靈機語言ATMrmA_{TM}A
TM
是不可判斷的,可估算的,其補集肯定是不可估算的;
參考博客:【計算理論】可判斷性(通用圖靈機和停機問題|可判斷性與可估算性|語言與算法模型)
五、可判斷性與有效性
可判斷性與有效性:
①可判斷性():估算模型是圖靈機中的判斷機;
②有效性:在方程時間內,可以執行完畢,得到一個確定的結果的算法;
六、語言分類
語言分類:
①可估算語言:下推自動機等價問題算法EQPDArmEQ_{PDA}EQ
PDA
,通用圖靈機語言ATMrmA_{TM}A
TM
②可判斷語言:無效算法語言巴伐利亞算法,有效算法語言;
③無效算法語言:蠻力窮舉算法;
④有效算法語言:正則表達式,上下文無關語言,動態規劃算法,貪心算法;
右圖中,分為可估算,可判斷,無效算法,有效算法;
①可估算:黑色部份之外的是可估算語言,對應的估算模型是圖靈機;
②可判斷:黑色圓框之內的是可判斷語言,對應的估算模型是判斷機;
③無效算法:黑色圓框與藍色圓框之間的是無效算法,蠻力窮舉算法;
④有效算法:紅框內的算法是有效算法,可以在方程時間內得到一個結果;