Very Hard Truth Riddle
Posted by Rob Herman at October 1st, 2006
As promised, here is the followup riddle. This one is hard… very hard. There’s a solution, with commentary, behind the cut. Although intrepid reader John Rhoadhouse did find it independently!
You are faced with three creatures, numbered 1, 2, and 3. One of them always tells the truth, one always lies, and one may tell the truth or lie arbitrarily. You need to find out which is which in three yes-or-no questions. Here is the catch: Although they understand questions posed in English, they do not speak it. The words they use for “yes” and “no” are “ja” and “da,” but you don’t know which is which.
This is where Hint 0 comes in. If this riddle were posed by, say, some guy named NarutoFan69 on the offtopic forums for your favorite Webcomic, you would be justified in reasoning:
- There are 12 different possibilities for a setup: 6 arrangements of the three creatures, multiplied by 2 for the meanings of “yes” and “no.”
- With 3 yes-or-no questions, you can distinguish between a maximum of 8 (23) different outcomes.
- So there’s no good solution, and NarutoFan69 is posting a lame trick question (“read the name tags LOL”).
But hopefully you trust me not to give you a riddle without a good answer. The answer is behind the cut, although solving it yourself is a mark of great honor.
So here we go.
First, we’ll call the creatures T, R, and L, for Truth, Random, and Liar, although we don’t yet know which is which. When asking questions we will refer to them as 1, 2, and 3, to distinguish them.
On to the riddle. To resolve the paradox of 12 different possible situations but only 8 different outcomes we can distinguish. This difficulty is insurmountable; therefore, when we solve the problem, it must be that we will not know what “ja” and “da” mean. We will have to pick our questions very carefully to line up the answers meaningfully.
Furthermore, we need to make sure we don’t ask any more questions of R than necessary, because if it is possible that we have asked R a question, we gain less information. There is no way to avoid asking the first question of R, so we must make sure to a) switch creatures after the first question, and b) we must craft the first question so that we can avoid asking R the second question if the first was addressed to one of the others.
With all this in mind, the first question works out to be: Addressing (without loss of generality) 1, “Assuming R answers the way you would, what would 2 answer to the question ‘does “ja” mean “yes”?’”
If the answer is “ja”, then 3 is definitely not R. Here’s why:
- If 1 is R, then 3 is not R.
- If 1 is T, and 3 is R, then 2 must be F. But if “ja” means yes, then F would answer “no” (“da”) and likewise, 1 would tell us “da.” Likewise, if “ja” means “no,” F would answer “da” and 1 would tell us “da”. But the answer is “ja”, so this must not be the case.
- If 1 is F, and 3 is R, then 2 must be T, but this situation is impossible in the same way.
Likewise, if the answer is “da”, then 2 is definitely not R. So at the end of the first question, we have eliminated two of the six possibilities for position: either the two where R is 3 or the two where R is 2. Without loss of generality, we will assume the answer was “ja.” There are now four possibilities:
|
1 |
2 |
3 |
|
T |
R |
L |
|
L |
R |
T |
|
R |
T |
L |
|
R |
L |
T |
It is now just a matter of finding two questions that give a truth table that unambiguously determine the situation. Notice that we must address both questions to 3 to avoid asking one of R.
Question 2: “Does ‘ja’ mean ‘yes’?” If the answer is “ja,” then 3 is T; either “ja” really means “yes” and 3 is truthfully saying yes, or “ja” means “no” and 3 is truthfully saying no. Likewise, if the answer is “da,” then 3 is F.
Assuming without loss of generality 3 is T, now we just need to determine which of 1 and 2 is R and which is F. You can actually then ask 3 the same question as you asked in question 1: “Assuming R answers the way you would, what would 2 answer to the question ‘does “ja” mean “yes”?’” If 2 is R, then 3 would truthfully say “ja” positively if it does and “ja” negatively if it doesn’t. If 2 is L, then 3 would truthfully relate 2’s answer of “da.” And knowing the identities of 3 and 2, 1 is determined by elimination.
And despite having asked three questions about whether “ja” means “yes,” we still don’t know!
Thanks to intrepid reader John Rhoadhouse and the xkcd forums for massive help on this one.
To quote the above article “Notice that we must address both questions to 3 to avoid asking one of R.” If the secound question is the same as the first just addressed to 3 then that will tell if 2 is R and allow you to ask your third question to 1 or 2 depending on the answer.
Ah, this is true. Unfortunately saying it makes things even more complicated, so I’m going to leave the article as it is.
I’m actually pretty pleased with myself just for getting the article to tangentially approach “coherent.”
That is a clever answer, but it assumes that each God knows the others, which is not stipulated in the question, so I don’t know if it can be assumed. Here is my attempt, please let me know what you think…
You ask God A: “assuming JA is yes, ARE YOU EITHER THE TRUTH TELLER OR THE RAMDOM GUY LYING?”
The random God will always answer No (whether he lies or tells the truth), and the other two will always answer Yes.
You ask that same question to the second guy.
By the second question you are sure to have identified the random god, then you use the Truth times a lie thing to get the two nonrandom gods to tell you which is the truth teller. To be specific about the last question, assuming you find A and B are the non randoms, then you could say to B ” assuming JA is yes, and given that A always answers questions in exactly the opposite way that you do, would A say that you are the liar?”
If he says yes, he is the truth teller, if he says no, he is the liar.
Note that in this solution, the gods don’t have to know each other, only themselves.