計算機產業未來展望
2011-05-11 15:02 來源:中國自動化學會專家咨詢工作委員會
當器件從小規模集成電路進入中規模集成電路的時候,堅持“main frame主機系統”的公司(包括CDC、王安)紛紛倒閉。“超級小型機”紛紛出現,但只是曇花一現,生命非常短暫,因為中規模集成電路已迅速被大規模集成電路所取代。只有迅速轉入PC機(軟件、硬件)的IBM不僅沒有倒閉,而且還迅速發展。
任何硬件、軟件都有生命周期。任何公司要不斷發展,必須不斷有符合客觀發展規律的新產品誕生。
網絡安全
當前解決網絡安全的方法主要依靠法律、管理、鑒別認證技術、加密技術和隔離技術等5個方面。這里的管理,不僅包括人事管理,而且包括網絡管理和計算機系統的管理(操作系統、運行日記、黑盒子等)。歷史事實說明,這些措施是相對的。所以,網絡安全的研究也是長期的。
任何大型軟件系統都難免有漏洞,操作系統也不例外。鑒別認證技術和加密技術是相對的。前者指對具有不變性的特征,如指紋、眼紋等進行識別;對于后者,目前流行有效的方法是利用計算函數和反函數嚴重不對稱的鑰對系統及其派生的數字簽名和虛擬私人網絡VPN。
令人無可奈何的是,當新的鑒別認證技術和加密技術被發明之后,經過一段時間,又有可能出現新的冒充技術和破譯技術。而且,病毒等非法入侵活體(指一個程序段)也很難鑒別出來,而殺病毒軟件也難于制止新病毒對計算機系統的破壞和盜竊。目前的安全技術產品基本上是軟件技術產品或者軟件固化,或者是建立在通用機上的軟件系統(例如防火墻)。
隔離技術是有效的,但對網絡行為必須而且也只能加以適當限制。簡單的隔離是完全取消網絡功能。對網絡行為加以合理限制的隔離技術是可取的,從計算機系統結構和軟件結合(軟硬結合)的角度來防止病毒的破壞和盜竊值得注意。
網絡巨量信息的查找
網絡是信息的海洋,但你常會碰到的問題是:想要的信息常常是查不到的,你不需要的,卻給你一大堆。核心問題在于:如何實現按內容檢索。這個問題的解決不僅要解決人類的混亂術語、混亂的概念、中小學的一致性教育和術語概念一致化,而且還要解決計算機對自然語言知識層次的理解,以及與目標庫大小無關的高速搜索算法和類似于主體(AGENT)的網絡機器人。
自然語言理解就是對語義的理解。語義有3種不同的層次:語言層次、知識層次和語用層次。
例如,“把這杯水倒入那缸濃硫酸里。”這句話里包含了七個語義單元。
“這<N>”、“杯<N>”、“水”、“那<N>”,以及“缸<N>”、“濃硫酸”、“把<N>倒入<N>里”。其中,N 表示名詞。
如果一個機器人只有語言層次的理解,它就能夠根據“這<N>”找到一個標有“水”的“杯”,再根據“那<N>” 找到一個標有 “濃硫酸”的“缸”,然后執行把“杯”中的“水”倒入標有“濃硫酸”的“缸”里的任務。
如果一個機器人有知識層次的理解,它就不會馬上執行把“杯”中的“水”倒入標有 “濃硫酸”的“缸”里。因為它有知識層次的理解:把水倒入濃硫酸里會發生爆炸。
閑散計算能力的利用
全世界數以億計上網的計算機在多數時間里被閑置或者利用率不高。如果它們被利用起來,不僅是一筆巨大的財富,而且可實現每秒數億億次的神奇的計算能力。這固然十分誘人,但難度也很大。待解決的問題很多,最關鍵問題是雙向安全:如何確保主系統不受客戶的安全干擾,同時又如何確保客戶的計算不受主系統的安全干擾。
不要把上億臺機器閑散計算能力的利用與計算網絡及網絡計算混淆起來。計算網絡實際上在上個世紀80年代初期就提出來了,其目的是讓更多地區更多的人共享計算資源。當今的人們可以用更方便的方式來共享網絡上的計算資源。例如用手機上網計算。網絡計算是分布計算,是一個計算題目在網絡上的分布計算。
自然語言自動翻譯
自然語言自動翻譯的研究歷史已經有半個多世紀了,其社會效益和經濟效益極為可觀, 自然引起人們的重視。而巨大的社會效益和經濟效益的前提是實用,即沒有語無倫次, 沒有正錯混雜, 合乎目標語言的習慣。
目前在廣泛領域范圍內的文字及語音自動翻譯產品,都是部分語無倫次、部分正錯混雜、不合習慣,書面及電話翻譯都無法實用。300億美元人工翻譯市場無法容忍0.1%的錯。平均每頁都有錯!300億美元人工翻譯市場解決20%就有60億美元之巨。
半個世紀以來的主要方法是,基于規則,尚未實用。它可以從很低的水平快速地提高到比較高的水平,但總有一部分不正確。它可以作為很好的工具,但獨立使用則難以實用。實用的翻譯歷史上有整句和句型模式翻譯,缺點是語言覆蓋范圍和語言知識庫之比太小。基于實例能有效提高上述之比,但仍然是近似方法、本質上會夾雜語無倫次、正錯混雜和不合乎目標語言的習慣的成分。
半個世紀沒有做到實用的關鍵原因是:自然語言缺乏精確描述;現有的機器翻譯方法難于實用。任何復雜的點集之間的變換(即翻譯)在幾何基—坐標的精確描述基礎上都十分簡單、容易。基于這個幾何提示,建立自然語言基—坐標,在語義單元(點)組成的語義語言(點集)的機器翻譯方法可能是解決問題的有效途徑。
軟件設計的難題
從本質上說,軟件設計(所有的設計)最核心的5個基本難題是:可靠性、再用、時空群體工作、盡量自動和自然化,其中可靠性為首。
軟件可靠性的核心是軟件的正確性。它包括:已經存在的軟件系統錯誤的發現及排除;新軟件系統的正確、無錯誤的設計。
軟件可靠性還包括:硬件故障可無副作用地恢復能力。硬件偶爾故障或操作錯誤的安全、快速、自動或半自動恢復能力,等等。
軟件可靠性的重要性在于:軟件維護費用遠遠超過開發費用。一個大型軟件即使工作了許多年,仍然有一大堆錯誤,工作不可靠,經常出故障。在某些使用中,軟件不可靠將導致災難性的后果。
庫函數、類庫和構件是常見的再用技術。關鍵是:如果一個待設計的大型軟件,其功能與已經存在的軟件大體相同。例如,只有5%不同,而且不同之處是分散的,那么,新的軟件的設計工作量只是原有的5%、10%、40%,還是更多? 例如,能不能在15%以內?
時空群體工作所提出的問題是:如果數以百計的軟件設計人員共同設計一個大型軟件系統,其中部分人員是流動的,也就是分布在不同的時間段和不同的空間,那么如何有效地組織大的群體來設計大型軟件系統?特別是如何在保持軟件人員的自由創造力的前提下使群體有效地工作。
“軟件工程”致力于解決這個問題,但往往需要犧牲軟件設計人員的創造性。網絡引入主體,研究其協同工作,似乎兜了一大圈,不如直截了當地研究軟件設計的群體工作,這樣成功的機會倒要大些。
盡量自動是不言而喻的。軟件研究工作一開始以其為目標,但實際上并沒有完全做到,正在不斷提高的過程中。
自從引入圖形用戶界面之后,非計算機專業人員的用戶就可以不需要計算機專業知識,而僅僅應用他們的專業知識就可以使用計算機了。這是自然化的第一步,現在已經實現了。
然而,能不能讓不懂計算機或者懂得不多的各種專業人員自己來設計他們的專業軟件呢?當前,這似乎是天方夜譚。很難!但不等于不可能。
人類智能模擬和應用
人工智能的最初目標就是讓計算機模仿人類的智能,幫助人類進行部分創造性的勞動。但是,50年來,沒有任何人造系統(無論是軟件、硬件還是混合)有智能。專家系統是一種編程技術(程序獨立于規則),沒有智能。嚴肅的人工智能學家早已經把人工智能的目標改為:人工智能是專門研究那些人類做得比機器做得好的領域的問題。
例如,人類下棋比機器下得好,那么,機器下棋就是人工智能要研究的領域,等等。如果一個下棋系統,程序不再修改,開始輸給大師,下幾盤后,有輸有贏;再下幾盤,贏的比例越來越高,我們就可以說:這個下棋系統有智能味道。(因為智能是通用能力,而下棋能力不是通用能力。)
西方有一些人工智能學者喜歡操作概念,極力模糊智能的原本含義。他們把20世紀50年代為控制系統提出的十分有效的仿生算法——遺傳算法,操作成為一種智能。把生物進化模擬(有意義的研究)說成是人工智能內容,甚至用人類社會某些關系映射到網絡產生的(有用)概念來取代智能,模糊智能的本來面貌。這都是不恰當的。
計算機幫助人類進行某些創造性勞動,其社會效益和經濟效益極大,是劃時代的進步。所以,遲早還會再提到人類的議事日程上來。不過,先要解決其理論基礎,還要考慮其技術前提。
計算科學也是產業
計算科學將與理論科學和實驗科學擁有同等的重要性。在20世紀后期,計算流體力學、計算化學、計算物理學已經十分成熟。當今的生物信息學其計算量遠遠超過以往的各種計算科學。比起預測未來的智能領域的計算,有過之而無不及。20世紀70年代初期,錢學森院士提出過當時計算流體力學的計算要求:浮點64位以上的1萬億字存儲容量,每秒1萬億次計算速度。其計算速度的需求,現在似乎要讓位給生物信息學了。當今的生物信息學,其計算量遠遠超過以往的各種計算科學。而且這僅僅是一個開始,因為人們還不知道信息是如何控制細胞的發育的。
當今的計算,不僅僅是一門科學,也是一個大產業。