A Baron, a Count, a Duke and an Earl met at a jousting tournament. In the first round, two met in the first joust, and the other two met in the second joust; the two winners from the first round met at the second round for the final joust. After the jousting, they declared:
Baron: I beat the Earl.
Count: I faced both the Baron and the Duke.
Duke: I didn't make it past the first round.
Earl: At the first round, I lost to the Duke.I knew how many were knights, and how many were liars (though not who was what) but that wasn't enough to know what jousts there had been.
However, I happened to know that a certain joust had taken place (though I didn't know who won and if it had been in the first or the second round) and that allowed me to know every result.
Can you deduce this?
I normally stay clear of these logic puzzles, but I am procrastinating
like mad and I am curious how well Mathematica can help me. I will try
to fashion my computer-aided explanation as discussed in the forums.
First I created the set of all 24 possible tournament results; 3
initial joust set-ups times 4 possible outcomes for the first round
times 2 possible outcomes for the final joust.
I wrote each
of the men's statements as a function that can be applied to a single
tournament and return a true or false according to whether or not the
statement holds. When these functions are evaluated against all 24
tournaments, I sorted them and found: There are 6 tournaments for which
all four men are liars, there are 12 tournaments where there are
exactly 3 liars, and there are 6 tournaments with exactly 2 liars. This
means that knowing the number of liars cannot determine a single
tournament, but it does limit the number of liars/knights to three
possibilities.
Now a little grunt work through seaching the
truth table. First I group the 24 tournaments according to the number
of liars; 4, 3, or 2. Also there are six possible pairings Oscar could
have in mind (using initials): B-C, B-D, B-E, C-D, C-E, D-E.
All three groups have at least a pair of tournaments for each of these
6 possible pairings except the 2-liar group has only one tournament
with a C-E joust. To be specific, the tournament where the Baron beats
the Duke, the Earl beats the Count, and the Baron beat the Earl is the
only torunament where the Count jousts the Earl and there are exactly
two liars (the Count and the Earl). Furthermore, all of the collections
of tournments (by number of liars) contain at least two tournaments
with each pairing except for the given case.
Mathematica
allowed me to list the possible tournaments, quickly compute the
validity of each statement against the torunaments, and sort the
tournaments with respect to the number of liars.
Add.: I could have
written a final function that counted the number of times each paring
appeared in each group, flagging those that appear exactly once.
Why I didn't is a mystery to me :-)
Edited on August 15, 2005, 6:35 pm
|
Posted by owl
on 2005-08-15 17:51:37 |