Fill in a Sudoku. Build a school timetable so no teacher is in two rooms at once. Color a map so no two neighbors share a color. These feel like different puzzles, but they are the same problem wearing different clothes.
Strip away the theme and each one is a constraint satisfaction problem (CSP): a set of variables, a domain of values each variable may take, and a set of constraints — rules that say which combinations of values are allowed. A solution is an assignment of one value to every variable that breaks no rule.
That tiny vocabulary — variables, domains, constraints — is enough to describe an astonishing range of real tasks. It is also enough to capture problems we believe no fast algorithm can ever crack.
Comments
Loading comments...