---
schema_version: "library-reader-v1"
source_type: "original_book"
title: "人工智能哲学"
author: null
edition: null
publisher: null
year: null
isbn: "7532740544"
library_document_id: "7f418071-0fdc-4a5a-a4c5-82dd1979d9c2"
source_sha256: "1a81e5f3981b3c472c59c41e3051e038e997d095f1ab9e963fbb8a043c2cba34"
pdf_physical_page_count: 501
pdf_physical_page_index_base: 0
range_start: 230
range_count: 10
html_url: "https://workshop.closeclaw.top/api/ai/read/7f418071-0fdc-4a5a-a4c5-82dd1979d9c2?start=230&limit=10"
markdown_url: "https://workshop.closeclaw.top/api/ai/read/7f418071-0fdc-4a5a-a4c5-82dd1979d9c2.md?start=230&limit=10"
previous_url: "https://workshop.closeclaw.top/api/ai/read/7f418071-0fdc-4a5a-a4c5-82dd1979d9c2.md?start=220&limit=10"
next_url: "https://workshop.closeclaw.top/api/ai/read/7f418071-0fdc-4a5a-a4c5-82dd1979d9c2.md?start=240&limit=10"
---

# 人工智能哲学

> 页码规则：PDF_PHYSICAL_PAGE_INDEX 是从 0 开始的权威文件物理页索引；PRINTED_PAGE 是页面中识别出的印刷页码，可能为空，二者不得混用。

## PDF_PHYSICAL_PAGE_INDEX=230 | PRINTED_PAGE=222

我希望不要把我在本文中所说的看作是对P·海斯个人的批评。原因很简单，他并不是惟一的站在我所批评的那种立场上的人。下文中，我将把这一立场称为“逻辑主义”立场，它确实是数人合作的产物，其中有J·麦卡锡，R·莫尔，J·艾伦，J·霍布斯，P·海斯，还有我，当然，这些人之中，海斯是最能言善辩的。

1. 逻辑主义观点

我首先来介绍一下逻辑主义的立场。让我们从一个几乎每一个从事AI的人都能接受的前提开始：程序必须以大量知识为基础。即使是学习程序，在开始时也必须知道许多东西，比它将来所学的还要多。接下来，要假定这些知识在程序中应当以某种方式来表述。这也是几平每一从事AI的人都能接受的，但稍微有些保留，下文中还要再讨论这一点。

下一步是作出论证：在编写程序本身之前，我们能够而且应当将程序必备的知识记录下来。我们知道这知识是什么，它是人人都知道的关于物理学、关于时间和空间、关于人类关系和行为的知识。经验表明，如果我们试图先写程序，知识就会受损。为了得到有效的程序，先写程序会对人们实际知道的内容作出过分的简化。反之，如果我们摆脱了这种操之过急的情况，就可以集中精力考虑实际知识的全部复杂性。一旦得到有关常识世界的丰富理论，我们就能尝试把它体现在程序中。这一理论将为写出具体程序提供必不可少的帮助。

人工智能哲学

\* D·麦克德莫特所著“纯粹理性批判”一文原载《计算智能》（1987，3），第151—160)页。加拿大国家研究会允许重印。

本文是对1985年11月在新英格兰AI学会会议上发言的一个扩展。文中使用了若干可能招致反对的阳性代词。我提请注意，这些代词用来指未具名的人，并不排除此人是女性的可能。

D.麦克德莫特(Drew McDermott)，耶鲁大学计算机科学系教授。

222

## PDF_PHYSICAL_PAGE_INDEX=231 | PRINTED_PAGE=223

接下来讨论的是，对于记录知识来说，数理逻辑是一种理想的标记法。从某种意义上说，这也是惟一的标记法。我们所使用的标记法，对于使用者和阅读者来说必须是可理解的，所以它必然包含语义学，而且必定是塔尔斯基的语义学，因为别无选择。标记法的句法并不重要，所以我们就采用传统的逻辑标记法，因为我们已经知道怎样把它扩展到我们希望达到的任何程度。根据设想，较新的标记法(例如语义网络)的优点是以混淆和幻想为基础的—有关实现方式与内容的混淆，以及有关我们有时希望标记法具有某种意义的幻想。

关于逻辑在最终写出的程序中起什么作用的设想，有可能被误解。因为我们在开始时说过，知识应当表述出来，所以人们或许会得出这样的结论：我们所构造的公理理论最终会明显地出现在程序中，并伴以某种解读公理的解释程序，以决定该做什么。事实上，这种模型可能实现，也可能实现不了。例如，可能有这种情况：一个并未明显地出现在程序中的传递公理，会体现在某种图形移动器中。逻辑主义的观点是，我们应当暂且(比如说一代人的时间)忽略编程序的繁锁细节，代之以记录人们了解的(或一致地相信的)日常生活。如果我们真的能够提出非形式知识的形式化理论，那么毫不夸张地说，我们就得到了我们期望未来编程者所必备的那种东西。从这一观点来看，为什么逻辑主义者偏爱经典逻辑，而不喜欢较新的标记法，如联想网络，就更加清楚了。人们所说的逻辑与其他标记法之间的差别是，后者通过程序以各种不同的方式对知识进行组织，以供使用，而这正是逻辑主义者不感兴趣的。要知道，他们想要的只是事实，像“液体离开倾斜容器”之类的事实。遗憾的是，这并不是他们偏爱逻辑的惟一原因。在其观点中还隐含着一个前提：有相当大量的思想是演绎的。离开这一前提，如下的看法就缺乏基础：你只管记录人们所知道的内容，而不考虑他们是怎样使用这一知识的。

9 纯粹理性批判

223

## PDF_PHYSICAL_PAGE_INDEX=232 | PRINTED_PAGE=224

人工智能哲学

我们如何被设想知道我们对知识所作的形式化何时取得了进展呢？设想我们写出了一些公理。我们怎么知道什么时候我们写出了人们对主题所了解的大部分内容呢？那就是我们再也想不出还要说什么的时候。但是，人们就一个主题写出他们所知道的每一件事情时，并不是那么完美无缺，他们往往会遗漏一些事情。我们怎么知道什么时候确实达到目标了呢？在我看，逻辑主义者是想当然地认为，当所有的直接推论都来自已经写好的公理时，我们就成功了。海斯在某处说过，如果某件事在人们看来是显然的，它必然有一个简洁的证明方法。要使这一说法有意义，人们所作推理必须大部分是演绎的。水从倾斜的杯子中流出；这个杯子是倾斜的；因此，水就会从杯子中流出。如果大多数推理都符合这种演绎模式，那么逻辑证明方法就提供了一些理想化的推理模型。并不是我们在思想中必须有一个特定的加工模型，因为我们构想的每一个加工模型，都是这一理想推理方法的近似，因而必然同它所许可的推理方式相一致。我们在设计推理机制时，实际上可以通过所得到的演绎根据来记录这些推理的理由。这一思想潜在地产生出数据依赖性(Doyle1979)：为了得出结论，程序可以使用任何方法，但是必须能够列出所有证明它为正确的实际前提，所以如果任何一个前提被取消，结论也就取消了。这样，理想化的推理方法就证明了实际推理方法的正确性。

2. 对演绎的辩护

但有很多推理并不是演绎的。如果我发现一个刚刚还盛满汽水的杯子空了，我会推想是我妻子把它喝了，这并不是演绎(福尔摩斯的看法除外)，而是推理的最佳解释。(把推理误认为演绎的惟一方式，是把逻辑编程过程误认为逻辑本身，以后还要再讨论。)如果几乎所有的推理都属于这个或别的非演绎范畴，逻辑主义纲领就陷入困境。情况必然是这样：或者我们想要的推理的主要部分是演绎，或者有多少定理从已知公理集合中演绎而来是根本不重要的。无论从演绎中得到的是什么，在这种情况下，根据事实本身都是微不足道的。

224

## PDF_PHYSICAL_PAGE_INDEX=233 | PRINTED_PAGE=225

遗憾的是，你越是想推进逻辑主义的方案，你发现演绎就越少。你会发现，情况原来如此：许多推理看起来是那样简单明了，可见它们肯定是演绎，而结果却含有非演绎的成分。我们可以从海斯(Hayes1985b)“液体”一文中的两个例子开始：

设想一个无渗漏的开口容器是空的，在时刻t降水过程开始，降水过程的底部就是这个容器开口的顶部，例如，拧开浴缸的龙头，并把塞子塞上。根据公理(46)，这一泄出就会到达另一边，就是浴缸内部向内的那个面。根据公理(59)，浴缸内部必然会产生注水过程，所以根据定理(61)，水的容量就会增加。只要龙头一直开着，水就继续增加。我们设想，浴缸最后灌注满了水，亦即达到满载。[所以浴缸将要溢出。]（请注意，假如容器是封闭的，比如说是由管子注水的水箱，那么按同一推理思路，必然有一个泄出过程，而这是不会发生的……由这一矛盾可以得出结论……此刻水流的到达必然中止，于是沿着供水管道的流动……必然也停止了……)

这一套论证看起来好像很完善，正是海斯期待的那种圆满解释：清楚的推理具有简短的证明。可惜的是，它们也许是简短的，但却不是证明。设想我们接受海斯对第二种情况的分析，假定注入过程持续了一定时间，出现矛盾，然后得出结论：它毕竟不能持续那么长的时间。然而这样一来，如果我们要遵循某种统一规则，第一种情况就必然是作出假定而不出现矛盾的情况。这不错，但是在演绎中不允许作这种形式的论证：“假定P；没有矛盾吗？好吧，得出结论P。”实际情况不是如此。

9 纯粹理性批判

225

## PDF_PHYSICAL_PAGE_INDEX=234 | PRINTED_PAGE=226

人工智能哲学

另一个例子是逻辑主义者处理计划问题的方式，例如罗森斯海因这样的逻辑主义者(Rosenschein1981)。他们提出如下问题：如果就现实中的某些行动的结果、事物的初始状态和事物的目标状态给出若干公理，就能找到一个动作序列，并能证明这个序列将现实从初始状态转换到目标状态。这是一个值得研究的问题，但是对于社团负责人、普通人或机器人实际制定计划来说，没有什么关系。想想你最近一次做计划，扪心自问，你是否能做到证明这个计划是有效的。这种情况很常见：你可以不费力地举出好几个可信的会使计划无效的条件，但是你还是径直采纳了这个计划。事实上，制定计划的所有难点，特别是在执行过程中对计划的修订的难点，都与把证明计划正确作为目标这种思想不相容。

这一简单的回顾，根据的是包括我在内的逻辑主义者已经得出的一些粗浅的结果。在一个又一个例子中，实际上能够写下来作为公理的东西微乎其微。(这里，我尽量避免引用别人的著作，我自已著作的一个例子是McDermott1985。)另一方面，我们看到，像福伯斯一样的非逻辑主义的研究者们致力于编写可得出推理的算法，但是自己却接受逻辑主义者的暗示，认为他们的确应该能够将这些算法中的知识内容表达为公理。其结果显得有些可笑（例如福伯斯文中的公理，Forbus1984)，并没有达到他们预期的那种表达。我常认为这失败属于福伯斯，但是现在我要为他开脱，应责备的是这一任务，看起来行得通，实际上却办不到。1]

我所说的障碍，对逻辑主义者说来并不是新东西。逻辑主义的方案还有待证明是否正确，或作出专门的解释，这一点从一开始就很明确。下面，我将描述所有已知的为逻辑主义所作的辩护，并论证它们都是站不住脚的。这些辩护并不是相互排斥的，每一辩护都对一组别的缺陷作出补充，同时大多数逻辑主义者很可能在大多数时间里对它们之中的大多数信以为真。现列举如下：

[1]我说福伯斯受到“暗示”，是确有其事的。我查阅过他的文章，并要他尝试采纳更多的逻辑主义。在此致歉。

226

## PDF_PHYSICAL_PAGE_INDEX=235 | PRINTED_PAGE=227

1.“理想化”辩护：把问题的演绎公式看作理想化。例如，演绎计划问题可以看作“真实”计划问题的理想形式，并可能在作为现实世界理论的理想化形式的一个世界理论中继续进行下去。

2.“词汇”辩护：强调我们可以选用我们想用的任何谓词。我们无法由演绎推出某一特定计划是有效的，这或许是事实，但是，如果我们将问题转变为推断“应当做(执行者，计划)”的问题，就比较容易取得进展。

3.“科学女王”辩护：找出演绎和非演绎推理之间丰富的结合点。例如，对最佳解释所作的推理，可以看作找出前提，以前提为据，经演绎得出一个明确结论。这样，演绎就变成一个大推理理论的中心，为许多有价值的演绎变异形式所簇拥着。

4.“元理论”辩护：断言存在着演绎的“元理论”。这些理论涉及怎样发现和校订那些原始的、有缺陷的“客体层次”理论的结论。

5.“演绎技术”辩护：以存在着逻辑编程为根据，论证许多现实的推理问题可看作在本质上是演绎的。

6.“非单调”辩护：论证通过扩展经典逻辑，接纳原先不可行的结论，就能获得远比以前大得多的推理集合。

我将逐条对每一辩护作出反驳，从理想化辩护开始。

理想化并非总是不好的，它们常常是很重要的。例如，证明某个计划将在下棋比赛中获胜，很可能就是一个有用的理想化，尽管这个证明忽略了可能有人会突然给制订计划者100万美元，让他故意输掉比赛。人们完全有理由把那种可能性根本排除在公理之外。然而我所反对的心态是，假定在所有棋局中，目标都是要找到能证明获胜的策略，或偏爱那些使这一证明成为可能的棋局，而忽略更多的常规棋局。事实上，现实的下棋程序(以及人类棋手)并不去做那种间接类似于证明计划将行之有效的事情。当然，对于任何已知的算法，比如说对策树搜索，从某个角度，也可以认为它是在演绎某种东西(例如树的极小极大值)，但是这种观点与我们无涉。

9 纯粹理性批判

227

## PDF_PHYSICAL_PAGE_INDEX=236 | PRINTED_PAGE=228

我担心，在很多情况下，演绎问题被说成是对现实问题的近似，而实际上它是对现实问题的对等物，是真实事物最好的演绎模仿。在很多情况下，这个真实不会是不可逾越的。试图写出对等物领域中的事实，有可能带来对实际领域的深刻认识。所得出的本体论和公理，对于最终的程序编写或许是有益的。但是，我们不能指望从理想化中得到逻辑主义者所期望的覆盖范围。来自真实领域的许多概念恰恰不能在理想化中找到。相反，还有一种危险：有过多的来自理想领域的概念无法在真实领域中找到，并且理想化被扭曲到无法使用的程度。但是作为策略，理想化的使用看来还是有价值的，本文末尾还要再谈到这个观点。

下一个是“词汇”辩护。这里所述的论点当然是我所愿意接受的。如果有人正在设计一个能作数学思考的程序，采用演绎方法并不需要把程序词汇限制在策梅罗一弗朗克尔的集合论之中，而是想要得到人类数学家可能使用的那些谓词，像有价值的概念(C)，看来可以证明(定理)，如此等等。例如，人们可能选取莱纳在AM中(Lenat1982)隐含地使用过的所有谓词，并尝试编写一个程序，从中演绎得出一个概念是有价值的，或者一个定理大概是可以证明的。

这个辩护的问题是，它始终没有起过什么作用。我们拓宽可作为演绎的问题范围，在许多情况下，只不过是在我们无法用演绎解决的清单中增加了一些问题而已。我们完全有理由说，AM不是一个演绎程序。

“词汇”辩护的另一个问题是，它允许我们用普通问题代替难点问题。从实例看，在医疗诊断中，如果在演绎“诊断(病人，疾病)”时遇到了麻烦，切换到可能的“诊断(病人，疾病)”，是不起作用的。在这种情况下，新问题过分简单，所有行为都存在于鉴别诊断和有分量的证据中，现在将被忽略，或是用某个非演绎的模型来搪塞。

人工智能哲学

228

## PDF_PHYSICAL_PAGE_INDEX=237 | PRINTED_PAGE=229

“科学女王”辩护可以这样来详述：考虑“不明推论式”[1]，这是C·S·皮尔士用于解释性假设生成的术语。这个过程是非演绎的，但是我们可以把它看作一种“逆向演绎”。例如，为了解释q，寻找一个已经知道的“(如果pq)”形式的关系，并假定p是一种解释。更一般地说，为了解释q，找出与已知事物相结合后必然得出q的那些前提。如果这个模型是正确的，那么即使不明推论式不属于演绎，它也仍然可以通过演绎而得到确证。查尼亚克和麦克德莫特对这一观点有保留地表示赞同(Charniak and McDermott 1985)。

这种解释在哲学家们中间被称为演绎推理法则理论。它总是与C·G·亨普尔的名字连在一起(Hempel and Oppenheim 1948；Hempel1965)。可惜，别的人几乎都不相信它。它是被作为一种科学解释模型而设计的，但是它有若干缺陷，看来很难作为解释个人或物理系统的行为的模型。这里的问题是，在解释要素与待解释事物之间的演绎链既非必要，也非充分。

它之所以不是必要的，一个原因是解释只要使所观察的事实有或然性，我们就可以满足。对此，亨普尔是允许的，所有的诊断专家系统，如“麦森”(Shortliffe 1976)和“探测者”(Duda et al. 1980)也是允许的。

但是有很多超出常规的例子。设想你在报纸上看到塞考克斯的塞尔玛·麦克吉利科蒂刚刚赢得了新泽西州的彩票，这是近两月中第二次，每次都超过10万元，并无舞弊之嫌，因此你得出这样的解释：这是公正的抽彩，碰巧有人接连赢两次。这是个令人满意的解释，但是不能根据它推出“塞尔玛·麦克吉利科蒂在两个月内赢得两次彩票。”[W·萨蒙首先指出这一解释类别(Salmon1967，1975）。]

资料的演绎所以不是充分的，原因在于这一条件太容易满足。一般说来，推出已知结论的演绎方式有成千上万，但是作为解释，几乎没有一个是合理的。例如，有一天我发现我的收音机闹钟快了两分钟。因为我特别关心钟表的准确，所以很烦恼，便寻求解释。一个情况是，两小时前电池用完了，因此可以推想钟会慢两小时，但是我记得这是一个有备用电池的钟。所以合理的解释就是带电池电源的钟不准确，每小时约快一分钟。

9 纯粹理性批判

[1] 不明推论式是指逻辑三段式中小前提无证明的推论。一—译者

229

## PDF_PHYSICAL_PAGE_INDEX=238 | PRINTED_PAGE=230

我们假定这个解释与结论一起可以转化成一个演绎论据。“钟快了两分钟”，那又怎么样？对这同一结论，存在着大量别的演绎方法。(“一个来我家的访问者恶作剧地把钟拨快了”，“宇宙射线的爆发正巧击中我的钟”。)人们可以反驳，这些解释显然是牵强的，根据“科学女王”的思想，我们只能寄希望于描述一下恰当解释的特征，但是这是一种没有意义的说法。恰当性的条件恰恰是太平凡了。

如果我们不留心，它甚至会变得更加平凡。只要这只钟是房间里惟一的钟，像“房间里的每一只钟都快两分钟”这样的前提，就能解释“这只钟快两分钟”。亨普尔试图通过规定前提和结论是“定律式的”，来回避这个问题。这一特性等价于什么，完全不清楚，但是，它可用于排除用“行星个数是一个素数的最小奇数平方数”来解释“有九个行星”。实际上，它从思考中排除了对特定事实的任何解释，而把这种理论变成为解释定律的理论。

“女王”辩护在一定程度上是“理想化”辩护的翻版，所以有着类似的弱点。在假设与需要解释的证据之间，必定有某种联系，但是把这种联系说成是演绎的，只不过是武断的臆测。一般地讲，我们就此所知的只能是，一个好的假设就是能让典型人类提问者满意的假设。稍后还要再次谈及这个问题。现在可以得出结论：演绎不能成为不明推论理论的核心。

“元理论”辩护认为，带有演绎推理方法的问题，可以通过引入演绎的“元方法”而确定下来，这个元方法或干预并校订它的输出；或改变它的前提；或使它变得能容纳对立理论。例如，在海斯的两个容器例子中，我们可以设想这个元方法能作出信念修正，引入流动持续性前提，并在棘手的问题出现时，将它们撤回。

人工智能哲学

230

## PDF_PHYSICAL_PAGE_INDEX=239 | PRINTED_PAGE=231

这一辩护的问题是内容空洞。推测起来，演绎元理论的题材必然是“对客观理论的合法于预”。但是在这种理论中，并不存在来自人类直觉或其他什么方面的约束力。可以肯定，根本没有什么约束能使干预保持演绎的完好性。假如有的话，这一辩护就不能实现对演绎的必要强化。所以要弄清怎样排除这样的理论：“在周末相信所有奇数符号的陈述，在平日相信所有偶数符号的陈述”，是很困难的。如果这项计划变成精心制作有这种随意功能的元理论的计划，我们不妨说，我们终究还是在编程序。

关于元理论思想，在总的方面，没有什么可说的；然而对于具体的例子，可说的又太多。让我们看看信念修正的思想，两段前曾谈及此。如果你开始认真地研究它，最后你就会以研究非单调逻辑而告终(更多的讨论见后)。这一研究会使元理论体系相形见绌。为了取得进展，你不得不构造十分复杂和详尽的模型，而且这与它的目标是完成某种演绎元理论，还是编制LISP程序，都全然无关，这一点远在你做完这事之前就很清楚。如果你选择的不是PROLOG而是LISP，那么元理论体系就毫无用处。

这样就到了第五个辩护“演绎技术”。对演绎的作用很容易估计过高，原因之一是由于它有一组得力的工具，诸如反向链接和统一化，它们来源于定理自动证明研究，但是已在PROLOG(Clocksin andMellish 1981)和 MRS(Genesereth 1983)这样的系统中得到较广泛的普及。结果这些工具推出一个精巧的计算模型，它和传统模型一样强有力，在某些情况下甚至更加理想。由于可以用这些模型做任何计算，也由于它们是在定理证明机中产生的，自然会得出这个结论：在一定意义上，任何计算都是演绎。我们很难反驳导致这一结论的论点，因为这样的论点根本不存在，它只不过是概念之间的模糊联想而已。(谬误当然不会因逻辑编程群体使用“每秒进行的逻辑推理次数”这样的短语指示像表处理操作那样的小事而消失。)严肃的研究者无意中被这个谬误所迷惑，然而他们也可能受到演绎技术精巧性的吸引。

9 纯粹理性批判

231

下一段：[继续读取](https://workshop.closeclaw.top/api/ai/read/7f418071-0fdc-4a5a-a4c5-82dd1979d9c2.md?start=240&limit=10)
