携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情
最早的机械计算机是1642年布莱士·帕斯卡设计并制作了一台能自动进位的加减法计算装置,被称为是世界上第一台数字计算器,为以后的计算机设计提供了基本原理。它的不足之处主要是计算输入数据太慢,导致整个计算过程速度太慢,当然也无法实现微积分计算。
研制出能够进行微积分运算的机器的科学家是查尔斯.巴贝奇,于1822年研制出一台简单的差分机,能够完成一些简单的微积分计算,运算精度达到了6位小数,设计出来当即就演算出好几种函数表。后来巴贝奇试图制作一台精度为20位小数点的差分机,用了半个世纪的时间,不仅花光了政府资助的1.7万英镑,自己也投入了全部家当和大部分精力去制作这台庞大的机器,但1942年英国政府宣布断绝对他的一切资助。
在这痛苦艰难的时刻,一缕春风悄然吹开巴贝奇苦闷的心扉。一个女子阿达·奥古斯塔,是英国大名鼎鼎的诗人拜伦之独生女,这位小有名气的数学才女成为了巴贝奇的合作伙伴,他们开始共同研制新的计算机。1852年,怀着对分析机成功的美好梦想和无言的悲怆,巾帼软件奇才魂归黄泉,香消魄散,死时年仅36岁。
阿达开天辟地第一次为计算机编出了程序,其中包括计算三角函数的程序、级数相乘程序、伯努利函数程序等等。阿达编制的这些程序,为计算程序拟定“算法”,写作的第一份“程序设计流程图”,被珍视为“第一位给计算机写程序的人”。人们公认她是世界上第一位软件工程师。
巴贝奇和阿达是最早想到用程序控制机械计算机的人,不过他们在实现想法时陷入一个误区,那就是用复杂的方法解决复杂的问题,最终机械复杂到一定程度,就无法造出来。
当巴贝奇的差分机发展到尽头后,这时候有三个著名人物,英国数学家乔治.布尔、美国科学家克劳德.香农、德国工程师康拉德.楚泽,带来了新的理论和思路,布尔的贡献在于通过二进制将算术和简单的数理逻辑统一起来,并且为大家提供了一个工具,即布尔代数。现代计算机内部都是采用二进制,二进制比起十进制有明显的优点,首先二进制很简单,可以跟自然界很多现象直接对应,比如连通、断开、高电压、低电压等,其次,它还天然和逻辑判断对应,这就给计算机控制带来了巨大的灵活性,布尔开创性的将二进制和逻辑演算对应起来。1954年布尔写的《思维逻辑的规律》向人们展示了如何用数学的方法解决逻辑问题,不过布尔在世的时候,并不知道自己发明的布尔代数有什么好的应用场景。
克劳德.香农,在电子计算机发明之前,布什发明的微分分析仪是是计算计算能力最强的计算机,但是他是靠机械装置实现计算,另外它是模拟的,精度提升的空间有限,因此非常难以改进,香农没有像巴贝奇一样,试图设计更复杂的计算机来解决更复杂的计算问题,开始寻找简单的方法来解决复杂的问题。香农发现世界上很多现象和布尔代数逻辑是对应的,它提出来一个想法,用基于布尔代数的逻辑电路来控制分析仪的运转,这样可以让分析仪解决更复杂的问题,在此基础上香农进一步发现,加减乘除各种运算都是可以由很多个基本的逻辑电路搭出来,香农在布尔代数和算术运算之间搭建起来一座桥梁,这座桥梁就是简单的逻辑电路,香农奠定了今天所有数字电路设计的基础。香农的电路设计思想可以被总结为模块化和等价性。
模块化就是用少量的简单模块搭建出各种复杂的功能,计算机产品中,通常都是大量相同模块的复制,这也是IT产业能够快速发展,摩尔定律能够成立的原因,另外之所以能够简单的模块化背后就是因为能够等价化,再复杂的计算都可以等价成很多加、减、乘、除的运算,再进而等价成开关电路的逻辑运算,这样事情就容易多了。
康拉德.楚泽,世界上第一个用模块化原理实现了可编程的计算机,他找到了一条解决复杂问题的正确途径,重复使用简单的模块实现各种复杂的功能,巧妙的运用等价性原则,通过实现二进制计算间接的实现了十进制运算,同时他提出了计算机程序控制的基础概念,1941年制造出世界上第一台能编程的计算机Z3。这台计算机总共设有2000个电开关,是当时世界上最高水平的编程语言的计算机,楚泽因此也被称为现代计算机发明人之一。
楚泽并没有阅读香农的论文,但他却能够以工程化的手段,自己探索实实在在实现了香农的理论下的计算机,但楚泽缺乏理论基础,很难在此基础上将计算机科学快速推进,一项技术能够不断改进离不开理论的指导,二战之前在这个领域最大的理论家当数图灵了,他从数学上奠定了可计算问题的理论基础,或者说他提出了计算机的数学模型----图灵机。
阿兰.图灵 英国数学家、逻辑学家,被称为计算机科学之父,人工智能之父。他在思考计算机相关的问题时,从计算的本质来寻找计算机的极限,图灵很懂得在边界里做事情,他把注意力放到了解决那些能够通过机械运动解决的问题即可计算的问题,很多数学问题没有明确的答案,即使有也无法在有限的步骤内找到,图灵将精力集中在那些能够在有限步骤内计算出来的数学问题上,为此他设计了一种后来被称为图灵机的数学模型。
图灵机的意义是,首先它将世界上的数学问题分为两类一类是可以用机器在有限步内完成计算的,另一类是不可以的,在计算机科学中说一个问题可不可以计算,不是在数学上是否能计算,而是指能否用图灵机的逻辑来计算,其次,图灵机虽然是虚构的,但是它给后人设计计算机提供了一个行之有效的原则,最后图灵机把求解数学问题的过程和机械运动对应起来了。图灵相当于奠定了计算机软件的原理,而另一位大佬冯诺依曼则奠定了计算机的基本硬件体系。
世界上的很多问题都不是数学问题,在数学领域,只有一部分问题我们能够判断是否存在答案,大部分是无法判断答案是否存在,在有答案的问题中,有一些是可以通过图灵机解决的,就是那些可计算的问题,但是并不是所有可计算的问题都能够用图灵机解决,现实生活中的计算机能解决的问题只能是可计算问题中的一个小的子集,有些计算复杂度超过指数函数的问题大多是在工程上无法解决的问题。今天的人工智能,也是由特定程序控制的、能够解决某一类问题的计算机,这一类问题比如图像识别、无人驾驶、计算机翻译、下棋,这些计算机可以解决的问题,并没有超出图灵可计算问题的范畴。
人工智能之所以显得很聪明,能够做越来越多的事情,只是因为很多问题过去大家没有找到可转变的数学问题的桥梁,而现在找到了而已,但是无论怎么扩展,人工智能都不能超出可计算这个范畴了。
迄今为止,计算机相关理论和技术发展都没有超越图灵机的范畴过,80多年前,图灵为计算机所能解决的问题划的那条线,至今还没有被逾越。图灵超越时代之处在于,他在还没有计算机的时候,就划定了可计算问题的边界。
相关人物简介
布莱士·帕斯卡(Blaise Pascal,1623年6月19日~1662年8月19日),出生于多姆山省奥弗涅地区的克莱蒙费朗,法国数学家、物理学家、哲学家、散文家。
查尔斯·巴贝奇(Charles Babbage,1791年12月26日—1871年10月18日 [1] )是一名英国发明家,科学管理的先驱者,出生于一个富有的银行家的家庭,曾就读于剑桥大学三一学院。巴贝奇在1812~1813年初次想到用机械来计算数学表;后来,制造了一台小型计算机,能进行8位数的某些数学运算。
奥古斯塔·阿达·金,勒芙蕾丝伯爵夫人(Augusta Ada King, Countess of Lovelace,1815年12月10日-1852年11月27日),原名奥古斯塔·阿达·拜伦(Augusta Ada Byron),通称阿达·洛芙莱斯(Ada Lovelace),是著名英国诗人拜伦之女,数学家。计算机程序创始人,建立了循环和子程序概念。
为计算程序拟定“算法”,写作的第一份“程序设计流程图”,被珍视为“第一位给计算机写程序的人”。为了纪念阿达·奥古斯塔对现代电脑与软件工程所产生的重大影响,美国国防部将耗费巨资、历时近20年研制成功的高级程序语言命名为Ada语言,它被公认为是第四代计算机语言的主要代表。
乔治·布尔(George Boole,1815.11.2~1864),1815年11月2日生于英格兰的林肯。19世纪最重要的数学家之一,出版了《逻辑的数学分析》 ,这是他对符号逻辑的第一次贡献。1854年,他出版了《思维规律的研究》 ,这是他最著名的著作。在这本书中布尔介绍了现在以他的名字命名的布尔代数。
康拉德·楚泽(Konrad Zuse,1910年6月22日-1995年12月19日),德国工程师。他提出了计算机程序控制的基础概念,1941年制造出世界上第一台能编程的计算机Z3。这台计算机总共设有2000个电开关,是当时世界上最高水平的编程语言的计算机,楚泽因此也被称为现代计算机发明人之一。希特勒战败后,楚泽辗转流落到瑞士的乡下,转而研究“计算机演算”理论。他也是通用计算机编程语言的发明者。
克劳德·艾尔伍德·香农(Claude Elwood Shannon,1916年4月30日—2001年2月24日)是美国数学家、信息论的创始人。1936年获得密歇根大学学士学位 。1940年在麻省理工学院获得硕士和博士学位,1941年进入贝尔实验室工作。香农提出了信息熵的概念,为信息论和数字通信奠定了基础。主要论文有1938年的硕士论文《继电器与开关电路的符号分析》、1948年的《通讯的数学原理》和1949年的《噪声下的通信》。
艾伦·麦席森·图灵(英语:Alan Mathison Turing,1912年6月23日-1954年6月7日),英国数学家、逻辑学家,被称为计算机科学之父,人工智能之父。
\