发布时间: 2003-8-8 作者:马克义
本文所说的“计算机思维”,指的是“计算机象人的大脑那样的工作”。由于我们目前对人类大脑工作的原理还至少处于半无知的状态,我们也就无法确切地界定什么是思维。这样,我们就只能换另外一种方式来讨论 “计算机能不能思维”这个问题,即把“计算机能不能思维”这个问题改变“计算机能不能象人的大脑那样工作”这样的问题来讨论。
从本世纪70年代开始就有不少的计算机科学家预言“能够思维的计算机”很快就会问世。但是,到目前为止,即使全世界最高级的计算机也还始终只是一台按照人编制的程序工作的“机器”。 在现代机器刚刚发明出来之时,不少人希望能够制造出一旦发动就不再需要新的能量、能够永远运转不停的“永动机”。后来,科学家们能够最终能从理论上证明“制造永动机”的不可能。我们现在虽然不能象科学家们证明“永动机不可能”那样证明“计算机不能思维”。但至少可以从逻辑上对这个问题作出一个初步的判断。
一、从计算机语言的角度证明计算机不能象人的大脑那样工作
许多计算机科学认为将来的计算机能够象人的大脑那样思维的主要原因是因为人类使用语言思维,计算机也可以使用计算机语言。这样,计算机最终能够象人的大脑那样思维。
在这里,赞同计算机能够象人的大脑那样思维的计算机科学家犯了如下逻辑上的错误:先把人类思维简单地等同于语言思维,再把计算机语言简单地等同于人类语言。这样,人是用语言思维的,凡是能够使用语言的“事物”---不管是人还是机器,都能够“思维”。我们可以通过人类语言和计算机语言的对比来证明:在现有的计算机硬件水平上,无论采用什么高级的计算机语言,计算机都不可能象人的大脑那样思维。
1.人类自然语言的特点
人类自然语言既是交流的工具,又是认知的工具,同时也是思维的工具。由于人类自然语言同时要满足这三种功能,它就必须达到如下要求:思想、方法、对象三者同时融于语言之中。这就是人类自然语言的“三位一体性”。如果没有这种“三位一体性”, 人类自然语言对人类就失去了意义。试想,如果我们用语言交流,双方却不能通过语言知晓对方的思想和思维的对象以及方法;我们用语言认知,却不能用语言把握对象、掌握方法和认知目的;我们用语言思维,我们却不知用的什么方法,思维的对象是什么,用什么观念控制思维。在这样的情况下,语言对人类还有什么意义呢?与此相应,人类自然语言要同时满足这三个功能,就必须是具有相当程度的不确定性。这也就人类自然语言的“说不准原理”,即在任何一种语境中,语词所指称的对象都只是相对确定的。
人类自然语言的这种“说不准”的特点决定了人类大脑思维过程的模糊性。现代神经生理学和神经心理学等学科的研究已经证明,人的大脑左、右半脑是有相当分工的。对于大多数人来说,语音语词存储在大脑的左头脑,视觉表象或“图景”存储在大脑的右半脑。大脑思维过程的模糊性就是,人类大脑左半脑中的语词与右半脑中的“图景”是一种非常模糊的对应关系。这种模糊的对应关系使得人类大脑根本不可能象电脑那样快速准确地“计算”。然而,正是这种模糊性给人类以极大的适应性,使得人类能够在极端不同的环境条件下生存。人类自然语言具有极大的模糊性,但人类所处的自然环境具有一定程度的同一性,外部世界通过视觉进入人类大脑右半脑的信息具有一定程度的同一性和确定性,大脑右半脑处理这些外部信息的机制具有一定程度的同一性和确定性,大脑左半脑的语词与其指称的大脑右半脑的“图景”也具有一定程度的同一性和确定性,人类在交流过程中使用的语词对外部事物的指称也具有一定程度的同一性和确定性。人类依靠这一定程度的同一性和确定性,通过相互交流达到一定程度的合作,通过在这种合作过程中不断地试错,进而有效地适应环境。这样,人也就成为万物之灵。
2.计算机没有主体,计算机语言没有思想
我们是否能在现有的集成电路的技术之上,“创造”出一种新的计算机语言,使计算机能够象我们人类大脑那样工作呢?这似乎是不可能的。计算机是没有“主体”的。一个没有主体的机器却要使用必须有主体才能使用的语言,似乎从逻辑上也说不通过。现有的计算机的命令语句全部是祈使语句。而人类自然语言中,每一句话都包含着说话的主体,只是我们习惯地省略掉了这个主体。比如,我们对某人说“Copy the file.”时,全部语句是“I want you to copy the file.”在这里,“I”是主体,“you”是“I”祈使的对象,“to copy the file”是“I”祈使的对象的行为。而在计算机语言中,“I”是我们操作计算机的人,“you”则是计算机,“to copy the file”则是计算机的行为。我们通过对计算机语言的分析,也可以看出,计算机是没有主体的。在我们还没有创造出具有主体性的计算机之前,我们不可能为计算机“创造”出一种能够使用必须具有主体性才能使用的语言。
计算机之所以能够比人类大脑更加快速准确地“计算”,正是在计算机克服了人类自然语言上述“三位一体性”的“缺陷”。计算机能够快速、准确地“计算”的最基本的原因,就是硬件与软件的分离、程序与数据的分离。这实际上也就是将我们人类自然语言中的思想与方法、方法与对象、思想与对象实行了分离。由于这些分离,使得计算机的程序语言中的命令与数据,都能非常精确地指称计算机内存里面的确定区域。这样,计算机“计算”的时候,就不会象人类大脑那样,左半脑中的一个语词指称的是一个几乎难以确切地划分出“边界”的右半脑中的图景,而是一块有着确定“地址”的内存区域。这样,计算机就能够达到快速准确地“计算”了。
计算机语言没有思想。计算机语言的“思想”存在于编制程序的人的大脑之中,这就将使计算机语言的思想与方法分离了。计算机的程序语言是一种高度形式化的语言,这种语言与它要处理的对象是严格分离的。而计算机语言所要处理的对象,仅仅是数据。即使我们称现在的计算机能够处理“图象”和“声音”,它也是把这些图象和声音变成了数据之后进行处理的。这样,计算机语言又达到了方法与对象的分离。由于计算机语言没有思想,当然就谈不上思想与对象的分离。而我们之所以能够有效地利用计算机,其中最关键的一条也就是我们把需要计算机处理的信息变成了“数据”。这同样使得我们的思想---我们不同的人之间的关于世界的看法与对象分离了。因为,数据一旦采集之后,就成为一种“客观”的东西,无论我们用什么样的观点看待和处理这些数据,但是,数据本身却不会变化了。由于计算机语言能够达到帮助我们人类在处理信息的过程中使思想与方法、方法与对象、思想与对象三者之间达到非常有效的分离,计算机也就能够为我们做很多的工作。而这一点,则正是计算机的优势。
3.现有的计算机不可能象人的大脑那样思维
通过从计算机语言的角度对计算机的功能的分析,我们可以知道,我们能够使用计算机语言使计算机好好地为我们工作,正是因为计算机语言帮助我们克服了人类自然语言“三位一体”的“缺陷”,使人类自然语言中的思想与方法、方法与对象、思想与对象在计算机语言中产生了较高程度的分离。计算机及计算机网络能够在我们生活中起到那样巨大的作用,最基本的原因就是硬件和软件的分离、程序和数据的分离。硬件和软件的分离并不仅仅只是在计算机技术之中,现代任何工程技术就实行了这种分离。现代大工业机器生产,其硬件和软件都实行了分离。否则,人们不可能在全世界各地生产元部件,然后再在产品的需要地组装。今天,人们可以在全世界各地生产计算机的各种元件和部分,也是由于人们共同使用的是高度形式化的数字逻辑和机器语言。而程序和数据的分离,则是计算机信息处理技术中的一项最重要的革新,计算机网络充分利用了这种技术,使得人们可以在世界各地相对独立地编制程序和收集数据。而这些程序和数据却可以通过网络使各种不同的计算机共同享用。
从上面的证明中可以看出,计算机能够达高速、准确地“计算”,其关键原因就在于计算机没有主体,计算机语言没有思想。这就使得不同的人们能够有效地利用计算机使人类的思维过程中将思想、方法和对象分离开来。由于这种分离作用,不同地区的、不同民族的、不同语言的人们可以在计算机网络上共享信息资源。
在计算机语言的思想、对象和方法的分离的基础上,计算机语言中的命令、变量和常量与计算机存贮器里面的一定的区域有着严格的指称关系,这样,计算机就能够快速、准确地寻址和计算。尽管现代高级计算机的“计算”速度及其准确性令我们吃惊,但是,由于计算机是一台没有主体的机器,计算机语言是一种没有思想的语言,要这种使用没有思想的语言的没有主体的机器象人的大脑那样思维是根本不可能的。并且,我们不可能创造出一种具有“思想”的计算机语言,让没有主体的计算机使用。这似乎在逻辑上是始终讲不通的。就象人类教动物学说话至少有几百年的历史了,但目前还没有成功的一例。动物之所以不能象人一样的说话和思维,就是无论如何,它们是没有主体的。计算机的内部结构比动物的大脑不知简单多少倍,让这样简单的、没有主体的机器使用人类这样复杂的语言、象人的大脑那样工作,简直是不可思议的。
二、从计算机硬件的角度证明计算机不能象人的大脑那样工作
既然我们不能让没有主体的计算机使用具有思想的语言,那么,我们是否可以在不久的将来制造出某种具有主体的计算机,使其能够使用某种具有思想的语言,象我们的大脑那样工作呢?从逻辑上来说,这似乎也是不可能的。因为,“主体性”的产生是一种极其复杂的自组织过程。要制造出一种具有高度自组织过程的计算机,似乎也是不可能的。
1.