数学的语言

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 在1957年出版的 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:
http://philosophy.lander.edu/logic/symbolic.html
http://courses.umass.edu/phil110-gmh/MAIN/IHome-5.htm
http://www.gxou.com.cn/App/xuebao/06-1/lixuejing.htm  
https://www.zhihu.com/question/22961765
如果有任何意见,欢迎留言讨论。


[ 主页 ]
COMMENTS
POST A COMMENT

(optional)



(optional)