讀古今文學網 > 人工智能的進化 > 一切都源自圖靈機 >

一切都源自圖靈機

「計算」這個概念雖然易於識別,卻難以定義。有一種說法認為,計算就是計算機所做的工作。但是,人類也可以進行計算的工作(事實上,圖靈提到的「電腦」指的是人,而不是機器),並且計算機所做的也並不都是計算工作(如發送電子郵件和打印文件)。

當某人做減法時,比如從千位上減1、百位上加10,我們認為這是一種計算。但當我們看到一輛汽車撞翻了一張桌子時,我們卻並不認為這是計算。

大致來講,當過程中涉及步驟或序列,且該步驟或序列被限制在一定範圍內時,我們就認定其為計算。兩個數字間的減法是逐列進行的;列數越多,計算過程便越長。我們不妨將汽車撞翻桌子時的能量轉移想像成一個整體的變化。我們無須考慮桌子最遠端對於汽車碰撞的瞬間反應,這畢竟要取決於桌子的大小。

(但這只是大體上正確。我們不難想到,現代計算機能夠同時處理大量的數據計算。我們能夠對物理過程進行電腦模擬計算,以確定汽車撞翻桌子的瞬間動能是如何轉化和分解的,然後再重新集合在一起。)其實,我們不必糾結於如何給「計算」下定義,只需要選取一個實例,建立一個具體的模型,分析其屬性,然後再決定該定義是否完善就可以了。這樣做更有實際意義。

這正是圖靈所要做的。他想證明:有的數字可以精確計算,但是計算的過程不單涉及機械化計算。這與有些數學家的想法截然相反。為了證明該想法,他需要清楚地瞭解機械化地計算數字有何意義。這也是他當時提出「圖靈機」的初衷。

在圖靈的敘述中,我們瞭解到:在數字函數中,只有一部分函數是使用數字符號進行本地化操作的結果。

他的想法如下:為了簡單起見,我們設想一個正整數,用二進制寫法記於磁帶上。我們將此作為輸入量。圖靈機正常運轉,它可以隨時讀取二進制數據,也可用其他數據覆蓋原內容。磁帶頭的轉動、數據讀寫等一切行為,都是由事先設置好的機器程序決定的。如果圖靈機停止運轉,磁帶上的最後一串二進制數字即為輸出量。如果圖靈機能夠將二進制數字x作為輸入量,且輸出量為二進制函數F(x),那麼從數字到數字的函數F就被稱為「圖靈機可計算的函數」。

有一點從一開始就很明確,在定義圖靈機的過程中,二進制數字是隨機選擇的。我們設想該機器所使用的符號都選自有限的字母表,但實際上,我們討論的是從一串符號(輸入量)到另一串符號(輸出量)的映射,二進制數字計算不過是一個有用的特例而已。

既然我們想證明計算與數字沒有必然聯繫,那麼上述想法很有意義。即便圖靈機中出現的符號確實有象徵意義,它本身也無法猜測符號代表的含義。(許多人更願意相信,只有當我們意有所指時,才會用到「符號」一詞。符號總是有象徵意義的。也許在此我們應該使用一個比較中性的詞語——「字符」。不過意思並沒有變。「符號」一詞的應用範圍越廣,我們在這裡所做的討論就越有意義。)

儘管只包含兩個符號的字母表在機械術語中很受歡迎,但是此處它並不是一個必要條件。我們可以以一些物理特徵為例,比如:燈或明或暗,開關或開或關,電壓或高或低。我們也沒有必要限制符號必須按照線性排列。我們書寫數字時會按照數位大小的順序,但是方程式系統可能會按照二維數組排列符號。當然,二維的符號結構還有許多其他形式。

例如,數字圖像是由像素組成的二維符號陣列。其中,每個像素均代表圖像在二維圖格中的一部分。簡單地講,每一個像素就是一位,代表該處圖像的明暗,如圖8–1左側所示的數字「7」的圖像(0顯示為空白,1顯示為@)。這種同一場景下的粗糙圖像與真實圖像的唯一區別就是像素位數的多少:高分辨率圖像中使用的像素位數更多(如圖8–1中所示的另外兩個圖像),能夠更好地呈現原圖的明暗與色彩。(一張高分辨率圖像可能包含數百萬位像素。)

圖8–1 同一簡單圖像在3種分辨率下的表現

數字視頻的原理也類似,它是由三維像素陣列組成的。其中,第三維度指的是時間。在這種情況下,一位像素代表了在某個時間間隔(時間被劃分為一維網格的形式)的二維網格。

所有這些符號最終都可以被編碼為線性序列,並由圖靈機進行處理。比如,數字的二維數組可以逐行列於磁帶上,此時每個數字所在的位置就是一位。處理這種二維數組對於圖靈機來說,並不是難事。

我們不禁要問:為何理論家們對圖靈機的興趣經久不衰?難道現代化計算機始終沒有超越那個僅有一個活動頭腦的機器的視野?答案很簡單:迄今為止,我們發明的每一種數字計算機都可以算作是圖靈機的一個分支。無論這台機器能做什麼,圖靈機都能夠做到這一點。或者更為準確地說,現代計算機有關字符串的任何功能,圖靈機也都能完成相應的計算。大多數科學家認為,不管我們以後研製出什麼樣的計算機,都會是同樣的情形。(至於如「模擬計算機」和「量子計算機」等其他計算設備則不能完全算是圖靈機的分支。模擬計算機由於在計算的準確性上未能突破局限,所以難以廣泛投入使用;量子計算機則可視為圖靈機的一個分支,在處理某些特定任務時派上用場。)

總而言之,我們在此所討論的符號並不是用來通信交流的。它們充當的是我們計算的核心。沒有符號,便沒有數字計算。符號也許代表某個數字,也許代表某個事物。如果符號真的代表了什麼,那麼它們的意義取決於符號之間的位置排列。

[1] 本書中提到的各年級所學課程都指美國範圍內。——編者注