數學的語言

2021-07-26 19:18:47 字數 2703 閱讀 9606

2016-06-22

這一周看了一本新書《數學的語言》,真的是非常有意思的一本書。旁邊組的xw,數學系master,則頗為不屑,說明我還是low啊,被人鄙視了。書中最讓我有反思的是這樣乙個表述「在最近大約三十年間,乙個為大部分數學家所同意的有關數學的的定義,在此終於出現了:數學是研究模式的科學(science of pattern)。」pattern這個詞,想必做程式的同學是熟悉的。還是gof的那本design patterns: elements of reusable object-oriented software的緣故。想當初,剛從學校出來的時候,做軟體的同學們聚會,便總是扯到此話題,以為得模式者得天下也,當然啦,是程式設計的天下。此話誠然有理。但我以為,模式也是分層次的。以為學了這二十三種模式便能夠解決專案中各種設計問題,那顯然是不夠的。peter novig的blog 中講有函式式語言被使用到專案中時,所謂的23種模式先廢一半,因為根本不存在。這就引起了我的思考,那麼,什麼才是更加底層的模式。

第二章裡講到了二十世紀五十年代noam chomsky對形式化語言的研究所產生的重大意義。chomsky 在2023年出版的

syntactic structures中描述了她用來研究語言的革命性新方法。這本簡短的專著萬全改變了美國的語言學,將它從人類學的分支變成了一門數學的科學。當初我在學習

automatatheory, languages, and computation(hopcroft)這本書時非常震撼,原來計算機語言(單從語言上來說)是那麼科學嚴密的東西,我們可以用數學的集合論去分析和證明其中的問題,真是很牛。讀到p33  languages and problems are really the same thing. 的時候,真的是震撼到我了。當時更是讓我確認了一點,程式語言的確是值得研究,讓我們思考我們究竟是如何用語言來表達來解決問題的。

關於微積分。牛頓從物理運動的方面提出微積分,而萊布尼茨則是從幾何方面提出微積分的,我以前讀《微積分的歷程》時牛頓相關的部分就費勁兒,還是歐式幾何中圖形的表示直觀的多了。在西元前柏拉圖的學生歐多克斯(eudoxus)提出的「窮盡法」計算了圓錐體的體積,阿基公尺德用這個方法計算了一大堆圖形的面積和體積。這些都是我以前所不知道的,我之前一直還以為是微積分之後的事情呢。微積分是積分學的核心內容,而積分學是現代數學的基礎。它歷經一百多年才獲得穩定準確的定義。在圖形學,視覺方向非常重要。也是機器學習必需的基礎。    

幾何部分是我最近不太喜歡的部分。之前學習計算機視覺的數學基礎時,被射影幾何整怕了,現在也還是一臉矇逼。等我再研究一些數學的東西就回去重新學,看看是不是還能搞搞。」群論」這一章也是讓我學習了很多,原來幾何、拓撲、群就這麼被聯絡起來了。對二十四維空間的球裝填的研究成果竟然能夠應用到資料傳輸上。藝術設計上也有數學原理的體現。 原來費馬大定理的證明過程是那麼的勵志感人。原來保險業,博彩業和概率論有那麼深入的聯絡。原來西元前就有人推測過地球是圍繞太陽旋轉的。讓我感覺到,學習程式設計實在很基礎的東西,或許,二十年以後,人人都會程式設計。我身邊做數學,做機械,學醫的,對程式設計工具的理解,倒是比一些軟工出身的程式設計師還深刻一些。

最後一章也是非常有趣,數學和物理學最終結合起來講解。之前在知乎上看到乙個觀點:如果大家都以數學的角度去理解相對論的話,就不需要愛因斯坦用火車等物理現象來講解相對論了,因為那樣反而讓理解更加困難了。但是,對於沒有數學經驗,或者說沒有數學直覺的人看大篇的數學證明過程會讓他們感覺到很大的困難進而退縮。我之前沒有開始學圖形學時,看到教材上面的一些公式就讓我感到有些頭疼,後來熟悉了也還感覺能夠接受。後來看到dip,cv教材上各種微積分、射影幾何,我也還是被驚嚇到了,不過有了那麼一點點的經驗,我便知道,只要我花費時間,便能夠學會,最起碼夠工作使用了。這一年多以來,我一直在積累分析學的基礎知識和技能。我的購物車裡還有好多本數學方面的書,這些都是經過我的研究,在將來可能對我感興趣的工作中會被使用到的數學知識。

書籍標題

the language of mathematics,這個標題就很有意思了。數學有那麼多學科,初等代數,布林邏輯,歐式幾何,各種非歐幾何,集合論,微積分,級數,拓撲學,概率論,數論等等,是一門語言,還是每個學科各是一門語言呢?或許學數學的同學根本不care。但是,不可否認的一點,表述方式對於我們思維方式有影響。數學的語言,超越各種生活語言,讓全世界的人都可以無障礙的交流。幾千年來,人類不斷的總結數學的表示方式,古希臘的「三段論」論證模式被更為簡單抽象的布林邏輯所強化、包含。布林也開創了符號化邏輯(symbolic logic)。那麼,什麼是symbolic logic呢?如果我們的邏輯可以被符號化表示,那麼就可以被計算機計算。60-70年代的研究者確信符號方法最終可以成功創造強人工智慧的機器,同時這也是他們的目標。我不敢妄議漢字對於整個民族的數學思維的影響。但是,抽象是數學的重要特徵。漢字相對於字母文字的符號化抽象表達的上劣勢,是很明顯的。語言學的發展趨勢是象形文本到字母文字發展(不要給我套上廢棄漢字拉丁化的帽子)。有興趣的同學,對programming language可以多研究一下。

大學學習數學有什麼用?我相信,有很多同學根本不會問出這樣的問題,或許從沒關注過有什麼用,只是覺得有趣而已,或許很早對專業的研究就比較深入,發現了數學對於學科的用途。而有些人,就像當初的我(軟體工程專業),沒有在整個教學計畫或者未來可能從事的工作中發現有使用到大學數學的痕跡。所以,我便沒有下功夫。我倒是不大後悔,一者沒用,二者我認為自己偏實用主義。我的感悟是,即使是軟工的學生,也是需要認真對待大學數學課程的,特別是線性代數,微積分。要盡早的去嘗試各種有意思的技術,盡快迭代,找到自己感興趣的方向,查明所需的數學基礎,好好學習。

ref:

[主頁 ] 

CG語言的數學函式

abs x 返回標量和向量x的絕對值 如果x是向量,則返回每乙個成員的絕對值 acos x 返回標量和向量x的反余弦 x的範圍是 1,1 返回值的範圍是 0,如果x是向量,則返回每乙個成員的反余弦 all x 如果乙個布林標量為真,或者布林向量的所有成員為真,則返回真 any x 如果乙個布林標量為...

C語言中的數學黑洞

這是乙個非常有意思的數學問題,kaprekar問題也被稱為數學黑洞,同樣,我們把他放到程式設計中,我們就可以簡化他。對於數學黑洞,無論怎樣設值,在規定的處理法則下,最終都將得到固定的乙個值,再也跳不出去了,就像宇宙中的黑洞可以將任何物質,以及執行速度最快的光牢牢吸住,不使它們逃脫一樣。這就對密碼的設...

數學無處不在 語言 文字與數學

我們每天都在說話,每天都在用語言進行交流。語言文字對我們是如此的平常,以至於絕大多數人都不會注意到語言中一些非常難以解釋的現象。昨天的漢語虛詞研究課上,我們就談到了這樣乙個有趣的問題 在表示 僅僅 的含義時,什麼時候能夠用 只 什麼時候能夠用 光 若不細想的話,大家或許會認為兩者的用法完全一樣。我只...