翻译:迄今最难的逻辑题(The Hardest Logic Puzzle Ever)
逻辑吧
全部回复
仅看楼主
level 4
wiely 楼主
一楼喂baidu
2011年04月27日 09点04分 1
level 4
wiely 楼主
原文地址:http://www.hcs.harvard.edu/~hrp/issues/1996/Boolos.pdf
翻译:迄今最难的逻辑题(The Hardest Logic Puzzle Ever)(注1)
George Boolos著
Wiely译
原文发表于1996年春季版哈佛哲学评论(The Harvard Review of Philosophy)第62页到65页,也收录在1998年哈佛大学出版社出版的George Boolos的书《逻辑,逻辑,逻辑》的第29章
作者George Boolos,是麻省理工学院哲学教授和“Provability Logic”的创始人之一,著有《The Logic of Provability》(1993年,剑桥出版社),并与Richard Jeffrey合著有《Computability and Logic》(1974年,剑桥出版社)
几年前逻辑与谜题大师Raymond Smullyan设计出了就笔者所知无人挑战的逻辑难题,叫做迄今最难的逻辑题。在此笔者将给出这个谜题,及其解答,然后简要讨论一下另一个更有趣的方面。
谜题如下:有三个神A,B,C,不妨分别称呼为“真”,“假”和“随机”。“真”总说真话,“假”总说假话,但“随机”说真话还是假话是完全随机的。你的任务是通过三个是非题辨别A,B,C的身份,每个问题只能问一个神。神明白你的问题,但只能用他们自己的语言回答你,不妨认为他们用da和ja来表示是否。但你并不知道da和ja哪个是肯定娜个是否定。(注2)
尾注
1,     此文章的版本之一,由Massimo Piattelli-Palmarini所译,1992年4月16日载于《La Repubblica》,名为《L’indovinello piu difficile del mondo》
2,     此额外的难度不知道哪个是肯定娜个是否归于计算机科学家 John McCarthy。

2011年04月27日 09点04分 2
level 4
wiely 楼主
在给出那个繁长的解答前,请允许笔者对一些关于此谜题常常会提出的一些问题回答如下:
问某个神多个问题是可以的(即某个神没被问到也是可以的)
第二个问题是什么及问谁,可以取决于第一个问题的回答(第三个问题也类似)
关于“随机”说真话还是假话,就好像它在头脑中偷偷扔了枚硬币,正面就说真话,背面就说假话
问“随机”是非题的话,它回答da或者ja

2011年04月27日 09点04分 3
level 4
wiely 楼主
解答如下:在解决迄今最难的逻辑题之前,让我们先提出并解决三个类似但简单的多的谜题。然后我们将答案思路归纳起来以解决最难的谜题。后面两个也许是读者相当熟悉的类型,但第一个是不为人所熟知的(事实上是被创作者在思考最难的谜题时作出的)。
谜题1:注意笔者把两张A和一张J面朝下在桌上排成一排,你不知道哪张是哪张。你的问题是要指着一张牌问笔者一个是非题,然后通过笔者的答案,在三张牌中确认出一张A来。如果你指的牌是一张A,笔者回答你的是真话,但如果你指的牌是J,笔者就完全随机地回答你是否。
谜题2:假定你已经了解到你正在与“真”或“假”说话,但肯定不是“随机”。而且这个神屈尊用你的语言回答你。由于某种原因你要知道Dushanbe是否在Kirghizia。你该问神什么是非题才能从答案中确定Dushanbe是否在Kirghizia呢?
谜题3:你现在非常明确正在与“真”说话,但它拒绝用你的语言而只说da或者ja。你该问神什么是非题才能从答案中确定Dushanbe是否在Kirghizia呢?

2011年04月27日 09点04分 4
level 4
wiely 楼主
这里是谜题1的一种解答:指着中间的牌问“左边的牌是A么”,如果笔者答是选左边的牌,如果笔者答否选右边的牌。无论中间的牌是不是A,根据笔者答是选左或者根据笔者答否选右都肯定能确认出一张A。理由是,如果中间的牌是A,笔者回答你的是真话,笔者答是左边的是A,笔者答否右边的是A;而如果中间的牌是J,那两边的牌都是A,仍然笔者答是左边的是A(右边也是但无所谓),笔者答否右边的是A(左边也是但无所谓)。
为了解决谜题2和3,我们要用到iff。
逻辑学家介绍过有用的缩写iff,即当且仅当。逻辑学中iff的作用是这样的:当你在两个要么同为真要么同为假的命题中插入iff,你得到结果为真的命题;但如果你在两个其一为真另一位假的命题中插入iff,你得到结果为假的命题。举例说明,“Gorgonzola造的月亮iff罗马在俄国”的结果是“真”,因为“Gorgonzola造的月亮”和“罗马在俄国”都是假的。但“Gorgonzola造的月亮iff罗马在意大利”和“月亮上缺少空气iff罗马在俄国”的结果是假。然而“月亮上缺少空气iff罗马在意大利”的结果是真。(iff与原因、解释或者自然法则等无关。)
要解决问题2,不能问神简单问题如“Dushanbe在Kirghizia么?”要问复杂问题如“你是‘真’iff Dushanbe在Kirghizia么?”那么结果有四种可能(地理知识是不需要的,不知道也无所谓):
1,     神是“真”而Dushanbe在Kirghizia,你得到的答案为“是”
2,     神是“真”而Dushanbe不在Kirghizia,你得到的答案为“否”
3,     神是“假”而Dushanbe在Kirghizia,你得到的答案为“是”,因为只有一种命题为真,所以
正确的
答案为“否”,但因为神是“假”,所以它回答你“是”
4,     神是“假”而Dushanbe不在Kirghizia,在这最后一种情况下你得到的答案为“否”,因为两个命题都为真,所以正确答案是“是”,但因为神是“假”,所以它回答你“否”
所以对此复杂问题,如果Dushanbe在Kirghizia,你得到的答案为“是”,如果Dushanbe不在Kirghizia,你得到的答案为“否”,无论你是在和“真”还是“假”说话。从这个复杂问题的答案中,你就可以确认Dushanbe是否在Kirghizia。
要注意到的要点是如果你问“真”或“假”“你是‘真’iff 某个命题”,并得到你明白的答案,那么当你得到的答案为“是”这个命题就为真,当你得到的答案为“否”这个命题就为假,与你在与“真”还是“假”说话无关。
问题3的解答非常类似:别问“真”“Dushanbe在Kirghizia么?”而要问“da意为是iff Dushanbe在Kirghizia么?”结果还是四种可能:
1,     da意为是而Dushanbe在Kirghizia,“真”回答da
2,     da意为是而Dushanbe不在Kirghizia,“真”回答ja(意为否)
3,     da意为否而Dushanbe在Kirghizia,“真”回答da(意为否)
4,     da意为否而Dushanbe不在Kirghizia,那么两个命题都为假,“da意为是iff Dushanbe在Kirghizia么?”结果为真,我们要回答是,所以“真”回答ja
所以如果Dushanbe在Kirghizia,你得到的答案为da,如果Dushanbe不在Kirghizia,你得到的答案为ja,与da和ja哪个意为是哪个意为否无关。
这回要点是如果你问“真”“da意为是iff 某个命题”,那么当你得到的答案为da这个命题就为真,当你得到的答案为ja这个命题就为假,与哪个为是哪个为否无关。
把这两个要点归纳起来,我们可以知道如果你问“真”或“假”(我们仍认为他们只回答da或ja)非常复杂的问题“da意为是iff 你是‘真’iff 某个命题”,那么当你得到的答案为da这个命题就为真,当你得到的答案为ja这个命题就为假,与你在与“真”还是“假”说话无关,也与da和ja哪个意为是哪个意为否无关。
现在我们可以解决来迄今最难的逻辑题。
2011年04月27日 09点04分 5
level 4
wiely 楼主
你第一步要找出一个肯定不是“随机”的神,也就是要么“真”要么“假”。
为此,第一个问题问A“da意为是iff 你是‘真’iff B是‘随机’?”如果A是“真”或“假”且你得到答案为da,那么如我们已知的,B是“随机”,而C是“真”或“假”;而如果A是“真”或“假”且你得到答案为ja,那么B不是“随机”而是“真”或“假”。
但如果A是“随机”怎么办?
如果A是“随机”,那B和C都不是“随机”了呗。
所以如果A是“随机”且你得到答案为da,那么C不是“随机”(B也不是“随机”但无所谓),C是“真”或“假”;而如果如果A是“随机”且你得到答案为ja,那么B不是“随机”(C也不是“随机”但无所谓),B是“真”或“假”。
因此对于第一个问题,无论A是“真”,“假”还是“随机”,如果你得到的答案为da,那么C是“真”或“假”,而如果你得到答案为ja,那么B是“真”或“假”!
现在可以转到这个你刚刚找出的要么“真”要么“假”的B或者C面前,不妨设其为B(如果是C的话,在下面过程中调换B和C的位置即可),第二个问题问它:“da意为是iff 罗马在意大利?”回答da的是“真”而回答ja的是“假”。这样,用两个问题,你已经确认了B的身份。
对于我们第三个也是最后一个问题,仍然问刚刚确认过身份的B,“da意为是iff A是‘随机’?”
假定B是“真”,如果你得到答案为da,那么A是“随机”,结果为A是“随机”,B是“真”,C是“假”,你完成了;而如果你得到答案为ja,那么A不是“随机”,结果为A是“假”,B是“真”,C是“随机”,你也完成了。
假定B是“假”,如果你得到答案为da,由于B说假话,那么A不是“随机”,结果为A是“真”,B是“假”,C是“随机”,你完成了;而如果你得到答案为ja,那么A是“随机”,结果B是“假”,C是“真”,你也完成了。推理结束。
呵呵,如果笔者说这个谜题难的话,笔者可没说假话或者随机说说吧?
简要谈下这个迄今最难的逻辑题的意义:
对于任意的命题,判断该命题为真或者其否命题为真,逻辑学上有个法则叫“排除中间法则”。(不矛盾法则认为某命题和其否命题不能都为真)数学家们和哲学家们有时攻击排除中间的思想是逻辑上有效的法则。我们不希望在此挑起争论,但能够看到对笔者谜题的解答实质上使用了排除中间法则,特别是当我们说“无论中间的牌是不是A…”的时候。从迄今最难的逻辑题可以清楚的知道,当然从谜题1就更明白了,我们推理有选择的可能性的能力,即使是在日常生活中,可能都会完全瘫痪,如果我们拒绝使用排除中间法则的话。
顺便说一句,Dushanbe在Tajikistan,不在Kirghizia。

2011年04月27日 09点04分 6
level 1
看楼主自娱自乐,来问一个问题,
如果“随机神”的回答每次都恰好和“真神”(或者假神,不影响)相同(纯粹小概率事件发生,或者RP爆发),你怎样区分两者呢?
如果不能区分,那么无论任何问题,有限次提问都是无法保证能区分三者的。
此题无解
2011年04月27日 13点04分 7
level 1
make
2011年04月27日 13点04分 8
level 1
另外,把随机事件/随机输出/随机信号引入逻辑问题是很可笑的,逻辑只能解决确定问题,随机问题请交给概率论和量子论。
    当然如果随机信号具有某些特征,是可以采用适当的方式(比如某个问题/滤波器)将他们删选出来,但是这样的信号就已经不是纯粹随机了,LZ所谓纯随机的神是无法鉴别出来的
2011年04月27日 14点04分 9
level 9
嗯,不错,4L的3个迷题说出了这个问题的关键,不过如果能补充一下使用逻辑函数的知识来构造问题就更好了[顶]
2011年04月27日 14点04分 10
level 9
很负责的说,这题有解。
注意这点:三个神相互知道身份,且只有一个随机神。
看懂4L的迷题一的解法后你应该就明白。
2011年04月27日 14点04分 11
level 1
三个神相互知道身份,但是随机神的回答是随机的,和不知道其他人的身份有什么不同呢,请回答我9L的问题
2011年04月27日 14点04分 12
level 9
向A问问题,
如果A不是随机神,A的回答有意义,可以由A的回答从BC中挑出个非随机神。
如果A是随机神,那么依然按上面挑法挑出来的人也是非随机神。
得到一个非随机神后就好办了。
2011年04月27日 15点04分 13
level 1
mark,消化下。
2011年04月27日 15点04分 14
level 1
明白了,也就是说虽然随机神的回答可能是和真神/假神一模一样,但是由于身份是定死的,他和真神/假神的信息还是可区分的……
用第三个人的回答来区分
2011年04月27日 15点04分 15
level 13
关于第一个问题的疑问
实际情况是:A是真神,da是否,B不是随机
则“da意为是(假命题)iff 你是‘真’(真命题)iff B是‘随机’(假命题)”
那么A得到的结论是:这条命题为假
那么A的回答是:da
与楼主所说的:得到答案是da,则确定B是“随机”矛盾啊
求解,是不是我理解错了[汗]
2011年09月27日 14点09分 16
level 13
忘了点回复了
2011年09月27日 14点09分 17
level 7
推理上无懈可击,能首先排除随机,问题就很好解决。
不过三个问题下来都不知道daja是对还是错,如果三个问题既能知道谁是谁和daja那个是真哪个是假,那岂不是我这问题就变成了迄今最难逻辑题。
2012年04月27日 08点04分 18
1