Puzzles
Implementing puzzles and games efficiently requires explicit and complex control of the execution. In this lecture, we begin with a variety of puzzles and look at their representation as mathematical problems. We learn about two main types of non-determinism, and search strategies to tame them.