认知悖论 (Prediction Paradox) 有许多不同的表述方式, 大都以故事方式出现。 比较流行的是所谓的 “意外绞刑” 悖论 (Unexpected Hanging Paradox), 其大意如下: www.ddhw.com
一名囚犯被法官告知将于周一到周五间的某一天被绞死。 法官并且声明说: 绞刑的具体日期将是完全出人意料的。 这个囚犯非常聪明 (也许以前是逻辑学教授), 他由此推断出绞刑一定不会安排在周五, 因为否则的话, 前四天一过他就知道绞刑的具体日期了, 但法官说过具体日期会是完全出人意料的。 法官是不会撒谎的, 因此绞刑不可能在周五。 排除了周五, 就只剩下四天了。 但是依据同样的推理, 周四也可以被排除掉,..., 以此类推, 最终每一天都可以排除掉。 于是他得出令人欣慰的结论: 他根本不会被绞死。 可是到了周二法官却突然宣布执行绞刑, 大大出乎了他的意料! 而这, 恰恰证明法官的确没有撒谎。
比这个 “深牢大狱” 的版本浪漫些 (可惜结果一样悲惨) 的是一个国王替女儿招驸马的故事: www.ddhw.com
国王建了五间小屋, 然后昭告天下说这些小屋中有一只老虎, 应征驸马的人必须依次打开屋子并打死老虎。 国王并且声明说老虎究竟在哪一间小屋中将是完全出人意料的。 结果谁也不敢应征。 直到有一天来了一位和前一个故事中的囚犯一样 “聪明” 的小伙子, 他推断出老虎必定不会在第五间小屋中, 因为否则的话, 当他打开前四间小屋没发现老虎就可以断定老虎在第五间小屋中。 但国王说过老虎究竟在哪间小屋中会是完全出人意料的, 国王是不会撒谎的, 因此老虎不可能在第五间小屋中。 排除了第五间小屋, 就只剩下四间小屋了。 但是依据同样的推理, 第四间小屋也可以被排除掉,..., 依此类推, 最终所有的小屋都可以被排除掉。 于是小伙子得出令人欣慰的结论: 屋子中根本就没有老虎。 于是他很放心地去开门, 不料当他打开第三间小屋时老虎赫然跳了出来, 大大出乎了他的意料! 而这, 恰恰证明国王的确没有撒谎。
意外绞刑也好, 意外老虎也罢, 这些故事之所以被称为悖论, 原因在于故事中的推理看上去很合理, 但结果却是错误的。 这究竟是怎么回事呢? 下面我们就以国王招驸马的版本为例进行分析。 不难看出, 整个故事的推理是建立在国王的这样两个声明之上的:
- 声明一: 小屋中有老虎。
- 声明二: 老虎的出现是出人意料的。
故事中小伙子的推理有一个显著的特点, 那就是推理以这两个声明为基础, 结果却否定了其中一个声明 (声明一)。 从这一点上看, 故事中的推理似乎表明国王的两个声明是彼此矛盾的。 但若仅仅如此, 它也就不会被当作悖论提出来了, 因为找一组有矛盾的前提并从中推出几个有矛盾的结论是非常简单的事情。 这个故事之所以具有悖论的特征, 是因为虽然小伙子的推理似乎表明国王的两个声明彼此矛盾, 但故事的结局却是两个声明同时成立了 (小屋中确有老虎, 而且老虎的出现又确是出人意料的)。 www.ddhw.com
从故事的推理中也不难看到, “五” 这个数字在认知悖论中并不具有实质意义, 它只是由于该悖论的 “意外绞刑” 及大同小异的 “意外考试” (看来考试也很严酷, 可以和绞刑相比) 版本涉及一周有五个工作日这一特点。 事实上如果把 “五” 变成 “一”, 故事中的基本推理结构并不受影响, 下面我们就来考虑这一简化情形。
为了减少日常语言本身可能带有的歧义性, 我们先对故事中涉及的概念和命题做一些准形式化的处理。 声明一是一个毫无歧义的命题, 我们用 A 表示这一命题 (即 A 表示 “小屋中有老虎”)。 声明二的含义是关键, 其中的 “出人意料” 一词比较含糊。 从故事及故事中的推理来看, “出人意料” 中的 “人” 指的是小伙子, 而整个声明的含义应该是依据打开小屋前小伙子所知道的信息无法证明小屋中有老虎。 我们用 X 表示打开小屋前小伙子所知道的信息 (下面称为已知信息), 则声明二可以用符号表示为: ¬(X→A)。 这样, 国王的两个声明可以表示为: www.ddhw.com
利用这一准形式化的表述, 小伙子的推理是这样的: 假如声明一 (即 A) 成立, 则已知信息为 A, 即 X=A。 这表明声明二不可能成立 (因为 ¬(A→A) 为永假命题)。 从文字上看也正是如此, 因为 “小屋中有老虎” 与 “老虎的出现是出人意料的” 在只有一间小屋时显然是矛盾的。 小伙子接着以国王不会撒谎 (从而声明二必须成立) 为由否定了自己推理的前提, 即声明一 (也就是 A)。 这一步在小伙子的整个推理中很关键, 因为这一步意味着小伙子放弃了以 A 作为已知信息, 而将之变为了 ¬A, 即 X=¬A。 这样一来, 声明二变成了永真命题 ¬(¬A→A), 自然就成立了[注一]。 www.ddhw.com
值得注意的是, 正是因为小伙子自己 (通过他的推理) 放弃了 A, 从而放弃了证明小屋中有老虎的可能性, 才使得国王的声明二对于小伙子来说成立。 这里需要指出的是, 国王的两个声明的性质是很不相同的, 声明一的真伪 (即小屋中是否有老虎) 是可以客观检验的。 但声明二则不同, 因为它所涉及的 “出人意料” 完全是相对于小伙子而言的。 只要小伙子依据自己在打开屋子前所获得的信息 (即 X) 无法判断屋子里是否有老虎, 或判断错误, 老虎的出现对于小伙子来说就是 “出人意料” 的, 声明二也就成立了。 换句话说, 声明二的真伪与 X 密切相关, 而 X 又有赖于小伙子自己的推理, 因此声明二的真伪是有赖于小伙子自己的推理的, 或者说声明二的真伪相对于小伙子的推理具有一定的自指 (self-reference) 性质。 正是这个微妙的差别使得小伙子的推理没能证明国王的两个声明彼此矛盾。 因为声明二在小伙子刚开始推理时虽然不成立 (因为那时小伙子假定声明一成立), 但随着小伙子排除了声明一, 从而改变了自己的推理结构, 它却转而成立了。 另一方面, 声明一的真伪是可以客观检验的, 不受小伙子的推理影响。 因此国王要做的就是真的放一只老虎,使声明一 (即 A) 在客观上为真。 这样, 他的两个声明就全都成立了 (其中第二个声明的成立是相对于小伙子而言的)。
进一步的分析还可以发现, 小伙子的推理并不是无懈可击的, 他原本是可以避免被老虎吃掉的。 因为国王的两个声明之所以同时成立, 完全是因为小伙子否定了声明一。 而他否定声明一的唯一理由是因为相信国王不会撒谎, 从而声明二必须成立。 可是他却忘了, 声明一也是国王的声明, 否定声明一同样说明国王在撒谎。 既然无论否定哪一个声明都说明国王在撒谎, 那他其实既可以否定声明一, 也可以否定声明二的。 如果他再多分析一下 (如上面我们所做的那样), 就会发现否定声明一是唯一可以让国王的两个声明同时成立的情形 (事实上由于声明一的真伪是可以客观检验的, 因此国王是万万不能在声明一上撒谎的)。 因此他应该否定声明二, 指出国王在撒谎, 老虎必定在门后 (当然指出国王撒谎多半也是要喂老虎的:-) www.ddhw.com
以上分析的是只有一间小屋的情形。 有五间小屋的情形也类似, 只是小伙子的推理过程更长些, 直到要排除第一间小屋有老虎时才与声明一相矛盾。 不过这时即使小伙子明智地意识到没有理由以国王不会撒谎为由否定声明一, 也无法指责国王撒谎。 因为国王只要在前四间屋子中的任何一间放上一只老虎 (但不能向小伙子保证这一点), 它就是意料之外的 (它的位置是不可证明的)。
[本文的观点是在与快刀浪子、 星空浩淼等网友的讨论中形成的, 在此要向这些网友表示感谢]。
注释