I was reading a book, which contained these logic problems:
You have four cards with a number printed on one side and a letter printed on the other. Which cards do you have to turn over to determine if the following rule is broken: “if a card has a vowel on one side, then it has an even number on the other side”
In Britain you have to be 18 years old to drink alcohol in a pub. The following cards contain information about 4 people stood at the bar. On one side is their age, and on the other is what they drank. Which cards do you need to turn over to determine if there are under-age drinkers:
What’s surprising about the problems is that the second one is much easier than the first, even though the logic of the test is the same. When the tests were tried out in an on-line survey only 16% got the first problem correct, though 76% got the second correct.
According to the researchers who developed the tests the results show that “the human mind has not evolved reasoning procedures that are specialized for detecting logical violations of conditional rules. However the human mind has evolved to detect violations of conditional rules, when these violations involve cheating on a social exchange”.
What these logic problems confirm for me though, is that conditional logic is very easy to get wrong, and that’s why you have to write unit tests against it.
1 – E, 7
2 – Drank Beer, 17 years old