Saturday, December 25, 2010

電腦是不是什麼也可以算出來?

(轉載自CUP magazine 2010年5月號)


            我們問「未來的電腦能否做到什麼也可以運算出來」有何深層意義?答案很明顯,能知過去未來永遠是人類的夢想。二十一世紀我們應用先進電腦,過去了的,今天已愈來愈多累積在網絡雲端,而未來的呢?媒體不時報導什麼超級電腦面世,全球的天氣預報準確多了,我們便渴望用電腦預測股市起跌,算我們每天的運程,升職加薪,姻緣桃花……人類的追求愈來愈多,挾超級電腦,便像有恃無恐,以為有天一日我們可以預測未來,就算不是一切,一部份也是好的。
            人定勝天?抑是人類不自量力,天定勝人?這些從來都是宗教和哲學上爭論不休的命題。但在香港連六合彩也有人以為可以計算出來的今天,有多少人知道電腦背後的「運算」(Computation)是什麼?繼續肆意把電腦神化下去!
            說到「運算」,今天我們只會聯想到spreadsheet、打單、和電郵文字處理上。其實以前「運算」的意義和現今的很不同,比較廣泛得多。以前的「運算」,不一定侷限於用在計算機上,例如生物學文獻中有Computation on cells and tissues,醫學上有Immune System Computation,和經濟學上有Distributed
Computation in Markets等。
            先說什麼是「運算」。「運算」最基本的定義就是處理一些訊息(information)。而說到訊息,不得不提到匈牙利神童諾依曼(John von Neumann)。諾依曼1903年在布達佩斯誕生,1926年取得布達佩斯大學數學博士,1931年成為美國普林斯頓大學第一批終身教授;和另一英國神童圖靈(Alan Turing),圖靈1912年在倫敦誕生,1931年進入劍橋大學,畢業後到美國普林斯頓大學攻讀博士。第次世界大爆發後回到劍橋,協助軍方破解德國的著名密碼系統Enigma,幫助盟軍取得了二戰勝利。
            他們兩人為催生現代電腦最重要的人物,被譽為計算機之父,他們同期的共通理念是想尋求一個在生物和科技界別上也能共用的信息處理通論(general theory of information processing)。
            諾依曼的貢獻,是把把一條信息(information)同時內存了數據(data)和指令(instruction),這是影響至今電腦概念最大的一個突破。我們現代的商用電腦依然叫Von Neumann Computers1946年,在賓夕凡尼亞州大學由John Mauchy J. Presper Eckert 設計出來世上第一台電腦雛型ENIAC,當時還沒有stored-program的概念。1949年,在英國劍橋大學由Maurice Wilkes領導、設計和製造的EDSACElectronic Delay Storage Automatic Calculator),採用了諾依曼加的延遲存儲概念,成為第一台Von Neumann結構電腦。我們現代的商用電腦依然叫Von Neumann Computers
            解釋stored-program概念亦非常簡單,其實這功能我們人腦早已俱備。舉例說我們每天吩咐菲傭「送子女上學」、然後「到街市買星期一的餸」、馬上「回家打掃」……等「指令」,菲傭先要有完善的stored-program腦袋,才能稍後(Delayed)逐一執行程序,若然偶有失誤,我們便說菲傭absent-minded。諾依曼就是提出這概念,用當時的真空管,模仿我們的腦儲存和執行功能,而且一經stored,絕不會absent-minded
            今天我們用的是超快專用集成電路(ASIC)製造電腦,目的也是一樣,用stored-program和執行程序,處理訊息,但是面對龐大得超乎想象的系統,當中的實時互動(Real-time Interactiveness)錯中複雜,就如一些complex systems包括腦神經元(Neuron)和全球經濟的群體行為等,指令和程序本身已是一個巨網,甚至有些指令不停衍生指令,程序内存思想,我們便措手無策,這就是未來的電腦能否做到「什麼也可以運算出來」的關鍵!
            另外,74年前,與諾依曼同期,圖靈的偉大構想圖靈機(Turing Machine)亦是針對這問題。圖靈機不是一副實實在在的機器,圖靈只是在紙上構思了一副抽象機器運作時要服從的一些簡單規則,來闡釋一個數學和哲學概念。雖然日後有很多工程師製造出不同形狀現實的Turing Machine來證明圖靈的理論,但因這機器只是一個抽象概念,在現實中存不存在關係不大。而最重要的是,這抽象機器的四大組件:磁帶(Tape)、寫讀頭(Read/Write Head)、狀態寄存器(State Storage)和控制規則(Table),正是為現代計算機邏輯工作方式奠定了基礎。
            當時圖靈構想圖靈機時,他目的是想證明數學上任何Statement能否在有限的思考過程中判斷到是真是假。這便是1928年德國數學家David Hilbert提出著名的判定性問題(Entscheidungsproblem)。圖靈機的設計是不受空間和時間的限制(即是就算用上無限大記憶和不要理會速度可永久用下去的電腦),但依然遇到要停下來的狀態(Halting-Problem)。及後他再構想了無限多副圖靈機(Universal Turing MachinesUTM)的概念,再證明uncomputable的可能性−−有些東西是運算不到的。
            然而,今天,我們依然對「運算」有無限的要求。放在現今統稱為ComplexityComplex Systems這最尖端,可能還未正式成為科學的領域中,就是反過來研究大自然的一些複雜但具適應性的系統例如我們的腦神經元(Neuron)、免疫系統、細胞、昆蟲、全球經濟的群體行為和生物進化過程等,從中找尋那些非常奇怪的數據、訊號和指令,甚至它們有沒有指令!去了解以上生物和環境系統的「運算」,
            這些都是謎。什麼時候才能揭開?我們不知道。只知道的是,隱藏在背後的「運算」,很可能就是革新一代電腦的藍圖,將來用這些「更organic的東西」,才可什麼也可以「運算」出來吧!。

結語:天妒神童
            1954Von Neumann發現患癌,有說是因他做實驗時受到幅射導致,三年後54歲時去世。
            Turing自認是同性戀者,195242歲時在英國入獄,誤傳獄中他用山埃滲進一個蘋果,咬了一口自殺死。現今很多人誤以為蘋果電腦公司的logo是紀念他的。2009910日,英國首相白高敦正式代表英國政府向Turing作公開道歉。(完)

No comments:

Post a Comment