Welcome back to this month’s mathematical riddle (and can you believe it’s almost December)! Today we have a neat logic puzzle with an amusing twist on the traditional knight-or-knave problems that are popular in the literature.
This month’s riddle is actually fairly well-known, but was communicated to me by C. Cook. As always, if you have a nice mathematical riddle that you would like to share, then let us know and we’ll see if we can post it!
You, an intrepid explorer, have found a mystical fortune-telling shrine. This shrine is particularly mystical because it has three mystical oracles (all in the same room), making it manifestly superior to other run-of-the-mill mystical shrines, which have only one oracle. Complicating matters further, however, is the fact that not all of the oracles in the shrine tell the truth. In fact, exactly one oracle always tells the truth, exactly one oracle always lies, and exactly one oracle always answers randomly.
Your job is to determine, using no more than three true-or-false questions, which oracle is which. Each question must be addressed to a single oracle, and may (if you wish) be about the other oracles in the room. You are required to ask only questions which have a definite true-or-false answer, even if you suspect the oracle to whom you are addressing the question is the random oracle. (Note that a question such as “would Oracle A say ‘true’ to such-and-such a question” would thus be allowed only if you were certain that Oracle A was not the random oracle.)
It is not required that each of the three questions be asked to a different oracle (so you could ask the same oracle all three questions). Successive questions may of course be based on the answers to previous questions.
Can you come up with a set of three questions that will allow you to determine the identity of the oracles? Give your answers in the comments below!