計算機的本質是什麼?邏輯?數學?

計算機的誕生

1946年,在美國的賓夕法尼亞大學誕生了第一臺現代電子計算機ENIAC。雖然在今天看來ENIAC計算能力連手機,甚至是十幾塊錢的計算器都比不上,但它在當時倒是至關強大。ENIAC的體積很是龐大,得好幾個大房間才能放下它,耗電也至關恐怖,一開機全城家家戶戶電燈都要變暗。mysql

之因此稱ENIAC是第一臺現代計算機,是由於現代計算機理論的奠定人是圖靈和馮諾依曼。這兩個超級天才應該你們都聽過,圖靈提出了圖靈機理論模型,而馮諾依曼設計肯定了現代計算機的基礎結構,他以數學語言闡述了計算機模型,將程序和數據都存在存儲器中。程序員

timg
timg

思想轉爲代碼

實際上,計算機的發展並不是一蹴而就。現代電子計算機屬於狹義上的計算機,而廣義上的計算機其實包括全部人類製造出來的計算設備,好比古代的算盤也屬於計算機,只不過它是靠人力驅動的,再好比機械式計算機,使用機械齒輪來進行運算。算法

image
image

在廣義上,對於計算機咱們更應該將其理解爲一種思想。計算機實際上是爲了幫助人類將思想轉化爲代碼仿真出來,這就要求咱們須要先對思想進行解碼工做。而在古代就已經有先賢在邏輯學和數學方面進行研究,其中最偉大的思想家就是柏拉圖和亞里士多德,他們倆也互爲師生關係。sql

亞里士多德首次將哲學與科學分離,並在邏輯方面進行了研究,他認爲邏輯是一切科學的基礎,是形式邏輯學的創始人奠定人。他將人的思惟和存在聯繫起來,而後根據實際闡明邏輯。亞里士多德在推理邏輯中提出了三段論:網絡

全部動物都會死 全部人都是動物 因此,全部人都會死數據結構

異類聯想

自亞里士多德以來,邏輯學和數學都是分開研究各自發展的。直到後來德國的萊布尼茨哲學家才嘗試將它們結合起來,經過將兩種現有的思想結合起來,以造成第三種創新思想,即異類聯想。後來發展出數理邏輯這門學科,以數理邏輯思想爲基礎的計算科學也在不斷地發展着。對於這些人,他們的目標是將抽象的邏輯用精確的數學符號來表示,併發

對於計算機,多數人會認爲計算與邏輯是密不可分的,甚至還有人認爲計算的本質其實就是邏輯。而邏輯與數學的關係是,邏輯並不等於數學,只是曾經有人想以邏輯爲基礎來構建數學。邏輯、計算和數學三者應該如何融合?機器學習

image
image

調和代數與幾何

在笛卡爾以前,代數和幾何各自爲政,它們是兩個獨立不一樣的學科。然而幾何過分依賴圖形與形式,代數又過度受公式限制,這都制約了它們的發展。這時法國數學家笛卡爾則經過異類聯想將這二者聯繫了起來,創立了解析幾何,從而他也被稱爲解析幾何之父。分佈式

笛卡爾發明瞭如今你們很熟悉的直角座標系,x軸和y軸,經過座標系成功調和了幾何與代數。今後一個圓能夠用方程來描述,也能夠用座標系畫圖來表示。此外,解析幾何也爲微積分的創立奠基了基礎。學習

image
image

邏輯與代數的融合

如今估計多數人都沒聽過布爾,程序員最多也是知道布爾類型,但其實能夠說布爾邏輯是計算機的核心理論。萊布尼茨一直的夢想就是將邏輯學和數學進行融合,而英國的數學家喬治布爾則經過異類聯想將亞里士多德的三段論與代數結合起來,併發明瞭二進制,將這個夢想向前推進。

算術可來實現加法乘法,而邏輯主要是或、與等,可否將它們結合起來呢?邏輯或相似於加法,即兩個相交集合中,有些元素只屬於其中一個集合。邏輯與則是兩個相交集合共同擁有的那些元素,這部分相似於乘法。並且是隻有在0和1的狀況下才能成立,這就將算術與邏輯經過二進制運算鏈接了起來。

image
image

香農的二進制

正是克勞德香農將布爾的邏輯運算帶入計算機,香農是一名貝爾實驗室的工程師。比起有名的科學家,香農的名氣不算大,估計只有計算機專業的人有了解過他,並且你們知道他估計也是由於信息論。其實香農的偉大成就還包括他將邏輯融入到計算機內,從而成功將邏輯層和物理層進行分離。得益於香農將邏輯映射到現實物理世界,至此計算機獲得了空前的發展。

image
image

實際上是他將二進制運算與電子器件相結合,實現了邏輯功能,奠基了現在計算機的運算機制。他設計出了相加電路來構造複雜的算術運算,這些電路也成爲現代計算機的組件。縱使後面越作越小愈來愈先進的晶體管,也是基於香農的電路原理。

image
image

圖靈的圖靈機

圖靈機即圖靈計算機,是由數學家艾倫·麥席森·圖靈(1912~1954)提出的一種抽象計算模型。圖靈嘗試以數理邏輯語言來設計計算機,將人們使用紙筆進行數學運算的過程進行抽象,由一個虛擬的機器替代人們進行數學運算。

圖靈機有一條無限長的紙帶,紙帶分紅了一個一個的小方格,每一個方格有不一樣的顏色。一個機器頭在紙帶上進行移動,機器頭有一組內部狀態,還有一些固定的程序。在每一個時刻,機器頭都要從當前紙帶上讀入一個方格信息,而後結合本身的內部狀態查找程序表,根據程序輸出信息到紙帶方格上,並轉換本身的內部狀態,而後進行移動。

每個會決策、會思考的人均可以被抽象地當作一臺圖靈機,該模型主要有四要素:輸入集合、輸出集合、內部狀態和固定的程序。若是把人進行抽象,那麼輸入集合就是所處環境中所看到、聽到、聞到、感受到的一切;輸出集合就是人的每一言每一行,還有表情動做;內部狀態集合則能夠把神經細胞的狀態組合當作一個內部狀態,全部可能的狀態集合將是天文數字。

這裏寫圖片描述

-------------推薦閱讀------------

個人開源項目彙總(機器&深度學習、NLP、網絡IO、AIML、mysql協議、chatbot)

爲何寫《Tomcat內核設計剖析》

2018彙總數據結構算法篇

2018彙總機器學習篇

2018彙總Java深度篇

2018彙總天然語言處理篇

2018彙總深度學習篇

2018彙總JDK源碼篇

2018彙總Java併發核心篇

2018彙總讀書篇


跟我交流,向我提問:

歡迎關注:人工智能、讀書與感想、聊聊數學、分佈式、機器學習、深度學習、天然語言處理、算法與數據結構、Java深度、Tomcat內核等相關文章

相關文章
相關標籤/搜索