A Constraint Satisfaction Problem (CSP) is a formal computational model defined by a set of variables, each with an associated domain of possible values, and a set of constraints that specify allowable combinations of values for subsets of those variables. The objective is to find an assignment of values to all variables that satisfies every constraint, or to determine that no such assignment exists. CSPs provide a unifying language for modeling a vast array of real-world problems, from scheduling and configuration to circuit design and resource allocation, by abstracting them into a search over a constrained state space.
