作者ranian (Colgate)
看板Inference
标题Re: [问题] 是谁说谎?
时间Tue Mar 7 17:28:29 2006
※ 引述《yeajygreen (给我爱你的理由..)》之铭言:
: 这里有葛莱特、玛莉、戴尔、贝鲁四位少女。
: 其中有一位少女变成水精灵,
: (举例来说,假设佩滴变成水精灵,当她说︰「我不是佩滴」时,把这句话当成真话。)
: 除此之外四位少女之中有一个总是说谎,但其他三位少女不会说谎。
: (↑或许是变成水精灵的人在说谎。)
: 并且她们,没有任何人知道是谁变成了水精灵。
: 带着鲑鱼别针的少女︰
: 「我不是贝鲁。」
: 「带着鲑鱼别针的少女是玛莉。」
: 带着鳟鱼别针的少女︰
: 「我不是贝鲁。」
: 「带着鲶鱼别针的少女是戴尔。」
: 带着鲶鱼别针的少女︰
: 「带着鲑鱼别针的少女是葛莱特。」
: 带着鲤鱼别针的少女︰
: 「我不是玛莉。」
: 请问这四位少女的名字分别是什麽?是谁变成了水精灵?
: -
: PO过了吗@@?
根据问题的设定,可以做出这样的真假情况:
首先设定"我不是xx"为 X statement
"带着oo别针的是xx"为 Y statement
不考虑水精灵的话, 则结果
X F T T T
Y F T T T
a.
因为鲑鱼和鲶鱼少女对 Y statement 矛盾, 所以其他两个人必为 TT
所以鲶鱼少女是戴尔, 鲤鱼少女不是玛莉
b.
因为鲑鱼少女一定是玛莉或葛莱特 (否定贝鲁), 鳟鱼少女 TT (否定贝鲁)
所以鲤鱼少女是贝鲁
c.
因为鲑鱼少女在 X statement 为 T, 所以她是 TT, 鲶鱼少女是 FF
d. 水精灵条件:
1. 诚实者: 是本人而否定本人 (X:F Y:T)
2. 说谎者: 是本人而否定本人 (X:F Y:F)
只有鲶鱼少女(戴尔)符合
所以
鲑 玛莉
鳟 葛莱特
鲶 戴尔 <= 水精灵
鲤 贝鲁
==============================回应oodh大大==============================
"水精灵不一定要说谎"这一点是一定没错的, 但是我个人觉得这点正好是个陷阱
, 当我们把水精灵状态下的 X statement (我不是oo) 一起放入真假考虑的话,
会出现这种结果:
1. 说谎少女不是水精灵, 水精灵在 TT 组其中之一
X F T T T
Y F T T T
2. 说谎少女正好是水精灵
X T T T T
Y F T T T
我本来是用这个方式思考题目, 但是推到下面这一步时
鲑 鳟 鲶 鲤
戴 贝
T T T
T T
因为无法决定鲑和鲶谁说谎(必有其一), 於是我用带的再检验是否矛盾
然後出现了两种可能的答案:
1. 葛雷特说谎而且正好是水精灵
鲑 鳟 鲶 鲤
葛 玛 戴 贝
T T T
F T T T
2. 戴尔说谎, 水精灵不知道奖落谁家
鲑 鳟 鲶 鲤
玛 葛 戴 贝
T T F T
T T F T
因为觉得这个题目应该不会有这种模堎两可的答案, 我又再试试看其他想法
, 然後发现我原先的设定有问题, 也就是水精灵的 X一定要是 T.
在水精灵的 X必定为 T的设定之下, 会有这样的问题:
鲑: 我不是贝鲁 <= 她真的不是贝鲁
鳟: 我不是贝鲁 <= 她真的不是贝鲁
鲶: ... <= 用X 为T 无法判断
鲤: 我不是玛莉 <= 她真的不是玛莉
而且这样的X statement 使得四个人都可以成为水精灵, 所以当把水精灵状态
下的答案一并考虑进去的话, 这个题目的X statement 是资料不足的.
但是当水精灵条件被独立开的时候, 首先必定只有一组 FF 和三组 TT , 然後
回到水精灵条件: 水精灵不一定要说谎, 但是水精灵的 X statement一定要是
F !!!!
水精灵条件的设定: "在我是oo的情况下说我不是oo", 本来就是一个 F, 只是
因为她是水精灵而被认为是 T, 因为当水精灵是oo说自己不是oo的时候, 她等
於是说我是水精灵, 因此当然不是oo. 所以水精灵条件一开始就考虑的话, 水
精灵条件将会使得 X statement产生全 T或是三个 T.
而撇开水精灵条件, 先找出说谎者, 就可以避开水精灵条件使得原先为 X
statement 的转换问题
在我提出的解答是这样:
鲑 鳟 鲶 鲤
玛 葛 戴 贝
T T F T
T T F T
因为水精灵的 X statement 必为 F, 得解.
而oodh大提到「并没有说水精灵一定要说谎」, 在这个模式之下, 对应的情况
是 (X:F Y:T) , 也就是本来是诚实的人, 因为水精灵条件而变成在 X statement
说谎了.
注记一下, 纯粹就模式而言, 这种作法有两种情况
1. 2.
W W
X F T T T X F F T T
Y F T T T Y F T T T
然後oodh大的文, 小弟把您推论的部分看完了, 我想这个地方:
"还有一个不合理,如果我本来是 a
我说我不是b b说他是b c是水精灵说他不是c(也就是我设定他说谎) d说他是d
这样看来最後呈现「cbad」似乎很合理 因为c说谎而他刚好是水精灵,所以他的成真
让最後我们成为 c b a d (因为其他三人说实话)"
您的设定可以转换成
a: 我不是b, 可以是acd
b: 我是b
c: 我不是c, 可以是abd以及水精灵
d: 我是d
如果已知c 说谎, bd诚实, 那a可以是ac而不一定只有c, 因为虽然c 说谎使得c 似乎
必定要是a, 但是水精灵条件会让c 的谎言成真, 所以您的设定会变成:
a: 是a或c
b: b
c: a或水精灵
d: d
因此cbad不是必然结果, 而时间点问题, 我想在原题目中不构成问题
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.95.20
1F:推 oodh:还是那点,「并没有说水精灵一定要说谎」所以你的d不正确 03/08 02:58
2F:→ oodh:而你的结论与我「若鲶是水精灵」一样... 请参照小弟那篇~ 03/08 02:59
3F:→ oodh:老实说,我一直很好奇,我那篇有写得「很难看懂」吗?... 03/08 03:01
※ 编辑: ranian 来自: 140.115.206.154 (03/08 10:46)
4F:→ ranian:已在原文附加讨论回应 03/08 10:46
5F:→ oodh:^^ ... 我同意「要有唯一解水精灵就得说谎」 03/08 16:33