Einstein's Puzzle - Solving it human style
This page is the second page in the Einstein's Puzzle Tutorial series, and describes how a human being might attempt to solve the puzzle. The Einstein's Puzzle - Description page sets up the puzzle itself.
As a human, it helps to have some writing materials to compensate for the limited memory the average human brain can provide. To help you, there is a page you can print directly to serve as a scratchpad for your progress. The first two rules have already been filled in.
The grid can be used to store the facts you uncover and allows you to easily go through what you have learned and transpose the information to other cubes in the grid. The table gives you a structure to apply the 'next to' rules and exclude colour options.
With the first two rules filled in, you should be able to complete the grid with the remaining 13 rules from the puzzle description page.
The table has been filled out more completely, to show that you could use brackets to indicate that a certain colour is possible and that colours that are no longer possible have been crossed out.
In general, you will need to keep updating the grid and the table to reflect what you have been able to deduct from the facts that you have been given and the other facts you have been able to deduce.
Most of the given facts will lead to 'ticks' in your grid (1, 2, 3, 5, 6, 7, 12 and 13) as in the two examples that have been filled out in the grid for you already.
Other facts will exclude certain possibilities (10, 11, 14 and 15), leading to crosses in your grid. For example number 10 indicates that if the man who smokes Blends lives next to the man who keeps cats, that means that the man who smokes Blends does not keep cats.
The remaining facts (8 and 9) are not useful to fill out the grid (yet), but can be entered into the table to aid your thought process. Rules 4 and 14 can also be filled in the table now, as has been done for you already in the scratchpad.
You should be able to complete the puzzle now, by running through the rules and the facts you have deduced to uncover new facts. Since it is a lot of work to write out every rule you will deduce, just see how far you get.
Implicit vs. explicit knowledge
Although the scratchpad provided above demonstrates a standard way in which this problem is commonly solved, it is not the best way in which the problem is to be solved by computer. There are several (deep, philosophical) reasons for this:
- The scratchpad grid was invented by humans only after considerable trial and error, and failed attempts to solve the puzzle by other means. That is, simply being aware that the puzzle can be solved by scrachpad grid already provides a large step forward in solving the puzzle.
- The scratchpad technique, while useful, does not generalize easily to generic reasoning problems. In particular, it both captures, and hides, the fact that some of the common-sense rules that one must apply are mutual-exclusion rules. That is, if person A is occupying house 1, they cannot also occupy house 2. This sort of exclusive thinking is vital in general problem solving, but is pre-supposed, hidden and encoded in the grid. In the final computer solution, such exclusion-type rules should be explicitly coded, rather than implicitly tangled into a grid format.
- The scratchpad technique also implicitly encodes knowledge about the order of houses, and neighbor relations. That is, we has humans, are implicitly aware of the ordering relation 1st, 2nd, 3rd, 4th, 5th. The computer does not; we should be careful not to accidentally encode order into a grid; there should be explicit rules about ordering. In particular, there is an explicit reference to "middle": we know that this means the "3rd house", but this is hardly obvious to the computer, from first principles. By contrast, "middle" is already hard-coded into the grid.
- The scratchpad encodes information visually, in a way that we can use the "minds eye" to solve the puzzle. So for example, early on, one deduces that the green and white houses must be the 4th and 5th houses, simply because there is no room for them anywhere else on the grid (the 2nd house is blue, and the 3rd house has a milk drinker, which conflicts with the green house's coffee drinker). By contrast, the computer does NOT have an innate visual common-sense that can make this leap. If we want to give the computer some geometric knowledge, then it should be done explicitly; the computer should have explicit rules expressing spatial relations (left-of, right-of, center) and the symmetry of such relations (if X is a neighbor of Y, then Y is a neighbor of X). One must be careful to not accidentally encode such geometric relations implicitly, by assuming a grid.
The above points are basically saying this: Let us not accidentally encode our own common-sense logic into the problem solver. The solver will need to have common-sense rules in it, and so lets make them explicit.
In other words, now that you've learned how to solve the puzzle using a scratchpad, throw it all away; we can't use this for general problem solving.
Now you can solve the puzzle yourself, it's time to see if we can make OpenCog solve it too, using PLN. See defining the puzzle facts for details.
- Please leave them on the talk page.