一、前言
笔者水平有限,又对计算机领域感兴趣,在看了李戈老师的课程后,深感自己应该做些记录。因此写篇
文章,希望能够推动自己学习,也是给自己的学习生活留念(才不是本地笔记不方便查看×)。
图来自网络,如侵权删
摘要:本节内容主要为了解计算机与数学间的故事,了解数学理论的演变和计算机的雏形
二、了解计算机的由来
了解过科幻小说的朋友,尤其是智械危机迷们,应当对图灵这个名字不陌生。即使有的朋友不曾了解计算机,也多少听过图灵测试——人工智能科幻小说中常提的名字。图灵作为一名数学家和逻辑学家,往往以计算机科学之父的称号来铭记,以他命名的图灵奖也是计算机领域的最高国际奖项。(这里贴个云图计划的图,不知道图灵老哥知道自己还有这么个外形会是个什么感想)
然而,计算机作为计算工具,自然和数学脱不了关系。因此,在了解计算机,以及其与图灵的关系前,我们不得不和图灵的老本行---邪恶的数学搏斗,将眼光看向鼎鼎大名的几次数学危机。
1、数学危机
数学危机曾经和臭名昭著的金融危机一样,像是蹲在草丛里的大保健盖伦,时不时就会蹦出来折磨一下大家。只不过数学界没有金融界那么翻云覆雨,简单来说,现在出现过的数学危机有三次。
第一次数学危机
公元前500年,毕达哥拉斯学派的人们普遍相信,事物的本质是由某种数量关系决定的,尽管人们会因此争吵,但大家总是希望万物因一定数量比例而构成和谐的秩序。其简单概述就是一切数均可表达成整数或是整数之比。
这现在听起来很粗犷,但却很有吸引力。生活里的苹果、梨子,即使切开也完全可以想象成整数之比,看起来这已经包罗万象了。五条悟也是
然而,完美的信仰却被其代表人物自己给推翻了。年轻时的毕达哥拉斯可能怎么也不会想到,自己日后证明的勾股/毕达哥拉斯定理,给自己狠狠的打了一耳光 什么完美信仰,你听说过的神力么? 毕达哥拉斯沉默了,最终,他的学生西帕索斯公开了这一点,人们不得不接受自己的完美信仰倒台。第一次数学危机由此产生,而西帕索斯作为危机的“始作俑者” ,虽然以西帕索斯悖论的名字被记住,却也因此葬身海底。挑战宗教的勇者
不过,人类不会就此屈服。悖论提出的二百年后,名叫欧多克索斯(Eudoxus)的人开始尝试给这个破碎的数学体系打个补丁。欧多克索斯的想法很好,他通过建立起一套完整的比例论,避开无理数这个当时看来是“逻辑上的丑闻”,并借用这种方式来保证与之相关的一些结论依旧成立(后来还推动了几何学发展)。他就像给数学打了一针止痛剂,让数学体系得以缓过劲来。然而,直到微积分时代,实际上是1872年,真正的解决方案——实数的三大派理论才在德国同时出现,第一次数学危机终于可以死得瞑目了。
值得一提的是,中国古代数学也遇到过这个问题,《九章算术》就曾提到“求其微数”,只可惜由于理论的超前,以及中国古代数学并不太关注数的本质,因此并没能继续发展下去。
第二次数学危机
经历了第一次危机,数学逐渐发展到让大学生们头秃的地步了——微积分出现了。 十七世纪,牛顿和莱布尼兹各自在无穷小分析的基础上发现了微积分理论。 然而,对于无穷小这种新概念,许多人都持反对态度。如贝克莱悖论就认为”无穷小量在牛顿的理论中一会是零,一会又不是零,简直是已死量的幽灵。“
为了方便了解这个悖论,我们可以从的导数出发, 我们认为其导数是.其悖论点就在于,在分母出现说明其不能等于0, 然而后续的等式中我们又将其作为0忽略了。他是0么?如0!
直到之前的实数理论建立,也就是在十九世纪七十年代初,维尔斯特拉斯、柯西、戴德金、康托尔等人独立建立了这一理论,在实数理论基础上,建立起极限论的基本原理,这才缓解了危机。 然而,危机解决了吗?显然并没有。即使是维尔斯特拉斯自己,也提出了一个处处不可微的连续函数的例子(科赫曲线等也是,这样的雪花曲线将有”无穷大“的边界,和有限的面积)。 这说明,此时的理论还是建立在直观和基础上。 关于这方面的思考,让数学家们不得不更深入讨论数学分析的基础——实数论的问题。 集合论也就应运而生。(图为柯西)
第三次数学危机
德国数学家康托尔在十九世纪下半叶创立了著名的集合论,实际上,这一理论对计算机由不可估量的影响。 然而,这一理论的提出遭到了巨大的攻击,甚至康托尔因此精神抑郁。
然而,金子终究是金子。很快,集合论的巨大作用就体现了出来——”从自然数和康托尔集合论出发,就可以建立整个的数学大厦,一切数学成果可建立在集合论的基础上“, 从当时的评价就可看到其恐怖如斯之处。于是,在一片喜气洋洋的气氛中,庞加莱先生,法国著名数学家,立下了那个至今和物理学笑话并驾齐驱的flag —— ”今天,我们可以说绝对的严格性已经达到了“。(图为康托尔)
达到了吗?如到! 波特兰.罗素先生对集合论提出了一个有趣的故事:塞尔维亚有一位理发师,他只给所有不给自己理发的人理发,不给那些给自己理发的人理发。那么问题来了,这位理发师是能不能给自己理发呢?现实里估计是别在这理发店,而且这还是个名剧 这个经典的故事,几乎学过集合论的同学都应该听说过。这也就是罗素悖论。数学的基础再次崩溃了。
于是,在沮丧中,1931年,数学兼哲学家哥德尔给大家想要完美理论的愿望钉上了棺材的最后一根钉子。 他证明,“任何一个你假定的能作为数学基础的公理集都不可避免地是不完备的:总有一些关于数的事实不能被这些公理证明。他还说明甚至没有任何一个候选的公理集能够证明其自身的一致性。” 正应了那句话,世界总是不完美的。想把数学彻底形式化?数学:去你的吧!
数学与计算机
危机结束了,但是我们并不能放弃数学的追求。尽管有的问题既不能证真也不能证伪,但有的依然可以,这之间的边界在哪里呢?毕竟,我们最终还是要解决问题的。这就引出了可计算问题。
简单来说,假如我们有一个函数f,他的定义域是D,值域是R,存在算法能够对D中任意给定的x,都能求出f(x),那么f(x)函数就是可计算的。也就是说,我们可以用这函数来对自己已经知道的条件做处理,得到我们想要的结果,也就是可用的。
为了判断可计算问题,数学家们提出为计算建立一个数学模型,称为计算模型,然后证明,凡是这个计算模型能够完成的任务,就是可计算的任务。也就是说,我们建立的模型就像评价器一样,它来告诉我们是否可计算。
于是,在我们文章开头就提到的图灵闪亮登场,他提出的图灵机正是其中的一种模型。
1936年,图灵在其著名论文《论可计算数在判定问题中的应用》中提出了图灵机(Turing Machine). 这也是计算机的基本原理模型, 美国计算机协会(ACM)的图灵奖也是为纪念这一贡献而设立。
(第一小节完)