Tuesday, April 21, 2009

Three Headed Dragon

This is a follow up to Two Headed Dragon: a Quick Logic Riddle

Three Headed Dragon - difficulty: medium
The Setup:
You walk down a long tunnel and come to the end with a door on either side. One door leads to paradise, and the other door leads to suffering, but they are both identical. A three headed dragon sits in between the doors. Each head must either lie or tell the truth. You are allowed one question to ask to help determine the correct road to paradise.
  • All three heads may lie, all three may tell the truth, two heads may lie and one may tell the truth or two heads may lie and one may tell the truth.

The Problem:
What question do you ask to discover the correct door?

The Solution:
Ask, "what would your answer be if I asked you whether the first door will lead me to paradise?" and follow the dragon's advice.
This answer is also an alternate solution to the two dragon riddle.

Random Three Headed Dragon - difficulty: hard

The Setup:
You walk down a long tunnel and come to the end with a door on either side. One door leads to paradise, and the other door leads to suffering, but they are both identical. A three headed dragon sits in between the doors. One of the heads always lies, the other always tells the truth, the third answers randomly. There is no way to tell which one is which but you are allowed two question to ask to help determine the correct road to paradise.
  • What the second question is, and to which head it is put, may depend on the answer to the first question.
  • The random head may answer truthfully, dishonestly or totally randomly. If you asked him if he was a dragon, he may respond 'yes', 'no' or 'pizza.'

The Solution:
Ask dragon B, "If I asked you 'Does head A answer randomly?', would you say 'no'?" If he says no, your next question goes to head C. If he says yes, your next question goes to head A. Either way you ask, "what would your answer be if I asked you whether that door will lead me to paradise" and go through that door.

The Explanation:
The first move is to find a head that you can be certain is not Random, and hence is either True or False. If you ask dragon B, "If I asked you 'Is A Random?', would you say 'no'?" you get six possible results:

A B C Answer t=truth dragon, f=false dragon, r=random dragon
F T R yes
T F R yes
T R F yes, no or pizza
F R T yes, no or pizza
R T F no
R F T no

yes - A isn't random
no - C isn't random

Having isolated a non-random dragon, the question, "what would your answer be if I asked you whether that door will lead me to paradise?" will always produce the true answer.

2 comments:

  1. The solution to the first one is effectively asking the question such that a lying head will be forced into double-negating their answers. You do this by putting a question into a question (think proxy, as per my comment to the original two-headed dragon riddle).
    If L(x)=-x, then L(L(x))=x, and of course, T(T(x))=x if T(x)=x.

    The thought process of the truth-telling head answering this recursively proxied question should be easy. The lying head might be worth explicating. The question "What would your answer be if I asked you 'will this door lead me to paradise'" will have the lying head first define the answer to the embedded question: if it does lead to paradise, it will say 'no'(if T), else 'yes'(if F). As a liar, the head would then have to lie about whether he would say 'yes' or 'no', so the answer would ultimately have to be 'yes' if T or 'no' if F. Simply put, the liar lies about a lie.

    The second puzzle (hard mode) is a bit more interesting. I'm not quite sure how to denote this, but lets say that the random head is:
    R(x)=[L(x) v T(x) v pizza]
    such that
    R(R(x))=[L(T(x)) v T(L(x)) v L(L(x)) v T(T(x)) v pizza], each with equal probability.

    What we need to do then is devise a process in which we eliminate the possibility of asking the second question to the random head. By posing the question as in the solution, we can be sure to eliminate the random head + another head. Here's the idea: we know that if either the truth-telling head or the lying head is B, then we are getting a trustworthy answer from which we can determine at least 1 non-random head from A and C. If B happens to be the random-head, then we can deduce that it doesn't matter what the answer leads us to deduce since, by NOT even considering the possibility of asking B the second question, we know that we will never ask the random head (if B=random) the second question and thus avoiding fallacious answers. To elaborate, if B answers like a truth-teller, we can deduce that A is definitely not random, and if B answers like a liar, we can deduce that C is definitely not random (and if B answers with "pizza", we know B is random). Even once we determine the one non-random head, we ultimately don't know which of the other two is the random-head.

    SUPER DUPER EXTRA CREDIT OMG-MODE: There are two indistinguishable doors: one leads to paradise and the other to a miserable death. There is a 100-headed dragon. One head always answers truthfully and one head always lies. The remaining 98 heads answer randomly.
    (is this even possible? I derno, just made it up).

    ReplyDelete
  2. 'd just like to alter the setup a little:

    Random doesn't randomly tell the truth or lie, he can also randomly says yes or no. In other words, whatever answer you DON'T want to hear, he can say.

    Otherwise we can just use our, "If I asked you Q, would you say 'yes'?" trick to trivialize the problem and get any dragon to answer truthfully everytime.

    ReplyDelete