1701741262
1701741263
查理是说真话的。
1701741264
1701741265
以上三个命题是对整个情景最基本的描述,它们构成了这个问题的逻辑结构的原子,不存在比它们更基本的命题。这三个命题不是我们已经确知的事实,它们只是我们构造出来的或真或假的命题,因此,它们的地位非常类似于代数中的变量。当然,这些语句的“值”可以是“真”,也可以是“假”。用逻辑学术语说,这些命题是“布尔变量”,这个术语得名于英国逻辑学家乔治·布尔(George Boole,1815~1864)。
1701741266
1701741267
在这个逻辑问题中,我们首先问了艾丽斯一个问题。但是,艾丽斯的回答我们听不懂,我们从中推不出任何有效信息。
1701741268
1701741269
第一个有效信息来自本。本说艾丽斯称自己是说谎的。你很可能已经想到了,我们不能按照该句的表面意思接受这个命题。本在转述艾丽斯的话时可能在说谎,艾丽斯本人在介绍自己的情况时也可能在说谎。只有在确定了三个人分别属于哪个部落之后,也就是说,只有在确定了谁说假话、谁说真话以后,本的话的真正意思才可以确定。
1701741270
1701741271
我们分析一下。艾丽斯和本不可能都说真话。如果他们都说真话,那么艾丽斯会诚实地说她是说真话的,而本也会诚实地把艾丽斯的话翻译给我们。由于本说艾丽斯称自己是说谎的,因此我们得出结论,这两个人并非都说真话。
1701741272
1701741273
艾丽斯和本有可能都说假话吗?有可能。当我们问艾丽斯她是否说谎时,她会回答说她不说谎。本也是嘴里没有一句真话的撒谎精,他会对艾丽斯的话加以否定,这样就形成了双重否定。本会说艾丽斯称自己是说谎的。我们听到他就是这么说的。
1701741274
1701741275
实际上,没有人会说“我是说谎的”。说真话的人不会这样说——因为这是谎话;说谎话的人也不会这样说——因为这是真话。如果直截了当地问一个人是否说谎,每个人都会说自己是说真话的(在现实生活中也是如此)。
1701741276
1701741277
本说艾丽斯称自己是说谎的,这句话彻底暴露了他自己。无论艾丽斯实际上属于哪个部落,她一定会说自己是说真话的。本的话与此相反,所以本是说谎话的。
1701741278
1701741279
(如果艾丽斯根本没听懂我们的问题,又会怎么样呢?她很可能会说“我听不懂英语”,或者相反,“我能听懂英语”——如果她是说谎话的。本会向我们报告其中的一个反应,如果本是说谎的,他会给我们一个错误的答案。由于说谎者部落如此缺乏想象力,从本的实际回答我们得知,艾丽斯一定已经听懂了问题,并且做出了一个关于她的部落归属的回答。)
1701741280
1701741281
由于本是说谎的,他的第二句话 (“查理是说谎的”)一定也是假的。因此,查理一定是说真话的。
1701741282
1701741283
下面只剩查理的话了。查理说艾丽斯是说真话的,我们已经知道查理是说真话的,所以这一定是实际情况。答案是,艾丽斯说真话,本说谎话,查理说真话。
1701741284
1701741285
在以上解题过程中是否存在什么方法?是的,的确有一些方法。没有人会说自己是说谎的,意识到这一点是有用的。这就揭示了本是说谎的,而后问题迎刃而解。
1701741286
1701741287
但是这个方法(假定我们称之为“方法”)不能应用于全部的、任意的“说真话—说假话”问题。例如,雷蒙德·斯穆里安提出的一个简单而新颖的问题:有一个部落归属不明的人说:“或者我是说谎话的,或者2+2=5。”那么,他属于哪个部落?
1701741288
1701741289
在这个例子中,当事人没有说自己是说谎话的。他把两个命题用“或者”联系起来,这意味着,如果说话者是说真话的,那么这两个命题中至少有一个是真的。
1701741290
1701741291
关于说话者我们可以提出两种可能的假设:他是说真话的,以及他是说谎话的。如果说话者是说真话的,那么他所说的就是真的。因此,“或者说话者是说谎话的,或者2+2=5”这个命题就是真的。
1701741292
1701741293
但这是不可能的。在“或者……或者……”的复合命题中,整体为真,则两个子命题中至少有一个为真。“2+2=5”不可能为真,所以“我是说谎话的”这个子命题必须为真,而这与假定(说话者是说真话的)矛盾。
1701741294
1701741295
于是,我们尝试另一个假设。假定说话者是说谎话的。于是,“或者说话者是说谎话的,或者2+2=5”这个命题是假的,其中的两个子命题必须都是假的。如果其中有一个子命题是真的,那么由“或者……或者……”构成的整个复合命题就是真的。因此,判定“或者A或者B”为假等于判定“A和B都是假的”。如果说话者是说谎话的,那么“我是说谎话的”和“2+2=5”这两个命题必须都是假的。可是我们又遇到了一个矛盾。如果说话者是说真话的,那么他必须是说谎话的;如果说话者是说谎话的,那么他又必须是说真话的。
1701741296
1701741297
事实上,斯穆里安提出的这个谜题是说谎者悖论的一个巧妙的变种。这个谜题的“答案”是:答案不存在。(或者用斯穆里安的话说,唯一能够得出的结论是:这道题的出题者不是说真话的。)
1701741298
1701741299
有一个方法可以应用于任何“说真话—说假话”问题,即使无解的问题(就像斯穆里安提出的问题那样)也不例外。对于任意一个问题中提到的海岛居民,无非有两种可能:他属于说真话部落或者属于说谎话部落。我们把关于每一个海岛居民的部落归属的一个猜测称为一个“完全假说”(例如,“艾丽斯说真话,本说谎话,查理说真话”是一个完全假说)。对于任意一个问题,关于海岛居民的完全假说的数量是固定的(在古德曼的问题中,其数量是2×2×2=8)。我们需要做的全部工作就是,列出所有这些假说,看看哪个假说与题中的命题相符。
1701741300
1701741301
在验证各个完全假说的过程中,我们的目标是找矛盾,换句话说,我们在使用归谬法。例如,在古德曼的问题中,有一个完全假说是三个人都说真话,这个完全假说导致一个结论:本会说出他不应当说出的话。这是一个矛盾,于是我们可以排除这个完全假说。把全部8个完全假说检验一遍,我们发现只有一种情况不导致矛盾:艾丽斯、本和查理分别说真话、谎话、真话。通过排除法,此题得到解决。
1701741302
1701741303
在《四签名》(The Sign of Four)中,福尔摩斯说道:“我跟你说过多少遍了,在我们排除了所有不可能的情况以后,剩下的情况——无论多么不可思议——一定是真的。”应用排除法可以解决许多类型的问题,但它并非总是切实可行的。
1701741304
1701741305
麻烦在于,排除的过程是缓慢的,这是因为需要检验的完全假说数量经常是无比巨大的。
1701741306
1701741307
一个布尔变量只能是真的或假的。对于一个未知量来说,有两种可能性。每一个未知量使得完全假说的总量倍增。在涉及三个未知的布尔变量的问题中,可能的完全假说的数量是23=8。一般地,当存在n个或真或假的未知量时,有2n个可能的完全假说。如果一个“说真话—说假话”问题牵涉24个海岛居民,完全假说个数将有上百万。
1701741308
1701741310
可满足性
1701741311
[
上一页 ]
[ :1.701741262e+09 ]
[
下一页 ]