计算机的哲学透视---伤心啊!这是论文部分中华科老师要求去掉的部分,就发到blog上了
1. 建立在数学之上的自然界
善问者,如攻坚木,先其易者,后其节目。
——《礼记学记》
1.1 智慧的人大千世界,缤纷瑰丽,充满了神奇色彩。只要你用心观察你就会发现世界到处充满了神秘。东兔西乌这是最常见的,也是现代科学可以解释的。也许这个世界中最神秘的莫过于我们自己了。当你为人类的一项项科技创新,叹为观止的时候,你是否想到为什么人是万物的灵长呢?也许有神论者会认为这是神的创作,是神赋予了人智慧。那么作为无神论者的我们总不能自欺欺人了吧。你也许会说那是因为人具有思考的能力。那么为什么只有人才具有思考的能力?大自然物竞天择、适者生存的结果。那为什么年代更为久远的鳄鱼不具有思维的能力?也许你只要多问上几个问题就会使最为博学的学者们同《两小儿辩日》中的孔子一样不能决也。
700万年前,当人类的祖先古猿开始直立行走的,便昭示一个新时代的到来。虽然直立行走,不利于古猿的快速行动,但是解放了古猿的双手。人类祖先利用灵巧的双手制造了工具,开始学会使用火,并且懂得利用钻木取火的方式产生火。伴随着人类大脑的发育,人类开始逐步的摆脱无意识的生活方式,慢慢的学会思考。人类正脱离自然界,迈向新文明。而人类脱离自然界的原因,正如20世纪伟大的哲学家卡西尔所说的人类世界与动物世界的分水岭在于命题语言与情感语言之间,而命题语言与情感语言的区别就是符号(symbols)与记号(signs)的区别。记号与符号属于两个不同领域。记号是物理的存在,世界的一部分;符号则是人类世界的一部分。真实人类摆脱无意思的胡涂乱抹的记号时代,进入受意识控制的线条符号阶段,最后又将内心对自然物体的印象和意识的描述发展至平面图形化的过程,继而不再沿用肢体语言、口头语言等传统的表达方式和位于其他时间、空间场合下的人们发生内心意识的交流。做一个简单的假设,假设有一个非常聪明的人发明了很多东西,摸索出了很多道理,如果没有通过知识的传承,那么下一代人又得重先人的那个起点开始摸索。我们的起点就是先人知识的终点,就犹如接力赛,我们接过先人传承下来的智慧接力棒,继续前行。假如没有意识控制的符号的出现,没有只是的传承,那么我们的起点和先人一样,我们也只能徘徊在先人智慧所达的地方罢了。人类的智力才得以飞跃式的发展。也正是因为如此先人的知识得以传承下来。在知识传承的过程中传承媒介也起到重要的作用,世界知识的两次大爆炸,第一次源于纸的广泛使用,第二次源于计算机互联网的普及。再者,经过几百万年的进化,我们的大脑的基因开始适应各种各样的思考活动产生了变异,基因的传承也同样促进人类智力的更好发展。在那一条通往智慧的路途上,我们的祖先真实我们的拓路人。相反的由于其他动物它们的内心意识一直被局限在记号的单纯阶段,没有创造性的运用符号系统表达、传递彼此的意愿知识。更没有所谓的知识的传承。所以存在着大脑体重比比人大的动物,但是却不存在着具有思维的其他动物。
大自然选择了人类作为万物的灵长,并且赋予人类思维的能力。但是思维是否独立于身体之外呢?对此存在实体二元论与心脑同一论两种观点的争议。实体二元论认为思维是独立于身体之外而存在的,思维有时候也被说成灵魂,即肉身只是灵魂的暂时的寄宿的地方,灵魂可以脱离肉身而存在。有神论者一般持此观点,因为这样更加有利于宗教教义的宣传,因为大部分宗教都奉行精神永存的观点。而心脑同一论则坚持思维即大脑、思维的活动即是大脑各个神经元之间的活动。这就好像曹操和曹孟德都是指同一个人,只是称谓不一样而已。伴随着许多医学的发展,越来越清楚的表明大脑承担心智活动的功能,一旦它受损,心智就会改变甚至缺失。因此心智不能作为一个独立的实体而存在。但是即使心脑同一论能合理解释实体二元轮无法解释一些关于心智问题,心脑同一论同样不完备,同样面临着挑战和质疑: 第一,它违背了多重可实现性原则,我们无法先验地排除同一类型的心智状态能在不同的物理状态下得到实现的可能。具体来说,心智的体验和感受具有私人性和直接性,而物理的属性或过程却是公共的和间接的,为此二者之间存在着难以弥合的裂缝。第二,它面临着“意识的难问题”的困扰, 也就是在面对意识的感受质(qualia)时, 心智状态无法还原为大脑的物理-生理状态,,二者之间存在着解释鸿沟。但是即若如此现代一般著名的哲学家和医学家都是坚持心脑同一论。坚持心脑同一论即等同于坚持唯物主义。
虽然我们现在不能解释心脑同一论存在的问题,但是我们不得不承认思维是人类统治这个世界的一把利器。思维的过程发展是从知识的归纳演绎发展到抽象思维。知识的归纳演绎是人类最早认识和最广泛使用的。归纳是从许多个别的示例中提取出适用于一般事物的规律。归纳的过程存在着归纳事物的范围不够大,或者是存在的特别例子使归纳的结果出现偏差。归纳是从个体到一般的过程。而演绎刚好相反演绎是从一般到知识的获取:这是通过人的感官对现实世界的光色声的获取,还有演绎是从一般到个体的过程,演绎的过程依赖于归纳的结果。举个例子来说
小明看见过许多次天鹅,
第一次看见的天鹅是:白颜色的两只脚的;
第二次看见的天鹅是:白颜色的两只脚的;
第三次看见的天鹅是:白颜色的两只脚的;
第四次看见的天鹅是:白颜色的两只脚的;
↓
第N次看见的天鹅是:白颜色的两只脚的。
于是小明根据观察结果归纳出:所有的天鹅都是白颜色的两只脚的。这就是归纳的过程。当有一天小红家捉到一只天鹅时小明就想那只天鹅一定是白颜色的两只脚的。这就是演绎的过程。但是实际上小红家的那只天鹅是黑颜色的两只脚的。所以归纳的结果是待证的,只是因为归纳的过程不能穷尽类似的过程。
当人们学会抽象思维的时候是思维发展过程中的一次飞跃。抽象思维是思维的高级形式,又称为抽象逻辑思维或逻辑思维。抽象思维法就是利用概念,借助言语符号进行思维的方法。其主要特点是通过分析、综合、抽象、概括等基本方法协调运用,从而揭露事物的本质和规律性联系。从具体到抽象,从感性到理性认识必须运用抽象思维方法。在哲学里,“抽象化”是一种将观念抽离原本客体的思想过程。也正是因为人们思维开始学会抽象化,摆脱了非本质的因素对问题的干扰更好的认识自然,改造自然。抽象逻辑思维的基本单位是概念,人们通过概念进行判断和推理。概念、判断、推理是抽象思维的基本形式。抽象逻辑思维是人类特有的思维形式,抽象思维法是人类思维的基本方法。正为如此整个数学王国都是建立在抽象思维的基础上,比如数的概念就摆脱了具体事物的干扰,从而可以说我家养的猪比你家养的羊多。而整个物理学也都是建立在数学和假设的基础之上。
对比思维的思考方式和数学的基本方法我们会发现二者几乎相等。数学的创造是人类思维的的产物。但是相反的数学能否解释思维的存在,解释大自然的奥秘呢?马克思主义坚持的可知论认为世界是可以认识的,只是存在时间的长短与技术的发展与否的问题。既然人类可以认识自然,而思维的思考又等同于数学的方式。人类科学技术的发展无一不是得益于数学的发展呢?所以是否正如伽利略说的大自然这本书是用数学写的呢?
1.2 万能的数学数学作为人类思维的表达形式,反映了人们积极进取的意志、缜密周详的逻辑推理及对完美境界的追求。当人类解决现实生活中遇到的各种问题时候,首先是分析问题,并将问题形式化,在大脑中形成抽象化非现实的问题描述,数学上管问题的形式化描述为数学建模的过程(有很多模型不是可以用现代数学语言直接描述的),对问题的求解就是完全的数学求解了。数学是人类抽象思维的形式化。数学伴随着人类的发展而出现形式化的。远在人类没有出现之时,大自然的万物就懂的数学。只是动物懂的是低等的数学,且动物会用他们自己的方式去解释大自然,去适应大自然。前面我们讲过大自然其他动物它们的内心意识一直被局限在记号的单纯阶段,没有创造性的运用符号系统表达、传递彼此的意愿知识。而这里所谓的记号的单纯阶段即是低等的数学也是没有形式化的数学,没有抽象化的数学,这是有别于人类的数学的。
早在远古的时候,当我们的祖先开始结绳计数时候,数学就开始趋现雏形了。
那时候虽然没有进制的概念,但是那就是自然数。当自然数诞生后,人类便开始将自己的思维数学化,形式化。正如Kronecker说的“上帝创造了自然数,其它都是人的作品。”我们可以认为自然数是最接近大自然的语言,而人类的语言只是动物物种之间交流的工具。数学只是在自然数的基础之上,人类思维的形式化。所以千百年来各种数学理论相继被提出,但是又相继被推倒,修正。人类的进化史是一部认识自然,改造自然,甚至超越自然的历史。而数学的演变发展集中的体现人类的思维进化,所以我们认为数学是可以解释大自然的奥秘。甚至你可以讲大自然其实就是简单自然数的复合,因为数学就是自然数的发展。
下面我们举个例子来说明,数学是怎样从自然数发展而来的呢?假设,long long ago 有一个人叫小K,小K家只养羊,小K家有100只羊。当然小K不知道100是什么。但是小K也有办法知道自己有多少只羊,当“鸡栖于埘,曰之夕矣,羊牛下来”时候,小K可以在门口守着每当一只羊进入羊圈后,小K就迅速的在准备好的绳子上打一个节。这样小K就知道他家样的个数和绳子上的节点数一样。其实这里就用到抽象和等价的概念。将羊抽象成单纯的数,这就是数的产生,他不依赖于实体物质本身,所以使不同的物质羊和绳子的节点存在可比性。下面我们讲一下小K是怎么用加法的。某一个阳光明媚的上午,小K家的羊产下了4只小羊崽,当然此刻小K的心情也是阳光明媚,于是小K在那串代表羊个数的绳子上再打上了4个节。这就是加法,一种没有形式化的加法而已。下面我们再介绍一下减法。某一天隔壁家的小T家的牛产下了3只小牛犊,小K就想去养一只牛,但是小T要求小K拿自己的两只成年的羊来交换。小K思考再三决定换了,此时小K就会在那条代表羊个数的绳子上解开两个节,这就是减法,同样是没有形式化的减法。所以我们可以认为大自然最基础的数学就是自然数,而小K使用的那堆绳子上的节点正是“量”。大自然之书是用“量”符号书写而成的,人类用自身智慧准确地解读了它,揭示了量交换的奥秘,超越直观而达到了抽象,超越感性而达到了理性,从而形成了建立在“量”概念上的数学。
当代计算主义认为世界的本质是计算的,这有别于马克思主义所说的世界的本质是物质的。原因正如人工生命理论的创立者兰顿认为,“生命的本质不在于具体的物质,而在物质的组织形式。生命并不像物质、能量、时间和空间那样,是宇宙的基本范畴,而是物质以特定的形式组织起来派生的范畴。这种组织原则完全可以用算法或程序表达出来。所以,只要能将物质按着正确的形式构建起来,那么这个新的系统就可以表现出生命。”这也许会引起你的大大的反感,因为我们从小到大都是被灌输的世界的本质是物质的思维。这就好像当初地心说的捍卫者们听到日心说时候的震撼和质疑、不屑。不过我们应当注意科学是自由的。当然当一门科学被统治者作为思想统治的工具时候,也许就具有不可捍动的权威了。特别是近代科学理论的发展,1951年瓦尔森,克里克和威尔金斯三人共同发现了人类遗传因子DNA的分子结构和DNA的编码特性, 2001年11月,以色列科学家成功研制成世界第一—NA计算机,它的输出、输入和软硬件全由在活性有机体中储存和处理编码信息的DNA分子组成。证明了人类或者是生物的有机体的本质是计算的。当布尔成功的将逻辑推理数学化,人类的思考推理问题的过程也将数学化,这是一种跨民族和国家的世界语言。物质的最小单位是原子(或者说是夸克)都是的运动是有规律的。种种的一切似乎更加证明了我们得出的结论大自然这本书是用数学语言书写的,大自然的本质就是计算 ,世界的本质就是数学。
世界的本质是数学的。这种说法不是依据几个科学实验投机取巧取得的结论。著名计算机学家图灵说过:“我们只能向前看到很短的距离,但是我们能够看到仍然有很多事情要做”。所以我们现在不能解释的东西也许不是不可能只是
受限于现在的技术与科技。马克思主义中的可知论,也认为世界是可以认识的,不能认识的问题,只是受限于当下人类的科学技术。所以我们不能认定世界就是物质的这个道理,从而使自己的思维受到限制。
科学或技术的重大变革往往会改变人类对世界和自身的基本看法,相应的一些基本概念也会被泛化为一个基本的世界本体论范畴,也就是说科学技术往往催生一种解释世界本质的新观点。17-18世纪,随着牛顿力学的巨大成功,人们尝试用力的观点去解释世界,结果形成了机械唯物主义的世界观,19世纪随着能量守恒定律的发现,又催生了宇宙中一切皆能的观点,当代信息技术的发展,人们沉浸在大量的信息数字之中,于是又有很多了呢提出“是在出自比特”的世界观。但是贯穿着其中数学起到了不可忽视的作用,17-18世纪,牛顿和莱布尼兹发明了微积分,促进了力学的发展;19世纪是数学史上创造精神和严格精神高度发扬的时代。复变函数论的创立和数学分析的严格化,非欧几何的问世和射影几何的完善,群论和非交换代数的诞生,这些数学成就直接促进了电磁场,能的更好发展,而二十世纪,罗素、布尔等人的逻辑推理直接的奠定了计算机科学的理论基础。数学一直贯穿这些理论上。人们质疑数学的原因是显然的。因为数学是虚有的,以一个不存在东西区解释一个真实的物质的世界确实存在巨大的困难。即若数学是自然界是万物的运动的规律,但是如果脱离了物质还是一个乌邦托。我们说世界是数学的原因是当你用数学可以解释自然界,只要给你物质就可以建立一个宇宙。这个思想同毕达哥拉斯提出的数学是宇宙万物之本源的观点是一致的。
著名哲学家怀海特在《思维方式》中是这样利用数学来解释自然的。怀海特将数学分为两种“静的数学”和“动的数学”。怀海特将数的概念描述为“静的数学”,他说“当事物静止的时候,就存在数的概念。数学最基本的数是一种形而上学的观念,也可以说是一种形而上学的抽象。”举个简单的例子来说羊主小K说“我家有100只羊。”此时的羊的数目就是一个形而上学的抽象,此时的将样的头数,不会忽略时间和空间的影响。而怀海特将数学中的各种运算描述为“动的数学”。怀海特通过描述柏拉图的思考数学的方式来描述“动的数学 ”。“当柏拉图思考数学时,他就设想有一个不变的形而上学世界并把这个世界同转化世界中心的而单纯模本对立起来。但是当他思考活动的现实的事物时,他就趋于相反的观点。为了使形式不至于空洞无意义。他要求‘生命和运动’,关于‘生命和运动’的理论,数学的融合方式如‘加法’‘乘法’‘级数形式’都被设想为过程和形式。”还是小K的例子,小K的羊产下了4只小羊崽,我们做加法时候是一个过程,是羊产崽前后的过程。而数学就是将这个过程抽象的描述为运算过程。一种以符号的变化来描述自然界的过程。
邓小平说“科学技术是第一生产力”。我们现代社会的发展得益于科学技术的发展,物理,化学,生物,建筑,冶金等一切学科的发展。数学深深地植根于这些自然科学中。依据我们前面讲的数学是规律,而其他自然科学只是不同物质加上不同的规律组成的不同自然科学。当你多姿多彩的世界所震撼的时候,你可以透过现象,发现世界的奇迹就是一大堆的数学公式的演算加加上人类的语言诠释。举计算机来说:计算机的发展到今天无疑是物理学与数学结合的产物,计算机的整个系统就是一个完整的数学模型。当计算机的器材从电子管到晶体管再到集成电路,虽然速度得到大幅度的提高但是其数学特性都是没有变的。早期的计算机科学家也大都是数学家。所以不管从主观还是从客观上数学史计算机得以广泛使用的幕后英雄。计算机的大部分功能都是考0、1的逻辑运算实现的。这也是下一章我们要介绍的为什么逻辑上可以架起整个数学王国。
2. 逻辑里的计算机王国
上文提到当集合论出来的时候。数学家就投入了大量的兴趣,并声称在集合论的基础上可以建立整个数学王国。但是随着悖论的出现,数学家们才消弭了这场热情。其实集合论的基本运算属于与不属于其实就是逻辑上的是与否的关系而已。所以我们是否也可以说逻辑上可以建立起整个数学王国。
即数学即使逻辑。
“逻辑的意义在方法,而逻辑方法其实都就是数学方法:
加法,即总结法;
减法,即分析法;
乘法,即归纳法;
除法,即演绎法;
大于、小于、等于、约等于、不等于等等,皆比较法;
而量变或变量,揭示相关量之间相互制约、对立统一的关系,即辩证法。
逻辑方法皆数学方法,逻辑当然也就是“数理逻辑”。
人们说,“语言是思维的工具”,“逻辑是思维的方法”,也就是说,它们都不是思维的本身。只有语言与逻辑的有机组合,才是完整的思维。而语言即数量概念,逻辑即数理逻辑,其有机组合,就是数学。”【1】
从三段论到罗素的逻辑符号的出现。到现在的多元逻辑的产生。逻辑一直在扮演者非常的角色。其实我们只要将数学上数的概念转化为2进制就可以和逻辑上的真假相对应了。我们可以来一个根据结果推测原因的假设。我们都知道计算机中实现加法,乘法和各类运算都是对计算机中0,1组成的数字的操作。我们的基本元器件都是针对0,1产生相应的运算的过程。我们可以把0,1看成是逻辑上的真和假。而把运算的过程看成是逻辑推理的过程。
我们记得第一批计算机科学家大部分就是数学家。数学和计算机是息息相关的。也许计算机的硬件一直在变化从二极管到晶体管到氧化硅的演变,但是计算机的数学特性一直没有改变的。
所以我们说计算机是数学发展的时代成果,“它首先选择出量存在的数字共性,把量存在数字化;再选择出数字间的可交换共性,把数字交换关系化;最后选择出交换关系中的规律性,把交换关系程序化。”【2】
所谓“计算机语言”,其实就是数学语言;所谓“计算机程序”,其实就是数理逻辑。
张之沧教授在《第四世界----一种新时空的创造和探索》中说第四世界是人类借助于电脑网络,电子通信,虚拟技术以及丰富的想象力将光、电、色、数位与信息集于一体。对宇宙万物和人类社会的政治、经济、科学文化、日常生活类比见的一个与“自我”紧密结合的新天地。它是虚拟现实。而张之沧教授说它的存在方式-------赛博时间和赛博空间,以及决定这种时空最紧密的结合的逻辑形式。我们其实说白了就是用逻辑性严密的程序建立起的一个虚拟的世界。
我们计算计算机硬件学习的第一门课数字逻辑或称数字电路,其实就是逻辑在具体的电路上的表现。从与或非,在到状态机。无不是逻辑语言在硬件电路上的实现。所以我们可以说计算机是建立在逻辑之上的,物化在具体电路上的一个产物。在冯诺依曼的《计算机与人脑》讲述了,其实计算机就是人脑的一个小的演示而已。但是计算机的基本组成器件中的集成电路相比于人脑的神经元,二者的运算能力简直判若云泥。况且神经元之间的并行能力也远大于集成电路。生物学家说,即使是一个简单的细胞,其所有的运作情况都是现在的所有计算机不能模拟的。所以即使我们有了彻底的唯物主义,即我们能够彻底的完整的解释了思维的产生,在计算机超越人脑的路上,一个真正有思维的计算机上我们还有很长的路要走的。
路虽漫长,但是一定是在现在的基础之上完善的。计算机用于是用0,1逻辑来描述这个世界的,那是计算机的语言。因为这个和人类的自然语言之间有很大的差别。所以我们通过采用替代的方法实现的了汇编这个更容易接近我们现实的语言来描述计算机。下一章中我们会详细的介绍指令的设计和要求。
【1】 【2】见参考文献6