AI数学基础之:确定图灵机和非确定图灵机
文章目錄
- 簡(jiǎn)介
- 圖靈機(jī)
- 圖靈機(jī)的缺點(diǎn)
- 等效圖靈機(jī)
- 確定圖靈機(jī)
- 非確定圖靈機(jī)
簡(jiǎn)介
圖靈機(jī)是由艾倫·麥席森·圖靈在1936年描述的一種抽象機(jī)器,它是人們使用紙筆進(jìn)行數(shù)學(xué)運(yùn)算的過(guò)程的抽象,它肯定了計(jì)算機(jī)實(shí)現(xiàn)的可能性,并給出了計(jì)算機(jī)應(yīng)有的主要架構(gòu),引入了讀寫(xiě)與算法與程序語(yǔ)言的概念為現(xiàn)代計(jì)算機(jī)的發(fā)明打下了基礎(chǔ)。
本文將會(huì)講解一下圖靈機(jī)中的兩種類型:確定圖靈機(jī)和非確定圖靈機(jī)。
圖靈機(jī)
圖靈機(jī)是一種數(shù)學(xué)計(jì)算模型,它定義了一個(gè)抽象機(jī)器,該抽象機(jī)器根據(jù)規(guī)則表來(lái)操縱帶子上的符號(hào)。盡管該模型很簡(jiǎn)單,但是在任何給定計(jì)算機(jī)算法的情況下,都可以構(gòu)建出模擬該算法邏輯的圖靈機(jī)。
簡(jiǎn)單點(diǎn)說(shuō),圖靈機(jī)就是一個(gè)模擬算法運(yùn)行的抽象機(jī)器。它是這樣定義的:
可以看到整個(gè)圖靈機(jī)基本上模擬了程序的執(zhí)行步驟。
圖靈機(jī)雖然可以表示任意的計(jì)算程序,但是因?yàn)槠錁O其簡(jiǎn)單的設(shè)計(jì)實(shí)際上并不適合進(jìn)行計(jì)算,所以現(xiàn)實(shí)世界的現(xiàn)代計(jì)算機(jī)都是對(duì)圖靈機(jī)的優(yōu)化設(shè)計(jì)。
圖靈完備性是指指令系統(tǒng)模擬圖靈機(jī)的能力。從理論上講,圖靈完整的一種編程語(yǔ)言可以表達(dá)計(jì)算機(jī)可以完成的所有任務(wù)。如果忽略有限內(nèi)存的限制,幾乎所有編程語(yǔ)言都是圖靈完備的。
圖靈機(jī)的缺點(diǎn)
雖然圖靈機(jī)可以表示任何計(jì)算任務(wù),但是圖靈機(jī)太過(guò)于簡(jiǎn)單了,在某些復(fù)雜的模型中無(wú)法很好的進(jìn)行使用。比如在現(xiàn)代計(jì)算機(jī)中的RASP隨機(jī)存儲(chǔ)模型,因?yàn)镽ASP可以在寄存器中引用其他的寄存器,所以可以基于內(nèi)存索引進(jìn)行優(yōu)化,這種優(yōu)化是在圖靈機(jī)中無(wú)法實(shí)現(xiàn)的。
圖靈機(jī)的另一個(gè)限制是它們不能很好地進(jìn)行并發(fā)建模。另外,因?yàn)樵谠缙诘臅r(shí)候,計(jì)算機(jī)的使用通常僅限于批處理,即非交互式任務(wù),每個(gè)任務(wù)都從給定的輸入數(shù)據(jù)中產(chǎn)生輸出數(shù)據(jù)。 所以圖靈機(jī)在描述現(xiàn)代交互式應(yīng)用也有一些限制。
等效圖靈機(jī)
因?yàn)閳D靈機(jī)是一種假想的設(shè)備,它為計(jì)算機(jī)算法的概念提供了理論基礎(chǔ)。并且因?yàn)閳D靈機(jī)模型比較簡(jiǎn)單,對(duì)于復(fù)雜問(wèn)題的描述比較弱,所以出現(xiàn)了很多圖靈機(jī)的等效模型,雖然這些模型并不一定比圖靈機(jī)強(qiáng)大,但是這些模型是真正存在的,并且使用他們可以更加容易的解決特定問(wèn)題。
確定圖靈機(jī)
在確定性圖靈機(jī)(DTM)中,其控制規(guī)則規(guī)定了在任何給定情況下最多只能執(zhí)行一個(gè)動(dòng)作。
確定性圖靈機(jī)具有轉(zhuǎn)換功能,對(duì)于磁帶頭下的給定狀態(tài)和符號(hào),該轉(zhuǎn)換功能指定了三件事:
要寫(xiě)入磁帶的符號(hào),頭部應(yīng)移動(dòng)的方向(向左,向右或都不向),以及有限控制的后續(xù)狀態(tài)。
例如,狀態(tài)3的磁帶上的X可能會(huì)使DTM在磁帶上寫(xiě)Y,將磁頭向右移動(dòng)一個(gè)位置,然后切換到狀態(tài)5。
非確定圖靈機(jī)
在理論計(jì)算機(jī)科學(xué)中,非確定性圖靈機(jī)(NTM)是一種理論計(jì)算模型,其控制規(guī)則在某些給定情況下指定了多個(gè)可能的動(dòng)作。 也就是說(shuō),NTM的下一個(gè)狀態(tài)不是完全由其動(dòng)作和它所看到的當(dāng)前符號(hào)決定的(不同于確定性圖靈機(jī))。
例如,狀態(tài)3的磁帶上的X可能允許NTM:
輸入Y,向右移動(dòng),然后切換到狀態(tài)5或者寫(xiě)一個(gè)X,向左移動(dòng),并停留在狀態(tài)3。
那么問(wèn)題來(lái)了,對(duì)于非確定圖靈機(jī)來(lái)說(shuō)是怎么進(jìn)行下一步的選擇的呢?實(shí)際上NTM足夠幸運(yùn),它總是會(huì)選擇那個(gè)能夠最終指向接受狀態(tài)的那一步。
你可以把NTM的諸多分支看成是許多副本,每個(gè)副本遵循一個(gè)可能的轉(zhuǎn)換。 DTM遵循的是單個(gè)“計(jì)算路徑”,而NTM則是“計(jì)算樹(shù)”。 如果樹(shù)中至少有一個(gè)分支導(dǎo)致接受狀態(tài),那么NTM就會(huì)接受這個(gè)輸入狀態(tài)。
我們看下兩者的決策圖:
確定圖靈機(jī)和非確定圖靈機(jī) 兩者在計(jì)算上是等效的,也就是說(shuō),盡管它們通常具有不同的運(yùn)行時(shí),但可以將任何NDTM轉(zhuǎn)換為DTM(反之亦然)。 這可以通過(guò)構(gòu)造來(lái)證明。
本文已收錄于 http://www.flydean.com/03-turing-machine/
最通俗的解讀,最深刻的干貨,最簡(jiǎn)潔的教程,眾多你不知道的小技巧等你來(lái)發(fā)現(xiàn)!
歡迎關(guān)注我的公眾號(hào):「程序那些事」,懂技術(shù),更懂你!
總結(jié)
以上是生活随笔為你收集整理的AI数学基础之:确定图灵机和非确定图灵机的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: maven中心仓库OSSRH使用简介
- 下一篇: 坦克大战 - 设计模式、BIO、NIO、