图灵机简介
今天計(jì)算機(jī)病毒課上老師給我們介紹了一下圖靈機(jī)。以前一直有聽說過圖靈機(jī),今天簡單地了解了一下圖靈機(jī),寫下一些學(xué)習(xí)過程中的收獲。
圖靈機(jī)是由圖靈大神由1936年提出的一種確定的抽象計(jì)算模型,據(jù)說它可以被看做是終極強(qiáng)大的邏輯機(jī)器。
圖靈的基本思想是用機(jī)器來模擬人們用紙筆進(jìn)行數(shù)學(xué)運(yùn)算的過程,他把這樣的過程看作下列兩種簡單的動(dòng)作:
? 在紙上寫上或擦除某個(gè)符號(hào);
? 把注意力從紙的一個(gè)位置移動(dòng)到另一個(gè)位置;
而在每個(gè)階段,人要決定下一步的動(dòng)作,依賴于(a)此人當(dāng)前所關(guān)注的紙上某個(gè)位置的符號(hào)和(b)此人當(dāng)前思維的狀態(tài)。
為了模擬人的這種運(yùn)算過程,圖靈構(gòu)造出一臺(tái)假想的機(jī)器,該機(jī)器由以下幾個(gè)部分組成:
一個(gè)讀寫頭HEAD。該讀寫頭可以在紙帶上左右移動(dòng),它能讀出當(dāng)前所指的格子上的符號(hào),并能改變當(dāng)前格子上的符號(hào)。
一套控制規(guī)則TABLE。它根據(jù)當(dāng)前機(jī)器所處的狀態(tài)以及當(dāng)前讀寫頭所指的格子上的符號(hào)來確定讀寫頭下一步的動(dòng)作,并改變狀態(tài)寄存器的值,令機(jī)器進(jìn)入一個(gè)新的狀態(tài)。
一個(gè)狀態(tài)寄存器。它用來保存圖靈機(jī)當(dāng)前所處的狀態(tài)。圖靈機(jī)的所有可能狀態(tài)的數(shù)目是有限的,并且有一個(gè)特殊的狀態(tài),稱為停機(jī)狀態(tài)。
注意這個(gè)機(jī)器的每一部分都是有限的,但它有一個(gè)潛在的無限長的紙帶,因此這種機(jī)器只是一個(gè)理想的設(shè)備。圖靈認(rèn)為這樣的一臺(tái)機(jī)器就能模擬人類所能進(jìn)行的任何計(jì)算過程。
在最初的設(shè)計(jì)中圖靈機(jī)中是采用一種帶(tape)的東西作為臨時(shí)存儲(chǔ),這種帶子無限長。帶可以被劃分成一個(gè)個(gè)的單元,每個(gè)單位只包含一個(gè)符號(hào)。帶子的各個(gè)單位可以被讀寫頭讀寫,這個(gè)讀寫頭可以在帶子上左右移動(dòng),但是每次只能讀寫一個(gè)符號(hào)。
我們可以把這個(gè)帶子和讀寫頭的關(guān)系跟初中使用過的復(fù)讀機(jī)的磁帶、磁頭想類比。一般它直觀看起來像是這個(gè)樣子:
表示當(dāng)前狀態(tài)為q0,讀寫頭的字符為a時(shí),狀態(tài)轉(zhuǎn)移的時(shí)候會(huì)把這個(gè)讀寫頭所指的字符改為b,然后讀寫頭先左移動(dòng)一個(gè)單位,狀態(tài)由q0變成q1.
通常圖靈機(jī)以一個(gè)給定的初始狀態(tài)和帶上的信息開始,然后在狀態(tài)函數(shù)的指導(dǎo)下由一個(gè)狀態(tài)轉(zhuǎn)移到另外一個(gè)狀態(tài)。最后圖靈機(jī)將處于停機(jī)(halt state)狀態(tài)。當(dāng)圖靈機(jī)到達(dá)一個(gè)狀態(tài)函數(shù)沒有定義的輸入時(shí),圖靈機(jī)將會(huì)停止。另外,我們假定對(duì)于任意的狀態(tài)都沒有定義其轉(zhuǎn)移函數(shù),圖靈機(jī)到達(dá)狀態(tài)的時(shí)候都會(huì)停機(jī)。
圖靈論題:
任何在算法上可計(jì)算的問題同樣可由圖靈機(jī)計(jì)算;
任何無法由圖靈機(jī)計(jì)算的問題都不可能找到解決的算法。
總結(jié)
- 上一篇: 松尾环 matlab,猝发式直扩信号
- 下一篇: App项目设计开发完整流程