第10章:模糊性:如何在滑坡上停止下滑?

当我们讨论同一性这一主题时,这里有另一个相关的问题。所有东西都会随时间而损耗。有时,零件会被更换。摩托车和汽车会换新的离合器,房子会换新的屋顶;甚至人体内的单个细胞也会随着时间而更换。这样的变化并不会影响上述对象的同一性。当我更换摩托车的离合器时,它还是原来那辆车。现在假设经过几年时间后,我更换了我的摩托车黑霹雳的每一个零件。作为一个细心的人,我保留了所有旧的零件。当全部零件更换完后,我把旧零件重新组装回去造出原来那辆车。但我是从黑霹雳开始的,而更换摩托车的一个零件并不会影响其同一性:它还是原来那辆车。因此,每次更换之后,得到的机器仍然是黑霹雳;直到最后,它也还是黑霹雳。但我们知道这不可能是对的。黑霹雳现在正在车库里它的旁边放着呢。

下面是相同问题的另一个例子。一个 5 岁的人(在生物学上)是个小孩。如果某人是个小孩,一秒钟之后他(她)还是小孩。这样,再过一秒,他(她)还是小孩,再过一秒,再过一秒,……。因此,过了 630720000 秒后,他(她)还是小孩。但那时他(她)已经 25 岁了!

这样的论证被认为是由欧布里德(同样是他创造了第 5 章中的说谎者悖论)创造的。它们现在被称为堆积悖论sorites paradox)。(它的一个标准形式大意是,每次增加一粒沙,永远也形成不了沙堆;“sorites”来自于希腊语“soros”,意思是“堆”。)这些是逻辑学中最让人头痛的一些悖论。当所使用的谓词(“是黑霹雳”,“是小孩”)在某种意义上是模糊vague)的时候,悖论就会产生。模糊谓词是指,其适用性可以容忍非常小的变化:如果它适用于某个对象,那么该对象一个非常小的变化不会更改这一事实。我们日常对话中使用的几乎所有谓词在这个意义上都是模糊的:“是红的”、“是醒的”、“是高兴的”、“是醉的”,甚至“是死的”(死也需要时间)。因此,堆积悖论这类滑坡论证在我们的推理中可能极为普遍。

为了集中探讨关于它们的问题,让我们更仔细地考察其中一个论证。令杰克是那个 5 岁的小孩。令 a0a_0 为语句“杰克 0 秒后是小孩”。令 a1a_1 为语句“杰克 1 秒后是小孩”,如此等等。如果 nn 是任一自然数,ana_n 就是语句“杰克 nn 秒后是小孩”。令 kk 为某个巨大的自然数,至少不小于 630720000。我们知道 a0a_0 为真。(0 秒过后,杰克仍然是 5 岁。)对每个自然数 nn,我们知道 anan+1a_n\to a_{n+1}(在任何时刻如果杰克是个小孩,一秒后他还是小孩。)我们可以通过使用一系列分离规则把所有这些前提串连在一起,如下所示:

a0a0a1a1a1a2a2ak1ak1akak\begin{array}{ccc} \dfrac{a_{0}\quad a_{0}\to a_{1}\qquad\quad}{\qquad\qquad\dfrac{a_{1}\quad a_{1}\to a_{2}}{a_{2}}}\\ & \ddots\\ & & \dfrac{a_{k-1}\quad a_{k-1}\to a_{k}}{a_{k}} \end{array}

最终结论是 aka_k,而我们知道它不为真。一定是哪里出错了,而且似乎没有多少回旋的余地。那么我们有什么要说的呢?这里是一个解答,有时称为模糊逻辑fuzzy logic)。是小孩似乎是逐渐消失的,正如(在生物学上)是成人也是逐渐显现的。假定“杰克是小孩”的真值也由真渐变为假似乎是自然的。于是,真是有程度的。假设我们用 0 和 1 之间的数字来衡量真的程度,1 表示完全为真,0 表示完全为假。那么,每个情形都对基本语句指派一个这样的数。

包含否定和合取这样算子的语句的真值如何呢?随着杰克长大,“杰克是小孩”的真值就变小。“杰克不是小孩”的真值似乎也相应变大。这提示 ¬a\neg a 的真值为 1 减去 aa 的真值。假设我们把 aa 的真值记作 a|a|,那么我们有:

¬a=1a|\neg a|=1-|a|

下表是一些真值样本:

aa

¬a\neg a

1

0

0.75

0.25

0.5

0.5

0.25

0.75

0

1

合取式的真值呢?一个合取式最多只能和它最差的部分一样好。因此假设 aba\land b 的真值是 a|a|b|b|极小值minimum)(更小的)是自然的:

ab=min(a,b)|a\land b|=\min(|a|,|b|)

下表是一些真值样本:

aba\land b

1

0.75

0.5

0.25

0

1

1

0.75

0.5

0.25

0

0.75

0.75

0.75

0.5

0.25

0

0.5

0.5

0.5

0.5

0.25

0

0.25

0.25

0.25

0.25

0.25

0

0

0

0

0

0

0

aa 的真值在最左边一列,bb 的真值在最上一行。aba\land b 的对应真值在相应行和列相交的地方。比如,如果我们想找到 a=0.25a=0.25b=0.5b=0.5aba\land b 的真值,我们就看斜体的行和列相交的地方。结果是粗体显示的那个值。

类似的,析取式的值是析取项值的极大值maximum)(更大的):

ab=max(a,b)|a\lor b|=\max(|a|,|b|)

读者可以自行构造一个它的真值样本表。注意,根据上面的假定,¬\neg\land\lor 仍然是真值函数。即,比如 aba\land b 的真值由 aabb 的真值确定。只是现在这些值不再是 TTFF,而是 0 和 1 之间的数。(不过,或许值得一提的是,如果我们把 11 看作 TT,把 00 看做 FF,在只涉及 1100 时的结果和第 2 章中的真值函数是相同的。这一点读者可以自行验证。)

条件句的真值呢?我们在第 7 章中看到,有很好的理由认为 \to 不是真值函数。但让我们把那些顾虑暂时放在一边。如果它是一个真值函数,当考虑真的程度时,它会是哪个函数?似乎没有很明显的答案。这里是一个(相当标准的)建议,至少看上去给出了某种正确的结果。

  • ab|a|\leq|b|,则 ab=1|a\to b|=1

  • b<a|b| < |a|,则 ab=1(ab)|a\to b|=1-(|a|-|b|)

<< 指“小于”;\leq 指“小于或等于”。)

这样,如果前件没有后件真,该条件句就完全真。如果前件比后件更真,该条件句的真值就是最大真值减去二者真值之差。下表是一些真值样本:

aba\land b

1

0.75

0.5

0.25

0

1

1

0.75

0.5

0.25

0

0.75

1

1

0.75

0.5

0.25

0.5

1

1

1

0.75

0.5

0.25

1

1

1

1

0.75

0

1

1

1

1

1

(回想一下,aa 的值在最左一列,bb 的值在最上一行。)

有效性如何呢?一个推断是有效的,若结论在前提成立的每个情形都成立。但现在什么是在某个情形成立呢?在足够真的时候。但多真是足够真呢?这要看语境。例如,“是一辆新自行车”是一个模糊谓词。如果你去买自行车,经销商告诉你某辆车是新的,你会期望它是从未用过的。即,你期望“这是一辆新自行车”具有真值 1。另一方面,假设你去参加自行车公路赛,被要求选新车,你会挑选那些不超过一年的车。换言之,你可接受的新车标准要更宽松。“这是一辆新自行车”只需要比方说 0.9 或更高的真值。

因此,我们假设存在某个由语境确定的可接受性水平。这是一个介于 0 和 1 之间的数字——在极端情况下也许就是 1 本身。让我们把这个数字记为 ε\varepsilon。于是一个推断对某个语境是有效的,当且仅当结论的真值在前提的真值都不小于 ε\varepsilon 的每个情形也都不小于 ε\varepsilon

那么,所有这些和堆积悖论有什么关系呢?假设我们有一个堆积的序列。像前面一样,令 ana_n 为语句“杰克 nn 秒后是小孩”;但为了让事情更容易处理,让我们假设杰克 4 秒后就长大了!那么一个真值记录表可以是:

a0a_0

a1a_1

a2a_2

a3a_3

a4a_4

1

0.75

0.5

0.25

0

a0a1a_0\to a_1 具有真值 0.75( = (1 - (1 - 0.75));a1a2a_1\to a_2 的真值也是 0.75;事实上,每个形如 anan+1a_n\to a_{n+1} 的条件句的真值都是 0.75。

关于堆积悖论这些告诉了我们什么,依赖于可接受性水平,而正是这一点在起作用。假设语境要求最高的可接受性水平,即 1。在这种情况下,分离规则是有效的。因为假设 a=1|a|=1ab=1|a\to b|=1,由于 ab=1|a\to b|=1,我们必有 ab|a|\leq |b|。由此可得 b=1|b|=1。这样,堆积论证是有效的。不过,在这种情况下,每个条件句前提具有真值 0.75,而这(在该语境下)是不可接受的。

另一方面,如果我们设定可接受性水平低于 1,那么分离规则就变得无效。为了解释方便,假设 ε\varepsilon 为 0.75。正如我们已看到的,a1a_1aa2a_\to a_2 都具有真值 0.75,但 a2a_2 的真值是 0.5,小于 0.75。

于是,无论你以哪种方式看,该论证都不成立。要么某个前提不可接受,要么如果它们是可接受的,结论却不能有效地推出。为什么我们这么容易就被堆积论证所欺骗呢?也许因为我们混淆了完全的真和近乎完全的真。不能对此作出区分通常不会造成什么差异。但如果你一而再、再而三如此,结果就不同了。

以上是对该问题的一种诊断。但对于模糊性问题,没有什么是简单明了的。说“杰克是个小孩”完全真,直到某个特定时间点,它变成了完全假,这有什么问题呢?问题在于,就没有这样的点。在任何地方划线都是完全任意的;它最多只能是一种约定。但现在,在杰克长大的哪个时间点他不再是 100% 的小孩呢;即在哪个时间点“杰克是个小孩”的值从完全为 1 变成低于 1 的值呢?在任何地方划线似乎都和前面一样是任意的。如果这是对的,我们就没有真正解决模糊性最根本的问题:我们只是转移了问题。

本章要点

  • 真值是介于 0 和 1(含)之间的数字。

  • ¬a=1a|\neg a|=1-|a|

  • ab=max(a,b)|a\lor b|=\max(|a|,|b|)

  • ab=min(a,b)|a\land b|=\min(|a|,|b|)

  • ab=1|a\to b|=1,若ab|a|\leq |b|;否则,

  • ab=1(ab)|a\to b|=1-(|a|-|b|)

  • 一个语句在某个情形为真当且仅当其真值至少达到(由语境确定的)可接受性水平。

最后更新于