計算科學的根本問題:什麼能被有效地自動化,即物件的能行性問題(轉)
阿新 • • 發佈:2019-01-30
計算科學的根本問題
http://bbs.xml.org.cn/dispbbs.asp?boardID=64&ID=50970
科學問題是指一定時代的科學認識主體(人),在已完成的科學知識和科學實踐的基礎上,提出的需要解決並且有可能解決的問題。它包括一定的求解目標和解域,但是尚無確定的答案。人類科學進步的歷史,就是一個不斷提出科學問題又不斷解決科學問題的歷史。
並非關於科學的任何問題都能稱為科學問題。科學問題的主要特徵包括:
l時代性,任何一個科學問題都具有它的時代特徵。
l混沌性,科學問題的提出,表明已有知識已經難以滿足人們探索世界的需要,人們渴望新知識的追求,但是,開始的時候是模糊不清的。
l可解決性:科學問題必須是有可能被解決的。
l可變異性:如果一個問題能引出另外的具有可解決性的科學問題,則原問題仍然是科學問題。
l可待解性:科學問題是尚未解決的問題。
計算科學的根本問題,是計算學科領域最為本質的科學問題,具有統率全域性的作用。要認識什麼是計算科學的根本問題,就必須分析人們對於“計算”的本質的認識過程。[K1]
很早以前,我國古代學者就認為,對於一個數學問題,只有當確定了其可用算盤解算它的規則時,該問題才是可解的。這已經體現了演算法化思想,已經包含著我國古代學者對計算的根本問題,即“能行性”問題的樸素的理解。
到了中世紀,哲學家提出一個大膽的問題:能否用機械來實現人腦活動的個別功能 [K2]。這直接導致了後來能進行簡單數學運算的機械計算機器的發明和製造。包括,
l1641年,法國人B.Pascal利用齒輪技術製成第一臺加法機;
l1673年德國人G.W.V.Leibniz在Pascal的基礎上製造出能進行簡單四則運算的計算機器。
l19世紀30年代,英國人C.Babbage設計了用於計算對數、三角等算術函式的分析機。
l20世紀20年代,美國人V.Bush研製了能解一般微分方程組的電子模擬計算機。
這一計算的歷史,包含著人們對計算過程的本質和計算的根本問題的探索。
然而,是形式化方法和理論研究計算本質認識取得了突破性進展。的發展,最終促使人們對
形式化方法和理論的研究起源於對數學的基礎研究 。數學的基礎研究是指對數學的物件、性質及其發生、發展的一般規律進行科學研究。其中有四個重要的標誌性工作。
第一個是德國數學家G.Cantor在1874年提出的集合論,成為近代數學的基礎。
第二個是1901年B.Russel在集合論基礎上提出的羅素悖論,直接導致了數學發展歷史上的第三次危機。羅素悖論的形式化定義是S={x|x不屬於S}。
為了消除悖論,挽救數學大廈的基礎,數學基礎研究逐步形成了邏輯主義、直覺主義和形式主義三大流派。20世紀初,形式主義流派的代表人物、大數學家D.Hilbert提出了著名的“希爾伯特綱領”,成為第三個標誌性工作。希爾伯特綱領提出:將每一門數學分支形式化,構成形式系統,並以這些形式化了的分支為物件,構建數學的元理論,證明每一個形式系統的相容性,從而匯出全部數學的相容性。希爾伯特綱領的實質是要尋找通用的形式化邏輯系統,且該系統應當是完備的,即在該系統中,可以機械的判定任何給定命題的真偽。希爾伯特綱領的基礎是邏輯和代數,源於19世紀英國數學家G.Boole創立的布林代數體系。
不幸的是,1931年,奧地利年僅25歲的數學家哥德爾(K.Godel)證明了關於形式系統的“不完備性定理”,宣告了希爾伯特綱領的失敗。這也是數學基礎研究中的第四個標誌性工作。哥德爾不完備性定理指出,不存在希爾伯特所希望的完備的形式系統,任何形式系統都是不完備的,都不能窮盡全部數學命題,任何形式系統都存在著該系統不能判斷其真偽的命題,即任何形式系統中,都存在著不可解的問題。
希爾伯特綱領雖然失敗了,但是它和哥德爾不完備性定理一起,促進了人們對於計算科學的本質問題的認識。例如,它啟發電腦科學家應當避免花費精力去證明那些不能判定的問題,而應把精力集中到解決具有“能行性”的問題上來。
迄今為止公認的“計算的本質”,最終由圖靈揭示出來的。20世紀30年代後期,數學家圖靈(A.M.Turning)通過構造理論的圖靈機,形式化的闡述了計算的本質,這個本質用自然語言描述為:任何計算,在本質上都可以還原為計算者(人或者機器)對一條兩端可無限延長的紙帶上的一串0、1進行變換、最終得到一個滿足預先規定的符號串的變換過程。圖靈的研究成果,是對哥德爾研究成果的深化。該成果表明,存在一些問題,是不能用任何機械過程解決的,即存在一些問題,是圖靈機無解的。由於任何數值和非數值(字母、符號等)物件都可以編碼成字串,它們既可以被解釋成資料,又可以被解釋成指令,因此,任何計算的過程本身也都可以被編碼,並存放在儲存器中。
[K3]
圖靈對計算本質的描述,揭示了計算的能行性本質,提出了可計算性的概念。稱一個問題是可計算的,當且僅當它是圖靈可計算的。而一個問題是圖靈可計算的,當且僅當它有圖靈機的能行演算法解。所謂能行演算法解,即它是一個演算法,且能被一臺圖靈機執行並能使該圖靈機停機。任何計算問題最終可歸結為圖靈可計算問題,這便是著名的丘奇-圖靈論題。
有了對計算本質的認識,則可理解計算科學的研究內容和根本問題。
計算科學是對描述和變換資訊的演算法過程進行系統研究的科學領域。它的研究內容包括從演算法、可計算性到根據可計算硬體、軟體的實際實現問題的研究。
計算科學的根本問題是:什麼能被有效地自動化,即物件的能行性問題。
凡是與能行性有關的討論,都是處理離散物件的。因為連續物件很難進行能行(自動化)處理[K4]。因此,“能行性”,這一計算科學的根本問題決定了計算機本身的結構和它處理的物件都是離散的。連續物件必須經過離散化後,才能被計算機處理。可以更為直接的說,計算科學的所有分支領域的根本任務就是“計算”,實質就是字串的變換。
[K5]
數學是科學之母,電腦科學更是從離散數學發展來的,CS主要研究的是形式化的演算法。因為形式演算法保證了計算機的能行性[K6];構造性數學是它的理論基礎,因為計算機演算法都是構造性[K7]的。計算理論是對計算機的本質的抽象描述,它也是理論電腦科學的核心內容;而非數值的組合演算法是計算機的靈魂,也是計算機能應用廣泛的根本保證,(它把世間萬物的邏輯關係做了高度的數學抽象,形成演算法類,程式就是基於這些演算法類的[K8]),所以它是電腦科學的核心內容;相對而言,數值計算方法對CS就次要的多,它更多是科學計算的需要。
[K1]計算科學的根本問題
[K2]大膽的問題
[K3]指令(即操作過程)也可以被編碼!!
[K4]為什麼連續物件很難進行能行(自動化)處理???
[K5]!!!實質是字串變換?!!
[K6]能行性
[K7]構造性是什麼意思?
[K8]