level 1
有甲、乙、丙三个精灵,其中一个只说真话,另外一个只说假话。 还有一个随机地决定何时说真话,何时说假话。 你可以向这三个精灵发问三条是非题,每条问题只可问一只精灵,而你的任务是从他们的答案找出谁说真话,谁说假话,谁是随机答话。 这个难题困难的地方是这些精灵会以「Da」或「Ja」回答,但你并不知道它们的意思,只知道其中一个字代表「对」,另外一个字代表「错」。 你应该问那三条问题呢?
2006年08月22日 03点08分
1
level 0
在一张白纸上我画了一个 田螺形状的贝壳 突然感觉生物数学比较有趣 李煌老师是大家的父亲 伟大数学天才李煌老师,爱因斯坦少数合法继承人之一的李煌老师的相册,请大家欣赏 http://photo.163.com/photos/420111197702177316/18383435/
2006年08月22日 15点08分
2
level 1
可能无解,如果我问,你从不说真话吗?不知道那个只说假话的该回答什么?
2006年08月24日 01点08分
4
level 0
给楼主转贴个答案(以下内容都是转贴)答案:见 Boolos (1998) Logic, Logic, and Logic Harvard University Press, 第29章 冷老大给我的答案以及分析: 个随机说真话假话的太讨厌,我们假设我们知道那个人或者只讲真话或者只讲假话。但是我们可以找到一种句型,负负得正(但正正也得正):如果我问你“A是真的”这个问题,你会回答“Da”吗? (2)这个句子的真假值:当Da是真,且A真时,说真话者对A的回答是真即Da,对(2)的回答真即Da,说假话者对A的回答是假即Ja,对(2)的回答真即Da;当Da是真,且A假时,说真话者对A的回答是假即Ja,对(2)的回答假即Ja,说假话者对A的回答是真即Da,对(2)的回答假即Ja;当Da是假,且A真时,说真话者对A的回答是真即Ja,对(2)的回答假即Da,说假话者对A的回答是假即Da,对(2)的回答是假即Da;当Da是假,且A假时,说真话者对A的回答是假即Da,对(2)的回答是真即Ja,说假话者对A的回答是真即Ja,对(2)的回答真即Ja。也就是说,如果A真,那么不管说真话说假话,对(2)的回答都会是Da;如果A假,那么不管说真话说假话,对(2)的回答都会是Ja 假设问完第一个问题后我们知道第一个人肯定不是随机说话的那个,那么接下来两个问题就是上面这个的句型(2),把A改成“第二个人是随机说话的那个”,这样我们就知道谁是随机说话的了,再问一句把(2)中A改成“你是说真话的那个”,那么我们也就知道谁是说真话的了。 给定一个命题A,我们总可以构造句子P(A):如果我问你“A是真的”这个问题,你会回答“Da”吗?在问不是随机说话的两人时,如果A实际是真的,那么他们都会回答Da,如果A实际是假的,那么他们都会回答Ja。假设精灵编号为1,2,3,先问精灵1:P(“精灵2是随机说真假话的”)如果得到回答Da,那么精灵3肯定不是随机说话的那个,如果得到回答Ja,精灵2肯定不是随机说话的那个。于是我们第二个问题就问肯定不是随机说话的那个精灵(下面假设它是精灵3):P(“精灵1是随机说真假话的”)如果得到回答Da,那么精灵1是随机说话的那个,如果得到回答Ja,精灵2是随机说话的那个。然后再问精灵3:P(“你是专说真话的”)如果得到回答Da,那么精灵3是专说真话的,于是剩下那个专说假话;如果得到回答Ja,精灵3是专说假话的,于是剩下那个专说真话。
2006年08月25日 02点08分
5
level 0
随便找一个,问他:你是不是精灵,如果他说DA,问下一个:DA是不是‘对’的意思,再问第三个:第二个精灵说的是不是对的,稍加推理即可得出结论。(如果他们的回答不是我所说的那样,将后面的问题改改就行了。This is too easy!
2009年04月05日 08点04分
15