戴相承
摘 要:數(shù)學(xué)和計算機的關(guān)系非常密切。一直到二三十年以前,計算機科學(xué)本身還是數(shù)學(xué)學(xué)科的一個分支,最早研究計算機的專家也都是數(shù)學(xué)家。在計算機進行運算的基本原理中,處處滲透著數(shù)學(xué)的各種思想。而現(xiàn)在,計算機科學(xué)已經(jīng)深受人們的關(guān)注,成為了一個獨立的學(xué)術(shù)領(lǐng)域,這之間離不開數(shù)學(xué)理論的推動;反之,從數(shù)學(xué)的發(fā)展來看,不僅可以利用計算機解決大量人工無法實現(xiàn)的巨量計算問題,很多難以證明的定理還可以通過計算機完成證明;程序,作為數(shù)學(xué)與計算機之間的一座重要橋梁,在數(shù)學(xué)的發(fā)展,計算機的應(yīng)用方面起著雙重的推動作用。本文從數(shù)學(xué)原理與計算機技術(shù)的關(guān)系展開討論。
關(guān)鍵詞: 計算機科學(xué) 數(shù)學(xué) 基礎(chǔ)作用
一、數(shù)學(xué)是計算機技術(shù)的基礎(chǔ)
數(shù)學(xué)是一門基礎(chǔ)理論學(xué)科,數(shù)學(xué)在科學(xué)研究中的作用眾所周知,甚至被稱為“科學(xué)的皇后”。數(shù)學(xué)是所有學(xué)科的基礎(chǔ),統(tǒng)治著所有涉及到量的世界。每個想要搞理科研究的學(xué)者都必須有良好的數(shù)學(xué)基礎(chǔ)。在計算機發(fā)明之前,數(shù)學(xué)的發(fā)展是靠無數(shù)科學(xué)家們代代相傳的努力換來的。有了計算機,數(shù)學(xué)的發(fā)展的確變得更快更好。但是,具體地說,計算機技術(shù)是如何推動數(shù)學(xué)學(xué)科的發(fā)展的?數(shù)學(xué)作為計算機技術(shù)的基礎(chǔ)又體現(xiàn)在哪些方面,下面從兩者之間的相互影響展開討論。
1、數(shù)學(xué)家對計算機理論和技術(shù)的貢獻
提到計算機,不能不提到二十世紀的兩位偉大的數(shù)學(xué)家——阿蘭·圖靈和馮·諾伊曼。阿蘭·圖靈是英國一位著名的數(shù)學(xué)家。他通過仔細研究,提出了“所有的數(shù)學(xué)運算過程都可以抽象成數(shù)學(xué)模型” 的觀點,并于1936年開創(chuàng)性地提出了計算機的運算模型,奠定了現(xiàn)代計算機技術(shù)的理論基礎(chǔ),因此被譽為“計算機理論之父”。馮·諾伊曼是美籍匈牙利數(shù)學(xué)家。他的重要貢獻是對由約翰·莫克利(John Mauchly)和普雷斯伯·??颂兀≒resper Eckert)研制的世界上第一臺數(shù)字式電子計算機進行了一次全新的改革。這項改革從此徹底改變了計算機技術(shù)的命運。原來,莫克利和??颂匕l(fā)明的計算機雖然能大大提高運算速度,但它卻存在著兩個致命缺點:
(1)沒有儲存器,無法將數(shù)據(jù)或指令存儲到計算機中;
(2)每次執(zhí)行不同的任務(wù),都要重新布置導(dǎo)線。這樣,它運算速度快的優(yōu)點被布線所需花費的大量時間所抵消。因此,他的應(yīng)用也僅限于復(fù)雜的科學(xué)計算和軍事應(yīng)用。馮·諾伊曼運用數(shù)學(xué)中的“二進制”思想將其改進,發(fā)明了“離散變量自動電子計算機”EDVAC(electronic discrete variable automatic computer )。這種計算機能夠?qū)?shù)據(jù)或指令儲存,更重要的是它由于采用了二進制的運算方式,大大方便了數(shù)據(jù)的傳輸。這樣,計算機的應(yīng)用面立刻擴大了,它不僅被用在軍事與尖端技術(shù)上,同時也應(yīng)用在工程設(shè)計、數(shù)據(jù)處理、事務(wù)管理等方面。可以說,我們現(xiàn)在使用的計算機還是建立在EDVAC基礎(chǔ)之上的。由于馮·諾伊曼對計算機技術(shù)的巨大貢獻,他被稱為“計算機之父”。
二、數(shù)學(xué)思想在計算機技術(shù)中的運用
現(xiàn)代計算機之所以能夠如此智能化,在很大程度上是由于受了數(shù)學(xué)思想的啟發(fā)。數(shù)學(xué)邏輯結(jié)構(gòu)的嚴謹,數(shù)學(xué)理論的嚴密,甚至許多數(shù)學(xué)方法本身,都直接被廣泛地采用到計算機科學(xué)的眾多領(lǐng)域。比如,數(shù)學(xué)中的二進制思想已成為現(xiàn)代計算機技術(shù)發(fā)展的堅實基礎(chǔ)。
廣泛地說,只要進行數(shù)據(jù)的傳輸或整理時,就要用到這種思想。具體做法是將每一個字節(jié)的數(shù)據(jù)用八位二進制數(shù)保存,這樣在通過導(dǎo)線傳輸時只需用導(dǎo)線的通與斷來分別表示0和1,就可以表示整個字節(jié)。從一個文件的儲存,到一幅千兆圖片的存儲,更甚網(wǎng)絡(luò)中成千上萬的各種格式的數(shù)據(jù)的運送,都是離不開二進制的?;叵胍幌拢绻麤]有二進制的思想作為基礎(chǔ),或者說沒有數(shù)學(xué)的發(fā)展作基礎(chǔ),何來馮·諾伊曼的偉大創(chuàng)舉,乃至EDVAC和當(dāng)今計算機的誕生呢?從這個意義上說,沒有數(shù)學(xué)原理的應(yīng)用,就沒有現(xiàn)代的計算機技術(shù)。
三、數(shù)學(xué)原理對計算機軟件系統(tǒng)的支持
上述提到的是計算機硬件技術(shù)的發(fā)展對數(shù)學(xué)的依賴,除此之外,計算機軟件設(shè)計也離不開數(shù)學(xué)原理的支持。要掌握好計算機程序設(shè)計,數(shù)學(xué)功底非常重要。從我個人的體會來看,要設(shè)計任何一個計算機算法,其實質(zhì)都是先將問題轉(zhuǎn)化為一個(更多的情況下是多個)需要解決的子問題,然后再想辦法逐一解決這些問題,最后使得整個程序連貫為一體。通俗的講,就是先“審題”,然后考慮解決的方法,一步一步深入,直到整個問題解決。這其中是一環(huán)緊扣一環(huán),有著非常嚴密的邏輯性的。少一個步驟,跳一個步驟,或者有一個環(huán)節(jié)出了差錯,整個程序就會癱瘓。另外,就從編程序的這個環(huán)節(jié)來說,利用任何一種語言編制程序都需要不斷運用數(shù)學(xué)理論來幫助。
同時,仍然要保持程序邏輯的嚴密性。一個具有數(shù)學(xué)修養(yǎng)的程序員在寫代碼時更有可能寫出邏輯嚴密的最簡化的高質(zhì)量代碼。尤其是對大型復(fù)雜的軟件系統(tǒng),如果沒有良好的數(shù)學(xué)思維的訓(xùn)練,是很難編制出高質(zhì)量的程序的。舉例說,我們要操作或控制計算機,就必須有操作系統(tǒng)。操作系統(tǒng)至今已經(jīng)有了幾百種,個人計算機中最常用的有windows98 / me / 2 000 / 2003 / xp等。這些復(fù)雜的操作系統(tǒng)的產(chǎn)生,歸根結(jié)底還是由不同的程序模塊組合而成。這樣大型的程序系統(tǒng),離不開一個又一個的子程序,以及它們之間嚴密的優(yōu)化組合,這樣才能讓用戶放心使用,不會出現(xiàn)意想不到的漏洞與問題。
有關(guān)研究表明,我們國家計算機軟件水平的落后不是因為我們?nèi)鄙俪绦騿T,而是因為缺乏懂?dāng)?shù)學(xué)的高質(zhì)量的程序員。又比如微軟公司總裁比爾·蓋茨,他之所以能夠在計算機軟件方面取得成功,很大程度上是由于年青時對數(shù)學(xué)的癡迷,具有的極強的數(shù)學(xué)思維能力。歸根結(jié)底,程序是計算機與數(shù)學(xué)之間最重要的一座連接的橋梁。