https://blog.csdn.net/lanonjj/article/details/51464922

序:从2010年进入大学接触到计算机开始,便不断对其本源好奇,接触得愈久就愈是觉得这门学科当真博大精深、美妙又繁复,纵其一生也难穷究竟。以下为一段时间内(2010 ~ 2015.09.28)探索的简略总结,半年后,回头再看惊觉其中内容和各线索之间的联系竟然已忘记大半。庆幸当时没有偷懒,把这些思考和笔记写在了Evernote中,所以还能再次看到。现将这篇笔记发送到互联网上,以资备忘和分享,其中或有错误、语焉不详之处,还请指正。

<1> 什么是分析学?

分析学建立在微积分基础之上,而要建立微积分必须明确定义无穷小,为了定义无穷小则需要一个公理化的实数理论,而实数理论是建立在有理数系统之上的,有理数系统又更底层的依赖于自然数系统,而自然数系统本身的和谐性,则依赖于集合论的和谐性。以公理系统观之则存在以下依赖路径链:

ZFC集合公理 → Peano自然数公理系统 → 有理数系统 → 实数理论 → 极限理论 → 微积分 → 分析学

<2> 公理系统的意义

公理系统将一个数学系统归结为一组基本的公理,这些公理之间满足自洽性、独立性和完备性,则整个数学系统的可探索部分可以完全由该公理系统推导出来。公理系统使得整个系统有了一个完整、明确的定义,而不是如远古时代的先辈依靠直觉和经验来认识数和几何图形那样来定义和研究数学对象。完整、明确的定义避免了歧义与在细节化时的含混不清,由此有了公理系统我们就能完整的理解到底什么是实数中的无理数,而不是说不能有理化的数即是无理数那样完全没有明确意义的说法。

<3> 数学是什么

数学在表观和操作上是可以完全符号化的演算过程。数值化的演算通常称为计算,而所有的符号化系统都可以编码为自然数系统(哥德尔的证明),所以数学在操作上可以等价为计算过程。在自然算术系统中一切的数学计算过程都是一种代数变换,而所有的代数变换皆可映射到最简单的代数系统上:二进制的布尔代数。这是计算机拥有计算能力的根本原因。因为计算机只是实现了布尔代数的机器而已。数学的基本操作虽然可以归结为二进制的布尔代数,但数学中更一般化的基本操作是推理和证明,即演绎,或者演算 [之所以在计算之外又使用演绎、演算这两个词语,是因为演绎和演算更具有数理逻辑的味道,而计算一词严重的偏向了数值计算的含义]。所有的数学演算最终都是对于数学命题的证明,或者说是对于某个数学事实的推演,比如计算 1 + 1 的值实际上是应用Peano的自然数系统公理进行推演得出一个事实的过程,即 1 + 1 = 2的事实。

<4> 更大的野心

在希尔伯特建立公理系统之时曾有一个伟大的野心,如果所有的数学分支都可以归纳到一组公理系统中,那么整个数学系统不仅将拥有完整而坚实的基础(从此数学家再也不会由于某些概念的含混不清而争论好几个世纪了),同时在某种程度上也意味着数学的终结,因为所有可能的数学事实将可以由公理系统轻松,完整并且无歧义的推导出来。然而哥德尔的证明却表明了这样的努力是不会成功的,这样的完备且一致的公理系统并不存在。虽然不能实现那个最初伟大的抱负,但公理系统本身的意义仍然存在。 
公理系统表明了一个数学系统中的数学事实可以由有限的公理一步一步地推导出来。既然可以机械的推导出来这些事情,那么为什么不让它们自动进行呢?伟大的莱布尼兹在他研究数理逻辑时就已近想着让机械模仿人类的思维过程来实现对数学事实的推导,即基于公理化方法进行自动化演算。 
数理逻辑的研究表明数学演算可以归结为公理系统的定义和谓词逻辑的几种基本操作。在公理化完整定义了一个完整的数学系统后,结合数理逻辑就让机械演算有了完整的理论可能性基础,剩下的就是创造一整套具体方法来实现机械演算。当公理系统被形式化之后,我们就可以采用形式化演算进行数学计算了。那么对于机械而言只要它们能够按照演算的规则进行操作就能在一定程度模拟人类自身的演算过程了。这一整套的演算规则即是我们所谓的形式化语言,形式化语言包含了该形式化系统中各种对象的定义和对象之间的运算规则,即形式化的公理系统。所以只要有一个机器实现了一门形式化语言,则该机器就能进行该系统中的形式化演算。在莱布尼兹、康托尔、希尔伯特、哥德尔之后图灵在终于在理论上给出了这样的机器的完整雏形,即图灵机,一台正真具备了演算能力的机器。从此人类的智力得到了从繁琐中解放的救赎,终于可以让那些重复、简单、无聊、机械的推导过程自动化进行了。所以,最后的关键是怎么把自动机理论变成物理实现的现实呢?

<5> 冯诺依曼的贡献

冯诺依曼的伟大之处在于让图灵机变成了正真现实可用的可编程的计算机器。他提出冯氏结构,采用存储程序模型实现了形式化语言的机械化。自此我们完成了从数理逻辑基础到自动机的伟大历程,完成了几代伟大人物壮丽设想。

<6> 形式化语言

数学本身可归结为符号化的演算,亦可特例化为自然数系统的算术计算,从而进一步归结为二进制的布尔逻辑,即一般意义上的计算。计算过程是推演某个数学事实的过程,更自然语言地可表述为从输入推演到输出的过程,从初始化条件变换到期望结果的过程。 
变换之根本在集合论上即映射,在数理逻辑上即推演。描述映射与推演的具体方法称为形式化方法,所形成的系统成为形式化系统,更计算性的说即是形式化语言。 
一门形式化语言实际上定义了一个数学系统,同时也对应着一个自动机模型。而我们现在所用的通用计算机,它们与图灵机是等价的,常见的形式化语言,即编程语言同样也都是图灵完备的,即它们与图灵机具备相同的计算能力,对于同一个问题将给出同样是可计算的或者不可计算的判定结果。

形式化系统 <=> 形式化语言 <=> 自动机 <=> 机器

<7> 算法是什么

在这整个计算过程中,推演的过程,变换的过程即是算法。算法,是实现计算过程的方法。纯粹算法实际上不应该依赖于具体的机器实现,其唯一被限制之处应该源于该形式化系统本身。现实的算法,即我们通常意义的算法则常常需要针对时间和空间做优化,即在一定程度上是与具体机器相关的。

<8> 编程是什么

在有了形式化语言即编程语言之后,在确定了算法之后,则只需要将算法表述为当前的编程语言的形式让实现了该语言的机器run一遍即可。所以编程是将算法表述为某种特定语言的过程。

<9> 一脉相承的问题

康托尔发现实数比自然数更多,即自然数和实数不能一一对应,并由此开端引出了著名的罗素悖论。 
哥德尔证明了任何一个形式系统,只要包括了简单的初等数论描述,而且是自洽的,它必定包含某些系统内所允许的方法既不能证明真也不能证伪的命题,即不具有被完备性。 
图灵说自动机将不可避免的面对停机问题。 
关于此议题请参考刘未鹏《康托尔、哥德尔、图灵 — 永恒的金色对角线》一文以及Gregory Chaitin在马萨诸塞大学关于数学基础的世纪演讲《A Century of Controversy over the Foundations of Mathematics》。这两篇文章对这个问题做了十分精彩,深刻的解说。这是两篇让人有一种“念了五年计算机终于认祖归宗了”读后感的文章。

<10>黑客们都用LISP

面向机械的通用形式化语言和图灵机是等价的,那么有没有一种理论并不面向机器而是针对纯粹数学而且和图灵机等价呢? 
Yes.It’s. 那就是哥德尔天才证明中已近显露头角的程序即数据的形式化推理系统。丘奇1936年给出的lambda演算系统就是一个这样的系统,而LISP刚好是以lambda演算为基础构建的编程语言。它们强大的威力将赋予你任意构造自己需要的算子,随心所欲构造出任何自己满意计算机器的能力,甚至可以说唯有lambda演算才是编程语言界真正无可争议的皇后,它简单的难以置信(3行定义,真的只有三行定义而已!!),同时却也美丽的不可琢磨,让人觉得无与伦比,并产生了人类由于面对过于壮丽的事物会不自由主想要哭泣自然反应,以及心智因此停顿而一时不知所措,如痴如醉的恍惚。 
“真正的黑客们都用LISP”,在计算机圣经《黑客与画家》一书中教父Paul Graham如是言。教父诚不欺我也。

[之所以称《黑客与画家》为圣经而不是其他书籍,是因为圣经从来都不是技术书籍,而是那些饱含真理与文化,并不断指引人们走上正确道路的书籍。]

转载于:https://www.cnblogs.com/hjlweilong/p/9434522.html

从数学到计算机 从莱布尼兹到冯诺依曼 从数理逻辑到算法分析相关推荐

  1. 【数学】用C语言实现函数的定积分—— 把 “定积分定义计算出的值” 和 “牛顿-莱布尼兹公式计算出的值” 两者进行误差比较

    因为考研数学看到定积分的定义以及"牛顿-莱布尼兹公式" 突然心血来潮,想用C语言把它们实现出来并对比. 1.用 "定积分定义" 计算得出数值 以及 " ...

  2. 数学与计算机的微妙关系

    数学与计算机的微妙关系 一.高等数学 1.为什么要学习高等数学 2.高等数学的分类 3.高等数学的应用 1)生活上 2)科技上 4.高等数学发展阶段 1) 解析几何学建立 2) 微积分的创立 3) 集 ...

  3. 数学与计算机专业的论文,数学与计算机关系论文.doc

    目录 一.高等数学2 1.为什么要学习高等数学2 2.高等数学的分类2 3.高等数学的应用3 1)生活上3 2)科技上3 4.高等数学发展阶段4 1) 解析几何学建立4 2) 微积分的创立4 3) 集 ...

  4. 计算机专业数学知识点,计算机专业数学教学过程中学习兴趣和能力的培养

    计算机专业数学教学过程中学习兴趣和能力的培养 计算机和数学是密切相关的.计算机有很多分支,程序设计.网络技术.信息技术.硬件技术.数据库设计.信息安全等.基本上以上的都需要有一定的数学功底.而程序设计 ...

  5. 数学计算机关系论文2000字,数学与计算机关系论文

    数学与计算机关系论文 目录 一. 高等数学 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙2 1. 为什么要学习高等数学 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙2 2. 高等数学的分类 ∙∙∙∙ ...

  6. 牛顿-莱布尼兹公式的几何意义-微分和积分的几何关系

    公司办公室上班,工作累了可以跟同事聊聊天,下楼抽根烟,或者仅仅就是出去溜达一圈.然而soho办公却不可能.屋内抽烟是被禁止的,下楼抽烟显得古怪又麻烦- 买了本书,<什么是数学>,就是这本: ...

  7. 莱布尼兹普遍演算的定义注释--逻辑与算法之十八

    莱布尼兹普遍演算的定义注释–逻辑与算法之十八 证明完了24个命题,在片断20的最后部分,莱布尼兹对于他的演算中提到的定义和公理给出了一大段注释.首先注释的是片断20给出的定义3,4,5,6. 这非常自 ...

  8. 王小云数学与计算机奖,2019未来科学大奖揭晓, 清华大学、山东大学教授王小云获“数学与计算机科学”奖...

    9月7日,2019未来科学大奖获奖者在北京揭晓.北京生命科学研究所邵峰荣获"生命科学"奖,中科院高能物理研究所王贻芳.美国加州大学伯克利分校教授陆锦标获"物质科学&quo ...

  9. 莱布尼兹的二进制和布尔的全无假定   布尔逻辑之四

    莱布尼兹的二进制和布尔的全无假定   布尔逻辑之四 一.莱布尼兹的二进制 智慧这东西真的很神奇,现在人们都已经熟知的数字二进制,史载澳洲和非洲的原始部落,就有这种只用两个数字的计数.这些地方的野蛮人, ...

最新文章

  1. python学习点滴记录-Day10-线程
  2. 计算机出国读博必读!外国小哥创建最全CS奖学金项目清单
  3. python中几种交换2个变量的值的方法
  4. 香帅的北大金融学课笔记6 -- 货币基金
  5. pytorch制作CNN的类印象图 class impression(类别生成图)及生成对抗攻击样本
  6. SaltStack 第二板块安装说明 [2]
  7. 洛谷 P3375 【模板】KMP字符串匹配
  8. linux命令大全私房菜,linux命令大全(自己制作,基于鸟书私房菜以及man)-D
  9. 集美大学计算机工程学院 曾勇进,电子政务评估方法AHP 的研究及实现.pdf
  10. 从定时任务-到任务调度系统xxl-job
  11. Android:Glide异步加载图片,设置默认图片和错误图片
  12. 如何让latex中插入没有标号的footnote
  13. 三、C语言的数据类型—浮点型数据
  14. 小红书html布局自适应,Flutter实现马蜂窝小红书自适应高度轮播图
  15. 有助睡眠的方法有哪些?睡不着,这些方法就能帮到你
  16. linux 微秒级定时,Linux下的微秒级定时器: usleep, nanosleep, select, pselect
  17. 使用Win7 PE安装Win 7原版系统图解
  18. [Windows实用软件推荐:1]本地搜索工具Everything
  19. Ogre 天龙八部 GridInfo文件格式说明(正确版)
  20. 移动硬盘只能识别一个分区,另一个变为RAW的解决办法

热门文章

  1. Mac OS X下MySql卸载方法
  2. Registering Protocol Handlers for Your Web Applications
  3. Nmap绕过防火墙脚本的使用
  4. C# 从DataTable中取值
  5. android在activity中锁屏解锁后重走OnCreate的问题的解决办法
  6. [erlang]erlang程序运行的几种方式
  7. mysql 创建唯一索引_Mysql普通索引和唯一索引的选择分析
  8. python生成器yield原理_Python的迭代器和生成器 使用实例及yield的使用
  9. 可以发外链的网站_可以发外链的地方有哪些?-top推
  10. Java NIO学习篇之通道Channel详解