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.
There are no formal prerequisites to register to this course. However, students are expected to have some basic knowledge in discrete mathematics, linear algebra, and some familiarity with the complexity classes P and NP.