Three gods A, B, and C are called, in no particular order, True, False, and Random. True always speaks truly, False always speak
s falsely, but whether Random speaks truly or falsely is a completely random matter. Your task is to determine the identities of A, B, and C by asking three yes-no questions; each question must be put to exactly one god. The gods understand English, but will answer all questions in their own language, in which the words for yes and no are da and ja, in some order. You do not know which word means which.
<span>This is a nasty problem. There's 12 possible arrangements of the 3 Gods and which of Ja or Da means "yes" (3!*2 = 6*2 = 12). The key thing here is the concept of a double inversion in logic. If you have a true value and pass it through 2 not gates, you'll still get a true value at the end. So you need to ask a question about a question in order to force a true answer from either god "True" or god "False". God "Random" simply adds a bit of annoyance. So your first question needs to determine the identity of a god that's not "Random".
So imagine a question of the form:
If I asked you X, would you have answered "Da"?
If you're talking to "True", there are 4 possibilities.
1. Da means "No", Ja means "Yes" and X is "No"; True would have answered X with "Da" and therefore would answer the whole question with "Ja"
2. Da means "No", Ja means "Yes" and X is "Yes"; True would have answered X with "Ja" and therefore would answer the whole question with "Da"
3. Da means "Yes", Ja means "No" and X is "No"; True would have answered X with "Ja" and therefore would answer the whole question with "Ja"
4. Da means "Yes", Ja means "No" and X is "Yes"; True would have answered X with "Da" and therefore would answer the whole question with "Da"
Key thing to notice is that no matter what the meaning of Da or Ja, the answer will always be "Ja" if X is false, and "Da" if X is true.
Now imagine the same question being asked of False
1. Da means "No", Ja means "Yes" and X is "No"; False would have answered X with "Ja" and therefore would answer the whole question with "Ja"
2. Da means "No", Ja means "Yes" and X is "Yes"; False would have answered X with "Da" and therefore would answer the whole question with "Da"
3. Da means "Yes", Ja means "No" and X is "No"; False would have answered X with "Da" and therefore would answer the whole question with "Ja"
4. Da means "Yes", Ja means "No" and X is "Yes"; False would have answered X with "Ja" and therefore would answer the whole question with "Da"
Notice that False will give the exact same answers as True. "Ja" if X is false, and "Da" if X is true.
So you won't have any idea as to meaning of Ja and Da, but you will know if question "X" is truthful or not.
First question:
Ask A:If I asked you "Is B god Random?", would you have answered "Da"?
If A is either True or False, then you know if the answer is "Da" that B might be Random, and that C is definitely NOT Random. And if the answer is "Ja", then C might be Random and that B is definitely NOT Random.
If A is Random, then it really doesn't matter, since both B and C are NOT Random.
Now your next question is going to be to either "B" or "C" depending upon the answer to the 1st question. You want to be asking the question of a God that is NOT random, so if you got the answer "Da", ask the next question of C and if you got the answer "Ja", ask the next question of B.
The second question is still of the form "If I asked you X, would you have answered "Da"?" and the same exact logic applies. If you're talking to True, the answer passed through two buffers and comes out true, and if you're talking to False, it passes through two inverters and still comes out true.
Second question:
If I asked you "Are you False?", would you have answered "Da"?
And if the answer is "Da", then the god you're speaking to is False, and if the answer is "Ja", then the god you're speaking to is "True".
Final question:
If I asked you "Is A god Random?", would you have answered "Da"?
And if the answer is "Da", then A is definitely "Random" and if the answer is "Ja", then the god you haven't spoken to is definitely "Random".
So now you know if the god you're speaking to is True or False, and you have the correct identity of Random. The 3rd god is a simple matter of elimination.</span>