我担心,在很多情况下,演绎问题被说成是对现实问题的近似,而实际上它是对现实问题的对等物,是真实事物最好的演绎模仿。在很多情况下,这个真实不会是不可逾越的。试图写出对等物领域中的事实,有可能带来对实际领域的深刻认识。所得出的本体论和公理,对于最终的程序编写或许是有益的。但是,我们不能指望从理想化中得到逻辑主义者所期望的覆盖范围。来自真实领域的许多概念恰恰不能在理想化中找到。相反,还有一种危险:有过多的来自理想领域的概念无法在真实领域中找到,并且理想化被扭曲到无法使用的程度。但是作为策略,理想化的使用看来还是有价值的,本文末尾还要再谈到这个观点。
下一个是“词汇”辩护。这里所述的论点当然是我所愿意接受的。如果有人正在设计一个能作数学思考的程序,采用演绎方法并不需要把程序词汇限制在策梅罗一弗朗克尔的集合论之中,而是想要得到人类数学家可能使用的那些谓词,像有价值的概念(C),看来可以证明(定理),如此等等。例如,人们可能选取莱纳在AM中(Lenat1982)隐含地使用过的所有谓词,并尝试编写一个程序,从中演绎得出一个概念是有价值的,或者一个定理大概是可以证明的。
这个辩护的问题是,它始终没有起过什么作用。我们拓宽可作为演绎的问题范围,在许多情况下,只不过是在我们无法用演绎解决的清单中增加了一些问题而已。我们完全有理由说,AM不是一个演绎程序。
“词汇”辩护的另一个问题是,它允许我们用普通问题代替难点问题。从实例看,在医疗诊断中,如果在演绎“诊断(病人,疾病)”时遇到了麻烦,切换到可能的“诊断(病人,疾病)”,是不起作用的。在这种情况下,新问题过分简单,所有行为都存在于鉴别诊断和有分量的证据中,现在将被忽略,或是用某个非演绎的模型来搪塞。
人工智能哲学
228