Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

To describe my question, I'll illustrate an example of a Knights, Knaves and Normals problem and the way I solve it.

Question

Knights always tell the truth. Knaves always lie. Normals sometimes lie and sometimes tell the truth.

Given the following statements, identify who is a knave, a knight or a normal:

A: C is a knave or B is a knight.
B: C is a knight and A is a knight.
C: If B is a knave, then A is a knight.

Solution

Statement A (SA) = ¬C or B
Statement B (SB) = C and A
Statement C (SC) = ¬B -> A

Information A (IA) = (SA = A)
Information B (IB) = (SB = B)
Information C (IC) = (SC = C)
Puzzle Solution (PS) = (IA & IB & IC)

Where 1 is true, and 0 is false.

| A | B | C || SA | SB | SC || IA | IB | IC || PS |
---------------------------------------------------
| 1 | 1 | 1 ||  1 |  1 |  1 ||  1 |  1 |  1 ||  1 |
| 1 | 1 | 0 ||  1 |  0 |  1 ||  1 |  0 |  0 ||  0 |
| 1 | 0 | 0 ||  1 |  0 |  1 ||  1 |  1 |  0 ||  0 |
| 0 | 0 | 0 ||  1 |  0 |  1 ||  0 |  1 |  0 ||  0 |
| 1 | 0 | 1 ||  0 |  1 |  1 ||  0 |  0 |  1 ||  0 |
| 0 | 0 | 1 ||  0 |  0 |  1 ||  1 |  1 |  1 ||  1 |
| 0 | 1 | 1 ||  1 |  0 |  0 ||  0 |  0 |  0 ||  0 |
| 0 | 1 | 0 ||  1 |  0 |  0 ||  0 |  0 |  1 ||  0 |

Using a Wolfram Knights and Knaves problem generator, the correct answer is:
A: Knave
B: Normal
C: Knight

My answer would have been:
A: Knave
B: Knave
C: Knight

What I cannot understand, is how do we know that B is a normal, based on the truth table? I assume that since the program can generate who the normal is, that there is a systematic method of identifying who the normal is, using a truth table. Am I correct in my assumption? Is a systematic technique present? This question has stumped me for a while, and I would be most grateful for an explanation. Thank you.

share|improve this question
2  
Of course, since it is not specified when normals lie or tell the truth, my solution would be: All are normals, and they all lied except for C. The point is of course "all are normals" always works. –  celtschk Aug 17 '12 at 13:06
add comment

1 Answer

up vote 1 down vote accepted

Your answer fails because C's statement is false and he is a knight. If somebody is Normal, the only way to ID it from the truth table is 1)he makes two statements, one true and one false or 2) somebody else's statements make him Normal. In this case, A shows he is not a Knight and C shows he is not a Knave.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.