什麼是計算?這個問題非常值得思考。
人類爲了更好的認識和改變這個世界,結合自然創造了一堆規則。這些規則,被大家廣爲接受,比如計數系統。
我們可以很容易理解一個蘋果、兩個橘子這樣的概念;也能夠切實體會一次是什麼意思,兩次是什麼意思。因爲在我們的腦子裡,從小就被註入了這些規則。但如果要你給一次兩次這樣的概念下一個定義,或者說有一天來了個外星人,你怎麼他介紹一次這個概念?
- 這看起來很容易的事情,實際上並麼有那麼理所當然。
- 或者說我們會覺得就是這個樣子呀,這個是常識,因爲太熟悉,但是就是不知道要如何科學地去介紹這個東西。
計數系統有什麼用呢?可以計數。假定我們已經建立了一些基本概念。拋開剛纔這個看起來十分無聊的問題,可以看到一些顯而易見的描述:
通過計數系統,我們知道了兩個蘋果可以讓兩個人吃。那麼說如果再來一個人,平均一個人就沒法吃到一個完整的蘋果了。
在這套計數系統中,是可以進行運算的。比如說加法,兩個蘋果加一個蘋果,就是三個蘋果。比如除法,兩個蘋果三個人分,就不能均分到一個。通過運算,則可以得到新的東西。當然,運算的規則也是人類建立並且達成共識的。當然,這時運算的意思是,從一些信息得到另外一些信息。
總之來說,藉助這個計數系統,以及運算過程,我們能夠獲得更多的信息。
這樣的運算過程一般發生在人的腦子裡面的;如果太複雜,則需要一些幫助,如一些符號(阿拉伯數字和+-×÷)和一些計算規則(如豎寫加法),這兩者可以稱爲模型,和一些記錄工具(筆紙)。總之,通過運算,可以得到新的東西。當然,運算的規則是確定的。
這麽一套通用的系統,可以獲得一些穩定的結果。但這一套計算的過程,適用性可能有限。雖然我們可以通過加法乘法等計算,知道一個蘋果和一個蘋果可以組成兩個蘋果。但是我們更想要知道複雜的信息,但是對於明天是否下雨這種事情,直接並不能立刻馬上計算出來。但是呢,人類會做得事情,就是把一個複雜的東西拆解爲一步步簡單的事情。
當然,為了解決這種復雜的問題,我們可以構建更加復雜的模型,來解決這些問題。但是這些問題太復雜了,計算起來肯定是非常復雜。
這個時候,人類的腦瓜子,計算紙,也無能為力了。所以需要一些機器來幫我們運算。就像人類不願意走路,就去製造交通工具。我們不願意計算、或者說計算不過來,就弄一個機器來幫我們計算。
那麽要計算起來要怎麽弄呢?首先來說,需要一些基礎的操作,能夠用一些裝置來實現。
所以計算機的本質,就是用一些物理裝置來實現一個計算的過程。
在進行計算之前,還需要解決的問題就是把具體的問題轉換為可以通過這些規則計算的東西。就是說將明天天氣怎麼樣這樣的問題,轉換為一堆加法和乘法,然後進行計算,得到一些數字結果。然後將這些數字結果轉換爲天氣怎麼樣的具體信息。
本質上是沒有一套很好的模型來描述天氣,所以才把天氣轉換為數字模型。然後數字就可以通過目前的計算規則進行計算了。
爲什麼說計算很重要。現在的電子計算機能夠做的就是計算 1+1=2 這種事情。但是爲啥這麼簡單的計算越來越能完成人類面臨的一系列的問題。
- 是不是所有問題,都可以轉換爲 1+1=2 這種事情來計算?
- 如果不是,有什麼更好的方式嗎?
說一個簡單的例子,就是類腦計算。就是說,我也不去關心實際上計算過程,或者說得到結果的過程。我只關係結果。比如說,我要從 a 地到 b 地,我也不知道咋弄,我就找一下自然界中最聰明的動物,螞蟻來幫我規劃這個事情。一種最直觀的方式就是