逻辑难题


欢迎访问小站,阅读本文http://www.yandong.org/archives/492

(1).smullyan提出的一个逻辑难题如下:

一个岛上居住着两类人骑士和流氓。骑士说的都是实话,而流氓只会说谎话。当你碰到两个人AB,如果A“B是骑士B我们两个不是一类人,请判断AB两个人到底是流氓还是骑士。

解题:

PA是骑士,Q:B是骑士。

A说的话翻译过来就是QB说的话翻译过来就是(P∧┐Q)(PQ)

则可以得到 QP等价,Q又和(P∧┐Q)(PQ)等价,列出真值表

P

Q

(P∧┐Q)(PQ)

0

0

0

0

1

1

1

0

1

1

1

0

满足条件的只有P0Q0,所以AB都是流氓。

 

(2) 侦探调查了罪案的四位证人.从证人的话侦探得出的结论是:

如果男管家说的是真话,那么厨师说的也是真话;

厨师和园丁说的不可能都是真话;

园丁和杂役不可能都在说谎;

如果杂役说真话,那么厨师在说谎.

侦探能判定这四位证人分别是在说谎还是在说真话吗
解释你的理由

解题:设

A:男管家说的是真话

B:厨师说的是真话

C:园丁说的是真话

D:杂役说的是真话

侦探得到了四个结论,翻译过来分别是

A→B,  

(B∧┐C)(BC),

(D∧┐C)(DC),

D→┐B

此题的解法就是列出ABCD真值表,当某一组赋值使得侦探的四个结论都是真的话,那么就可以得到结果,

如果有两组值使得四个结论都是真,那么就无法断定。

答案是: 侦探可以断定男管家和厨师说谎,但不能判定究竟是园丁还是杂役说真话。

 

(3) 在一个100条语句的列表中,第n条语句是“在这个列表中,恰有n条语句为假。”

a)从这些语句中你可以得出什么结论?

b)若第n条语句是“在这个列表中,至少有n条语句为假”,回答问题a)。

c)假设这个列表包含99条语句,回答问题b)。

解题:

a)    
按照上面两个题的思路,设P(i)为第i条语句,即表示在这个列表中,恰有n条语句为假

然后根据真题表,得出结论,这个工作量有点大。

另外的一个思路是,我们从题中还可以得到一个条件,就是P(i) →┐P(j) (j!=i) ,则只能有一条语句为真,而其他n-1条语句为假,而100-1=99,所以只有第99句为真,其他都为假。

b)    由题意得到,P(i) P(j) (j<i), P(i) →┐P(k) (k>i), 即如果一条语句为真,那么它前面的所有语句为真,如果一条语句为假,那么它后面所有语句为假。现在设第i以及其之前的语句都为真,设第j以及其之后的语句都为假, 得到n-j+1i , n-j+1j-1  。且j>i,如果要覆盖所有语句, j=i+1。可以得到2i=n,. i=50

c)     因为2i=99,无整数解,所以是悖论。

转载于:https://my.oschina.net/toyandong/blog/123611

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值