三个精灵说真话假话的判断难题

根据已故的麻省理工( MIT )哲学及逻辑家George Boolos,以下的趣味逻辑问题可算是全世界最难的一个。你可以解决这个难题吗? 
有甲、乙、丙三个精灵,其中一个只说真话,另外一个只说假话。还有一个随机地决定何时说真话,何时说假话。你可以向这三个精灵发问三条是非题,而 你的任务是从他们的答案找出谁说真话,谁说假话,谁是随机答话。这个难题困难的地方是这些精灵会以“Da”或“Ja”回答,但你并不知道它们的意思,只知 道其中一个字代表“对”,另外一个字代表“错”。你应该问那三条问题呢? 




提问如下: 


1、 你是说真话的精灵吗? 
注意此题会至少有2个精灵的答案是相同的,因为 
a 说真话的肯定会到是 
b 说假话的因为自己不是说真话的,但不能回答不是,所以也回答是。 


OK, 
1.1 如果出现了2+1的回答,则那个回答与别人不同的精灵,一定是【随机选择答案的精灵】。 
同时,那2个回答多的答案,就是【对】的意思。 
  我们继续问 
 1.1.1 你是随机决定何时说真话的精灵吗? 
    a) 真话的肯定是回答错 
    b) 说假话的肯定回答对 
  至此,三个精灵和回答的都知道了答案了。 


1.2 如果出现了3个相同的答案,那么这个答案一定为【是】 
1.2.1 你是随机决定何时说真话的精灵吗? 
    a) 说真话的肯定回答【错】 
    b) 说假话的肯定回答【对】 
   所以,答案肯定是2+1的结果,不可能有三个相同的结果,因为你已经知道什么答案是【对】,则 
  如果2个对+1个错,则回答错的那个,一定是【说真话】的精灵 
    1.2.1.1 则随便选一个,问【说真话】的精灵,这个是不是说假话的精灵。 
       如果是,则那个一定是【说假话】的那个,剩下的一个一定是【随机选择答案】的 
       如果否,则那个一定是【随机选择答案】的那个,剩下的一个是【说假话】的。 
  如果2个错+1个对,则回答对的那个,一定是【说假话】的精灵。 
    1.2.1.2 则随便选一个,问【说假话】的那个,这个是不是说真话的精灵 
       如果是,则那个一定是【随机选择答案】的那个,剩下的一个一定是【说真话】的 
       如果否,则那个一定是【说真话】的那个,剩下的一个是【随机选择答案】的。 




至此,搞定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值