A constraint satisfaction problem (CSP) is a computational problem is the problem of deciding whether a given set of constraints admits a solution in a given set. Common examples are the problem of solving systems of linear equations over the real numbers, or the problem of determining whether a propositional boolean formula admits a solution.
In this course, we will introduce the mathematical theory hiding behind CSPs and show how symmetries can be used to obtain a classification of the CSPs that can be solved efficiently.