GIE)”是与两个实际人物之间特定的亲代关系同构的(所以才可能被我们映射到这种关系上去),这个事实是一回事。表达式“〔父亲(MAGGIE)]”可以使某台计算机确定“LEONARD”的位置,这个事实完全是另一回事。假如情况不是这样,就不会形成双重演算方法。但是史密斯认为,与其固守双重演算方法,还不如采用一个“统一的”编程语言理论,通过设计,使它既包含指称方面,也包含过程方面,这样就会更加简练和减少混乱。
他指出,被双重演算分开的每一边的许多基本术语,既有重要差异,也有深层的理论共性。以变量观念为例,在对它的理解上,逻辑学家和计算机科学家有某种相似之处,他们都承认,一个变量可以在不同的时刻被赋予不同的数值。既然是这样,要就“变量是什么”建立两个不同的理论,就是多余的。然而,在某种程度上,逻辑学家和计算机科学家又把这一术语理解为不同的事物:例如,在LISP编程语言中,一个变量的值就是另一个LISP表达式,而在逻辑中一个变量的值,通常是指相对于形式体系本身的某个外部对象。这些差异应予以澄清—不只是为了避免一个系统试图用变量对变量作推理时出现的混淆。简言之,我们需要单一的“变量”定义,既容许它(在逻辑中)作说明使用,也容许它(在编程中)作过程使用。史密斯证明了类似的看法也适用于其他基本计算术语,然后,他概括出LISP语言语义的单一解释,并且描述了一种新的演算(MANTIQ),是以心灵中的统一方法设计出来的。
正如用变量对变量作推理的例子所表明的,一个统一的计算理论,可以阐释反映型知识是如何可能的。因为一旦得出这样的理论,一个系统对数据和过程(包括系统本身的内部过程)的表述基本上就是可比较的。这一理论上的优点在心理学上具有重大意义(也是史密斯进行研究的主要动力)。
然而就我们当前的目的而言,关键的一点是,程序和计算的基本理论应当确认计算机程序的基本功能是要使得一些事情发生。一方面可以认为符号逻辑只不过是在摆弄一些未经解释的形式演算(诸如谓词演算),另一方面也可以把计算逻辑看作是在用数学形式规定的“机器”(诸如图灵机)中进行与时间无关的抽象关系的研究,但是这些方式之中没有一种能够用来对计算机科学作出恰当的描述。
人工智能哲学
110