Constraint satisfaction problems
There are many problems that must be solved under constraints. These constraints are basically conditions that cannot be violated during the process of solving the problem.
These problems are referred to as Constraint Satisfaction Problems (CSPs).
To gain some intuitive understanding, let's quickly look at an example section of a Sudoku puzzle. Sudoku is a game where we cannot have the same number twice across a horizontal line, vertical line, or in the same square. Here is an example Sudoku board:
Figure 1: Example of a Sudoku board
Using constraint satisfaction and the rules of Sudoku we can quickly determine which numbers to try and which numbers not to try to solve the puzzle. For example, in this square:
Figure 2: Considering a problem in Sudoku
If we were not using CSP, one brute force approach would be to try all of the combinations of numbers in the slots and then check if the rules applied. For example, our...