計算機硬體學習心得
當今世界,計算機技術已經深入到各個領域,得到廣泛的應用,你知道是什麼嗎?接下來就是小編為大家整理的關於,供大家閱讀!
篇1
每個學校本系裡都會開一門離散數學,涉及集合論,圖論,和抽象代數,數理邏輯。不過,這麼多內容擠在離散數學一門課裡,是否時間太緊了點?另外,計算機系學生不懂組合和數論,也是巨大的缺陷。要做理論,不懂組合或者數論吃虧可就太大了。從理想的狀態來看,最好分開六門課:集合,邏輯圖論,組合,代數,數論。這個當然不現實,因為沒那麼多課時。也許將來可以開三門課:集合與邏輯,圖論與組合,代數與數論。這方面我們學校已經著手開始做了
不管課怎麼開,學生總一樣要學。下面分別談談上面的三組內容。
古典集合論,北師大出過一本《基礎集合論》不錯。 數理邏輯,中科院軟體所陸鍾萬教授的《面向電腦科學的數理邏輯》就不錯。現在可以找到陸鍾萬教授的講課錄影,自己去看看吧。總的來說,學集合/邏輯起手不難,普通高中生都能看懂。但越往後越感覺深不可測。
學完以上各書之後,如果你還有精力興趣進一步深究,那麼可以試一下GTM系列中的《Introduction to Axiomatic Set Theory》和《A Course of Mathematical Logic》。這兩本都有世界圖書出版社的引進版。你如果能搞定這兩本,可以說在邏輯方面真正入了門,也就不用再浪費時間聽我瞎侃了。
據說全中國最多隻有三十個人懂圖論。此言不虛。圖論這東東,技巧性太強,幾乎每個問題都有一個獨特的方法,讓人頭痛。不過這也正是它魅力所在:只要你有創造性,它就能給你成就感。我的導師說,圖論裡面隨便揪一塊東西就可以寫篇論文。大家可以體會裡面內容之深廣了吧!國內的圖論書中,王樹禾老師的“圖論及其演算法”非常成功。一方面,其內容在國內教材裡算非常全面的。另一方面,其對演算法的強調非常適合計算機系本來就是科大計算機系教材。有了這本書為主,再參考幾本翻譯的,如Bondy & Murty的《圖論及其應用》,人民郵電出版社翻譯的《圖論和電路網路》等等,就馬馬虎虎,對本科生足夠了。再進一步,世界圖書引進有GTM系列的"Modern Graph Theory"。此書確實經典!國內好象還有一家出版了個翻譯版。不過,學到這個層次,還是讀原版好。搞定這本書,也標誌著圖論入了門。
離散數學方面我們北京工業大學實驗學院有個世界級的專家,叫邵學才,復旦大學概率論畢業的,教過高等數學,線性代數,概率論,最後轉向離散數學,出版著作無數,論文集新加坡有一本,堪稱經典,大家想學離散數學的真諦不妨找來看看。這老師的課我專門去聽過,極為經典。不過你要從他的不經意的話中去挖掘精髓。在同他的交談當中我又深刻地發現一個問題,雖說邵先生寫書無數,但依他自己的說法每本都差不多,我實在覺得詫異,他說主要是有大綱的限制,不便多寫。這就難怪了,很少聽說國外寫書還要依據個什麼大綱就算有,內容也寬泛的多,不敢越雷池半步,這樣不是看誰的都一樣了。外版的書好就好在這裡,最新的科技成果裡面都有論述,別的先不說,至少是“緊跟時代的理論知識”。
組合感覺沒有太適合的國產書。還是讀Graham和Knuth等人合著的經典“具體數學”吧,西安電子科技大學出版社有翻譯版。 抽象代數,國內經典為莫宗堅先生的“代數學”。此書是北大數學系教材,深得好評。然而對本科生來說,此書未免太深。可以先學習一些其它的教材,然後再回頭來看“代數學”。國際上的經典可就多了,GTM系列裡就有一大堆。推薦一本談不上經典,但卻最簡
單的,最容易學的:這本“Introduction to Linear and Abstract Algebra"非常通俗易懂,而且把抽象代數和線性代數結合起來,對初學者來說非常理想,我校比較牛的同學都有收藏。
數論方面,國內有經典而且以困難著稱的”初等數論“潘氏兄弟著,北大版。再追溯一點,還有更加經典可以算世界級並且更加困難的”數論導引“華羅庚先生的名著,科學版,九章書店重印,繁體的看起來可能比較困難。把基礎的幾章搞定一個大概,對本科生來講足夠了。但這只是初等數論。本科畢業後要學計算數論,你必須看英文的書,如Bach的"Introduction to Algorithmic Number Theory"。
電腦科學理論的根本,在於演算法。現在很多系裡給本科生開設演算法設計與分析,確實非常正確。環顧西方世界,大約沒有一個三流以上計算機系不把演算法作為必修的。演算法教材目前公認以Corman等著的"Introduction to Algorithms"為最優。對入門而言,這一本已經足夠,不需要再參考其它書。
篇2
電腦科學和數學的關係有點奇怪。二三十年以前,電腦科學基本上還是數學的一個分支。而現在,電腦科學擁有廣泛的研究領域和眾多的研究人員,在很多方面反過來推動數學發展,從某種意義上可以說是孩子長得比媽媽還高了。但不管怎麼樣,這個孩子身上始終流著母親的血液。這血液是the mathematical underpinning of computer science電腦科學的數學基礎,也就是理論電腦科學。原來在東方大學城圖書館中曾經看過一本七十年代的譯本書皮都沒了,可我就愛關注這種書,大概就叫《計算機數學》。那本書若是放在當時來講決是一本好書,但現在看來,涵蓋的範圍還算廣,深度則差了許多,不過推薦大一的學生倒可以看一看,至少可以使你的計算數學入入門。
最常和理論電腦科學放在一起的一個詞是什麼?答:離散數學。這兩者的關係是如此密切,以至於它們在不少場合下成為同義詞。這一點在前面的那本書中也有體現傳統上,數學是以分析為中心的。數學系的同學要學習三四個學期的數學分析,然後是複變函式,實變函式,泛函數等等。實變和泛函被很多人認為是現代數學的入門。在物理,化學,工程上應用的,也以分析為主。
隨著電腦科學的出現,一些以前不太受到重視的數學分支突然重要起來。人們發現,這些分支處理的數學物件與傳統的分析有明顯的區別:分析研究的問題解決方案是連續的,因而微分,積分成為基本的運算;而這些分支研究的物件是離散的,因而很少有機會進行此類的計算。人們從而稱這些分支為“離散數學”。“離散數學”的名字越來越響亮,最後導致以分析為中心的傳統數學分支被相對稱為“連續數學”。
離散數學經過幾十年發展,基本上穩定下來。一般認為,離散數學包含以下學科:
1 集合論,數理邏輯與元數學。這是整個數學的基礎,也是電腦科學的基礎。
2 圖論,演算法圖論;組合數學,組合演算法。電腦科學,尤其是理論電腦科學的核心是
演算法,而大量的演算法建立在圖和組合的基礎上。
3 抽象代數。代數是無所不在的,本來在數學中就非常重要。在電腦科學中,人們驚訝地發現代數竟然有如此之多的應用。
但是,理論電腦科學僅僅就是在數學的上面加上“離散”的帽子這麼簡單嗎?一直到大約十幾年前,終於有一位大師告訴我們:不是。D.E.Knuth他有多偉大,我想不用我廢話了在Stanford開設了一門全新的課程Concrete Mathematics。 Concrete這個詞在這裡有兩層含義:
首先:對abstract而言。Knuth認為,傳統數學研究的物件過於抽象,導致對具體的問題關心不夠。他抱怨說,在研究中他需要的數學往往並不存在,所以他只能自己去創造一些數學。為了直接面嚮應用的需要,他要提倡“具體”的數學。在這裡我做一點簡單的解釋。例如在集合論中,數學家關心的都是最根本的問題公理系統的各種性質之類。而一些具體集合
的性質,各種常見集合,關係,對映都是什麼樣的,數學家覺得並不重要。然而,在電腦科學中應用的,恰恰就是這些具體的東西。Knuth能夠首先看到這一點,不愧為當世計算機第一人。其次,Concrete是Continuous連續加上discrete離散。不管連續數學還是離散數學,都是有用的數學!
理論與實際的結合——電腦科學研究的範疇
前面主要是從數學角度來看的。從計算機角度來看,理論電腦科學目前主要的研究領域包括:可計算性理論,演算法設計與複雜性分析,密碼學與資訊保安,分散式計算理論,平行計算理論,網路理論,生物資訊計算,計算幾何學,程式語言理論等等。這些領域互相交叉,而且新的課題在不斷提出,所以很難理出一個頭緒來。想搞搞這方面的工作,推薦看中國計算機學會的一系列書籍,至少代表了我國的權威。下面隨便舉一些例子。
由於應用需求的推動,密碼學現在成為研究的熱點。密碼學建立在數論尤其是計算數論,代數,資訊理論,概率論和隨機過程的基礎上,有時也用到圖論和組合學等。很多人以為密碼學就是加密解密,而加密就是用一個函式把資料打亂。這樣的理解太淺顯了。
現代密碼學至少包含以下層次的內容:
第一,密碼學的基礎。例如,分解一個大數真的很困難嗎?能否有一般的工具證明協議正確?
第二,密碼學的基本課題。例如,比以前更好的單向函式,簽名協議等。
第三,密碼學的高階問題。例如,零知識證明的長度,祕密分享的方法。
第四,密碼學的新應用。例如,數字現金,叛徒追蹤等。
在分散式系統中,也有很多重要的理論問題。例如,程序之間的同步,互斥協議。一個經典的結果是:在通訊通道不可靠時,沒有確定型演算法能實現程序間協同。所以,改進TCP三次握手幾乎沒有意義。例如時序問題。常用的一種序是因果序,但因果序直到不久前才有一個理論上的結果例如,死鎖沒有實用的方法能完美地對付。例如作業系統研究過就自己去舉吧!
如果計算機只有理論,那麼它不過是數學的一個分支,而不成為一門獨立的科學。事實上,在理論之外,電腦科學還有更廣闊的天空。
計算機保研面試英文自我介紹