---
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: 240
range_count: 10
html_url: "https://workshop.closeclaw.top/api/ai/read/7f418071-0fdc-4a5a-a4c5-82dd1979d9c2?start=240&limit=10"
markdown_url: "https://workshop.closeclaw.top/api/ai/read/7f418071-0fdc-4a5a-a4c5-82dd1979d9c2.md?start=240&limit=10"
previous_url: "https://workshop.closeclaw.top/api/ai/read/7f418071-0fdc-4a5a-a4c5-82dd1979d9c2.md?start=230&limit=10"
next_url: "https://workshop.closeclaw.top/api/ai/read/7f418071-0fdc-4a5a-a4c5-82dd1979d9c2.md?start=250&limit=10"
---

# 人工智能哲学

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

## PDF_PHYSICAL_PAGE_INDEX=240 | PRINTED_PAGE=232

我们以上面批评过的那种含混不清的思维为例，看看在PROLOG类型系统中计算数值的方法。这里，含有变量的目标被转换成找出变量值的要求。目标“系属（〔a，b〕，〔c，d〕，X)”意味着“找到一个X，它是系属〔a，b〕和〔c，d〕的结果”。如果公理写得正确，就能找到数值。在这个例子中，X被限定为〔a，b，c，d〕。可将这一目标同系属（〔a，b〕，〔c,d〕，〔a，b，c,d〕）作对比，后者的目标是要确证〔a，b,c,d〕就是所要的结果。合理地正确运行的 PROLOG程序的特性是，只要程序能找到一个数值，就能对其加以确证。〔要得到相反的性质就困难得多了(Shoham and McDermott 1984)。

这里的问题是，虽然证实结论的思想一般可以归结为演绎(因为它恰恰就是证明某事物的思想)，但是计算数值的思想却并非如此。从逻辑的观点看，系属([a，b]，[c,d]，X)只不过是(非(存在(X)，系属([a,b]，[c,，d]，X)))的司寇伦式的翻版。（关于司寇伦形式和“非”的解释可参阅任何教科书。)通过找寻X的值，用反向链接证实这种结论，实质上是一种有用的例外情况。如果将其扩展到反向链接之外，这种思想就会完全失败。勒克姆和尼尔森(Luckham and Nilsson1971)给出一个可用于任何分解证明的变体形式，但是对于每个变量，并非每个分解都生成单值。更重要的是，一旦将逻辑扩展到有限可公理化的一阶理论之外(这种情况常常出现在知识表述事务之中)，整个分解思想和司寇伦形式就变得不起作用了。

即使在这一思想有效时，逻辑也无法提供一个答案构造的一般性理论。我们来看R·莫尔的“马桶炸弹”问题：你从邮件中收到两个无法区别的滴嗒作响的东西，另有匿名电话警告说，其中肯定有一个是炸弹。从看过的电影中得知，把炸弹放入抽水马桶是一种可靠的防止爆炸的办法。你该怎么办？答案是，把两个东西都放入马桶。（也许放入浴缸更好。)但是如果我们把这个问题变为如下逻辑形式：

结果(计划，与(消除爆炸(物体1)，消除爆炸(物体2)))

人工智能哲学

232

## PDF_PHYSICAL_PAGE_INDEX=241 | PRINTED_PAGE=233

我们也可回到(采用勒克姆和尼尔森的做法)：

$$
i \dag \langle \pmb { \chi } | \big ] = \pmb { \operatorname { / D } } \pmb { \operatorname { / D } } ( \pmb { \operatorname { / D } } \pmb { \operatorname { / D } } 1 , \ \pmb { \operatorname { / D } } , \ \pmb { \operatorname { \ ! } } \pmb { \operatorname { / D } } )
$$

或

$$
i \{ \pm \} \{ i \} = \hbar \pmb { \chi } _ { \sf E } ^ { \sf E q } ( \hbar \pmb { \chi } _ { \sf I } ) , ~ \pmb { \chi } _ { \sf I } ^ { \sf E q } \hbar )
$$

也就是说，在没有实际构造出计划的情况下，定理证明机已经得意地证实存在着一个可操作的计划。当然，我们实在不能再作更多别的要求了，演绎恰恰没有提供计算任意事物的理论，它追求的只不过是证实任意事物的理论。

3. 非单调辩护

最后，轮到最有说服力的辩护求助于“非单调逻辑”。该名称用于这样一个逻辑系统：有更多前提时，其中一些结论可以废除，亦即可以撤消。这类逻辑看来是为像上面提到的那两个水箱例子而特制的。我们希望得到的推论是，只要没有理由认为有其他情况出现，水就仍然流进水箱。当矛盾出现时，结论就被撤消。

根据定义，非单调性几乎是与演绎不相容的。因而正如伊思雷尔(Israel1980)所指出的，“非单调逻辑”的说法有些自相矛盾，很像是为了补偿素数的某些缺陷，而提出研究“复合素数”。在实践中，“非单调逻辑”指的是一个推理系统，它向获得明显的可废除推理的普通逻辑提供了一个简单的一般性扩展。我们并不指望这样的系统可以从推理中得出最佳解释，但是我们完全可以期待它推导出：你的汽车还在你原来停放它的地方。

既然对普通逻辑来说可能存在着许多可选择的“简单、普遍”的扩展，我们就很难对非单调逻辑的发展下任何最后的结论。然而，我们能够考察已经完成的情况，并估计它未来的前途。已经采用的方法主要有两个：缺省法和划界法。缺省法是将PLANNER（Hewitt1969)和

9 纯粹理性批判

233

## PDF_PHYSICAL_PAGE_INDEX=242 | PRINTED_PAGE=234

人工智能哲学

PROLOG(Clocksin and Mellish 1981)的“以否定为失败”的思想形式化。通过引入推理规则：“根据前提p和不能推断出9，推断出r”，对普通逻辑加以扩展。其思想是，在缺乏特定的压倒一切的信息q的情况下，r是根据p得到的有缺省的结论。我们看一个例子

$$
(  \mathbf { a } ) \# \mathbb { H } \gnapprox ( \exists \models ( \square \rtimes ) )
$$

(a能飞)

这里，“相容算式”表示该算式与系统中所有的推理都是相容的。这样，对于任何给定的鸟，我们就可以按正常情况推断出它能飞，但是如果存在着用于推导出反常情况的公理，就可以以它们为“门”，把这一规则拒之门外。与这种形式大体相似的系统已由赖特(Reiter1980))，麦克德莫特和多伊尔(McDermott and Doyle 1980))，克拉克(Clark1978)，以及其他人作过研究。

划界法是由麦卡锡(McCarthy1980)和他的同事(Lifschitz1985;Lifschitz未刊稿")发明的，它避免了增加新的推理规则，而主张采用一个带有公理的一阶理论，以表达使某一谓词“极小化”的目标。举例说，现有公理

(对所有(x)(如果(与(鸟 x)(非(反常x)))(x能飞)))

若能使反常谓词极小化，就可以像以前那样，对每一个给定的鸟，按正常方式推断出它是能飞的。为了实现这一点，就要在原有理论中增加一个二阶公理。设A(反常；鸟)是已有的全部公理的合取。(最好是有限的。)我们在A后的括号里写出想要替换的谓词的名称。分号把准备被极小化的谓词(反常)与“变量”谓词(鸟)分开；通常可能有一个或多个谓词要被极小化，有零个或多个变量。所以A(foo;baz)可作为同一公理集，其中foo代替反常，baz代替鸟。根据这种标记法，新的公

[1] V.利夫席茨(Lifschitz 1986)，“点式划界法”，未出版手稿，1986 年1月 16日。

234

## PDF_PHYSICAL_PAGE_INDEX=243 | PRINTED_PAGE=235

(对所有(pb)

(如果(与)(A(p;b))

(对所有(x)(如果(反常x)(px)))))

亦即如果(在A由于鸟的变化而弱化之后)p是任何满足A的谓词，并与反常具有相同强度，那么反常也与P具有相同强度。现在还需另一步骤，就是插入值以代替p和b。假定已知的鸟中只有Clyde不能飞，那么A就包含着正常鸟会飞的公理，以及（鸟Clyde)与(非(Clyde能飞))。如果我们插入 p=（∧(y) （= y Clyde)和 b=（∧(y)（= yClyde)),那么，因为 A(p;b)成为

(非(Clyde 能飞))

我们就得到了划界公理的例子：

(如果(与(对所有(x) (如果(与(= x Clyde) (非(= x Clyde))) (x能飞)))

( = Clyde Clyde)

(非(Clyde 能飞)

(对所有(x) (如果(反常 x) (= x Clyde))))

但是这关系的前项来自A(反常；鸟)，所以我们可以推出后项：Clyde是仅有的反常对象。因此，任何别的鸟(如果能表明它不等同于Clyde)，都被判定为是能飞的。

请注意划界法是怎样获得非单调性的。当A增加一个新的公理时，划界公理就会变化，同时往往有某个定理不再适用。

对所有各种已知的非单调逻辑来说，存在两个问题。第一，如果不经过很大的努力，一组规则的结果如何，往往弄不清楚。第二，想要作适当“扩大”，往往会失败；就是说规则的结果过弱。下面我用短语“你不可能认识”和“你不想知道”来标明这两个问题。

9 纯粹理性批判

理就是

235

## PDF_PHYSICAL_PAGE_INDEX=244 | PRINTED_PAGE=236

在缺省逻辑中，会出现“你不可能认识”的问题，因为一个公式是否与一个理论相容一般是不可判定的。事实上，当所讨论的理论是一个包含缺省规则的理论时，甚至对短语“与理论相容”的含义作出准确定义都是很困难的。在推导出每件事情之前，你不可能辨别什么是无法推导的，所以我们转向了缺省理论的“稳定扩展”或“固定点”的思想。这样的固定点是一组公式，它在直觉上是“稳定信念集”，其特征由“非结论公式集”来确定，这样，（a)固定点上的每件事，经由缺省推导规则，都来自原有理论及非结论公式；(b)没有非结论公式随之而生。如果已知Clyde是鸟，那么(非(反常Clyde))就是一个非结论公式，因此(Clyde能飞)就是固定点的一个元素。除非(反常Clyde)也是可演绎的，这时(Clyde能飞)不在固定点上。遗憾的是，这些固定点和非结论公式集是无穷的，一般情况下，很难描述或找全它们。

划界法使用起来也有困难。所有各种已知的划界法共同具有的是达到结论的这一步骤：

·在原有理论上增加二阶公理

·猜测谓词常项，插入到公理中去

·化简

这正是我举例时采用的那种步骤。它的问题是，新增信息的数量往往与最终想要得出的结论相同。事实上，它考察的东西往往与那些结论相同，另外带有几个附加的入。

从原理上讲，划界法可以机械地使用，转动一下曲柄，所有的结论都出现了。但是在实践中，没有一个方法能够枚举出二阶公理的有用实例，所以划界法只用于一些不起眼的问题，这些问题要得出的结论是原本知道的。（在特殊情况下，可以证明，划界法和缺省逻辑都可以还原成可计算的算法，但是我们这里对这些特殊情况不感兴趣。)令人费解的是，无法判定的缺省逻辑提出了一个有某种实际效果的具体算法：为了确证p是相容的，尝试证明它的否定形式，并失败。在这一步骤中止时，它往往成为富有启发性的近似方法(Clark1978)。

人工智能哲学

236

## PDF_PHYSICAL_PAGE_INDEX=245 | PRINTED_PAGE=237

非单调逻辑的难题导致了一个奇怪的现象。逻辑主义者大步向前，使用非单调构造，并在有关文章中宣称，他们所希望的哪些结论会出现，而实际上他们不知道这些结论是否会出现。在这一点上，他们所描述的推理在何种意义上可由形式系统加以证明，已不复清楚。既然希望成真，带有希望的思考也就无关紧要了。遗憾的是，它把我们带向“你不想知道”的问题：认真研究一个非单调系统时，常常有这种情况：形式系统实际允许的结论与所预期的不同，通常是更弱一些。在缺省公式中，由于上述固定点常常是非惟一的，该问题就会出现。其中有一些是合理的，但是还有许多对应于信念集，是制定基本规则的人所排斥的。(这些固定点无法通过增加更多的缺省规则来消除，那样只能使事情更糟。)如果一个理论具有数个可选择的固定点，实际上什么能被说成是这个理论所含的定理呢？或者，这样的理论不含定理，它们无法作为我们正在寻找的理想化的推理工具；或者，我们坚守定理的弱概念，即定理是在所有固定点上都可推导出的某种东西。常见的情况是，这种供选择的点给出一些选言定理，其中某些选言命题是来自多余固定点的、反直觉的冒牌货。我们希望得到结论P，但是我们最终得到的是p或q，而q超出了正常范围。

这种过弱的选言命题，也会不期地以划界形式出现。对于划界法来说，这一现象有些不同，因为固定点的概念并不具有同样的证明论作用。不过，我们有一个与之对等的思想：极小模型，其定义如下：就某个谓词P而言，如果一个模型与所有其他(非变项)谓词无矛盾，且它的P是另一模型的P的子集，它就比另一个模型“小”。极小模型是指没有更小模型的模型。可以证明：一个公式在A(P；V)的所有极小模型中为真，如果它由 $\mathbf { A } ( \mathbf { P } _ { 3 } \mid \mathbf { V } )$ 和上述二阶划界公理得出的话。

现在，过弱的选言命题问题出现在下述形式中。常见的情况是，会出现一些在重要方面有差别的极小模型，以致有些模型对人类观察者来说是“显然错误的”。在句法方面，划界法会产生选言命题，使每一选言命题刻划一类极小模型的特性。因此这一状况与缺省逻辑实无差别，只是选言命题是作为基本机制的结果而出现的，并不是作为对定理概念的一种拼凑起来的定义方式硬塞进来的。

9 纯粹理性批判

237

## PDF_PHYSICAL_PAGE_INDEX=246 | PRINTED_PAGE=238

汉克斯和麦克德莫特在最近一篇文章中(Hanks and McDermott1985，1986)对这一现象的实例作了详细的考察。我们研究了麦克德莫特有关时态逻辑的简化形式(McDermott1982)，这一形式比先前研究过的非单调系统更加复杂些。我们曾希望证明，从形式系统中真的能够得出我们想要的结论。我们曾期望多重固定点问题能胜过缺省逻辑，但是我们也曾期望划界法是有效的。我们惊异地发现，划界法和缺省公式面临同样的问题，其实回想一下，各种系统之间的相似性是非常显著的，所以不必对此感到奇怪。

所有的逻辑都有这个问题：像“极小化”和“稳定信念集”这样的概念恰恰不适合于时间域。我们想要的非单调规则曾是(非形式地说)“世界的状态趋于保持不受扰动”。所有逻辑得出的结论都使扰动达到极小，但这并不是我们真正想要的。事实上，我们希望的是避免未知原因带来的扰动。

我们曾试图说明：“历程”如果不被后续事件明确“截断”，就会继续下去。看看下面的事件序列：

1. 弗里德出生了 弗里德开始成为活着的

2. 枪装上弹药 枪开始成为装有弹药的

3. 弗里德被击中 弗里德成为死的

我们应该能够得出结论：弗里德现在死了(不幸由于暴力)。但是另一情节能同样成功地使于扰达到极小。在这情形中，事件3发生之前，枪停止装弹药，而这只是为了避免对弗里德的存活造成干扰，别无他因。

人工智能哲学

238

## PDF_PHYSICAL_PAGE_INDEX=247 | PRINTED_PAGE=239

那篇文章之后，麦卡锡小组成员V·利夫席茨已经证明1]，“点式划界法”这一新思想将解决汉克斯一麦克德莫特问题的简化形式。无人知道它是否能解决更复杂的形式，更谈不上解决实际的物理学公理集。无人知道还会出现什么其他问题。但是这个“解”的真正麻烦，是它比起以前各种划界法来，甚至更加头重脚轻。我们必须知道答案，只有这样，划界法才能为我们确证答案。此外，允许谓词以“极小化”类存在于它们的部分区域中，而以“变量”类存在于另一些部分中，因此必须用附加关系的形式提供信息，说明哪一部分到底是什么。

这个解法为保全划界法而毁坏了它。正如所有的划界法形式一样，我们从希望用来扩大我们的演绎理论的结论开始，而找到的却是一个为我们提供这些结论的二阶公理。如果我们选出的第一个公理无效，我们就会发现另一个公理。一旦任务完成，我们就丢弃这个公理。我们全然不知怎样在我们曾论证的结论之外引申出任何别的结论。在这种情况下，公理起到什么作用呢？怎样才能说，是它在证明所期望的结论，而不是所期望的结论在证明它呢？在实践中，直接在理论中增加那些结论，并非难事。这一过程有可能每一步都是非单调的(若理论变化，改变的只是新增的内容)，同时每一步都变幻无穷。

我们原来的目标是简单、普遍地扩展经典逻辑，使它产生出“显然正确”的结论，然而这一目标却难以达到。在缺省公式的情形中，原因在于这种诱惑产生了非递归可数定理。在划界法的情形中，原因在于我们必须在得出答案之前提供答案。在这两种情形中，即使能得到答案，也常常太弱，虽然在划界法中，我们常常有权切换到不同的划界公理。

这一危机对于作非单调推理的程序并未产生什么影响，认识到这一点很重要。所有计算机化的推理几乎都是非单调的，因而也是非演绎的。这是我们一开始就遇到的问题。这个危机所影响的，是我们尝试把演绎稍作扩展以包含一些“显而易见”的情况的工作。现在的状况是，并不存在一个非单调系统，可以证明我们的程序所作的非单调推理是正确的。相反，最后的结果是，我们不得不花费大量精力来改造形式系统，以重复简单的推理过程。这种努力对于编制程序来说，只是个附带问题或事后之见，没有作出什么实质性贡献。

9 纯粹理性批判

[1] 见本书第234页注[1]。

239

## PDF_PHYSICAL_PAGE_INDEX=248 | PRINTED_PAGE=240

如上所述，情况也可能改善。今后有人可能发现我们正在寻找的那种非单调系统。但是从目前看，我们只能得出这样的结论：不能把非单调性看作解决某种演绎问题的方法。

4. 没有演绎也行

让我们对前面的论述作一总结。我举出了逻辑主义者的方案：以逻辑公理形式来表达常识性知识。我概述了为这一方案所作的辩护，并指出其隐含的前提：大量的推理都是演绎的。我论证了这一前提的错误，即使用各种方式对逻辑加以扩展，也是无用的。

离开这一前提之后，原来的论点会出现什么情况呢？不难看到，无论就一个领域写出多少公理，所期望的大多数推论仍然不能从它们之中推出。为了推出这些推论，还必须提供一个程序。换言之，在大多数情况下，不可能离开“加工模型”去建立一个“内容理论”。（这些术语出自L·伯恩鲍姆。)一般认为，内容理论是关于人们知道什么，他们怎样划分世界，他们的“本体论”是什么的理论。而加工模型则解释人们是怎样使用这个知识的。内容理论处在纽厄尔(Newell1981)的“知识层次”上，恐怕与怎样处理它所表达的事实无关。我们现在可以得出结论：如果所考虑的推论是非演绎的，那么内容理论的用途是有限的。你不能只是开始罗列人们知道的事实，把它们用逻辑或任何别的标记法表达出来，而不说一下你如何假定它们将被一个程序采用，因而要尝试说明何种推论。你可以避免这种麻烦的惟一情况是，你能够指出一类有价值的、包含这一知识的纯演绎推理。在这情况下，你对于每一候选的加工模型的确有了充分的了解，不再需要说什么了。但是从目前看来，这种推理是极为少见的。

人工智能哲学

240

## PDF_PHYSICAL_PAGE_INDEX=249 | PRINTED_PAGE=241

顺便提及，正像对逻辑主义方案一样，这一点对莱纳等人(Lenat etal. 1986)的CYC方案也完全适用。他的小组利用了范围更宽的工具，彻底放弃了逻辑的学科准则，但是同样的异议又出现了：他们怎样知道什么时候才算是取得了进展呢？

反对独立内容理论的论点，给原来赞成塔尔斯基语义学的论点带来不利的冲击。若没有程序，指称语义学就是规定我们的标记法的意义的惟一方法。但是关于知识表述，存在着与它对立的传统思想，认为知识表述系统在本质上是一种有特定目标的高级编程语言。这一观点在如 OPS5(Brownston et al. 1985) 和 PROLOG(Clocksin and Mellish1981)这样的系统中描述得很清楚。但是它也用于许多联想网络，它们常常用作为LISP码组块的工具。其实，OPS5和PROLOG还不是主要的例子，因为它们是通用的编程语言。更好的例子要算语法分析规则标记法，如马库斯(Marcus1980)采用的那种。虽然这个标记法表达出关于语言句法的“知识”，但是它不含有指称语义学。它的语义学是过程的；如果一组规则能使语法分析得出正确结果，它就是正确的。

换句话说，相对立的过程传统是，知识表述系统实际上不表述任何东西。这种立场使得典型的逻辑主义者大为震惊，因为这就意味着承认被表述的知识本质上只能以一种方式被利用。要数出各“方式”是件难事，但是可以描绘两种不同模型所需要的“同一事实”，其中每一个都带有它自己的专用编程标记法。这事实必须表述两次。这当然是对于智能程序的一个令人不快的要求。

若是标记法同时具有指称语义学和过程语义学，那就好办了。这并非不可能，任何被程序实际使用的以逻辑为基础的标记法，根据事实本身就是具备这种双重语义学的。(纯PROLOG程序即为一例。)有人想作相反的推测：任何过程标记法都可以转换成等价的指称标记法。这岂不就是清除一些不相容性并形成某种本体论吗？可惜，这种乐观的估计是建立在对实际上怎样运用如联想网络这样的工具的错误观念的基础上的。在一些研究者心里，认为标记法具有某种形式语义学，并且不大怀疑存在着看起来更像传统逻辑的等价标记法。但是在大多数使用者心里，系统是某些特征—恶魔等等—的集合，如同标准的编程环境那样(只是他们希望更奇异些)。任何运用这些特征的方式，只要是实现直接编程目标的，都是合法的。关于这点，没有可疑之处。对于系统被滥用的每一研究者来说，很多人会鼓励这种对他们系统的“创造性”使用。任何这样一种系统能够找到指称语义学的机会，可以说是微乎其微。

9 纯粹理性批判

241

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