Constraint Satisfaction
Total Page:16
File Type:pdf, Size:1020Kb
Title of Publication: Encyclop edia of Cognitive Science. Article title: Constraint Satisfaction. Article co de: 26. Authors: Rina Dechter Department of Computer and Information Science University of California, Irvine Irvine, California, USA 92717 Telephone: 949-824-655 6 Fax: 949-824-40 56 E-mail: [email protected] Francesca Rossi Dipartimento di Matematica Pura ed Applicata Universit adiPadova Via Belzoni 7, 35131 Padova, Italy Telephone: +39-049-8275 982 Fax: +39-049-827 589 2 E-mail: [email protected] d.it 1 Constraint Satisfaction Keywords: Constraints, constraint satisfaction, constraint propagation, con- straint programming. Contents 1 Intro duction 3 2 Constraint propagation 5 3 Constraint satisfaction as search 7 4 Tractable classes 9 5 Constraint optimization and soft constraints 10 6 Constraint programming 11 7 Summary 13 Article de nition: Constraints are a declarative knowledge representation formalism that allows for a compact and expressive mo deling of many real-life problems. Constraint satisfaction and propagation to ols, as well as constraint programming languages, are successfully used to mo del, solve, and reason ab out many classes of problems, such as design, diagnosis, scheduling, spatio- temp oral reasoning, resource allo cation, con guration, network optimization, and graphical interfaces. 2 1 Intro duction Constraint satisfaction problems. A constraint satisfaction problem CSP consists of a nite set of variables, each asso ciated with a domain of values, and a set of constraints . Each of the constraint is a relation, de ned on some subset of the variables, called its scope, denoting their legal combinations of values. As well, constraints can b e describ ed by mathematical expressions or by computable pro cedures. Solutions. A solution is an assignmentofa value to eachvariable from its domain such that all the constraints are satis ed. Typical constraint satisfaction problems are to determine whether a solution exists, to nd one or all solutions, and to nd an optimal solution relative to a given cost function. Examples of CSPs. An example of a constraint satisfaction problem is the well-known k -colorability problem. The task is to color, if p ossible, a given graph with k colors only, such that anytwo adjacent no des have di erent colors. A constraint satisfaction formulation of this problem asso ciates the no des of the graph with variables, the p ossible colors are their domains and the not-equal constraints b etween adjacent no des are the constraints of the problem. Another known constraint satisfaction problem concerns satis ability SAT, which is the task of nding a truth assignment to prop ositional variables such that a given set of clauses are satis ed. For example, given the two clauses A _ B _:C ; :A _ D , the assignmentof false to A, true to B , false to C, and false to D is a satisfying truth value assignment. The constraint graph. The structure of a constraint problem is usually depicted bya constraint graph whose no des represents the variables, and any two no des are connected if the corresp onding variables participate in the same constraint scop e. In the k -colorability formulation, the graph to b e colored is the constraint graph. In the SAT example ab ove, the constraint graph has A connected with D , and A; B and C are connected to each other. 3 Applications areas. Constraint problems have proven successful in mo d- eling mundane cognitive tasks such as vision, language comprehension, de- fault reasoning and ab duction, as well as in applications suchasscheduling, design, diagnosis, and temp oral and spatial reasoning. The reason is that constraints allow for a natural, expressive and declarative formulation of what has to b e satis ed, without the need to say how it has to b e satis ed. Complexity of constraint-related tasks. In general, constraint satis- faction tasks like nding one or all solutions, or the b est solution are com- putational ly intractable NP-hard. Intuitively, this mean, that in the worst case all the p ossible variable instantiations may need to b e considered b e- fore a solution or b est solution can b e found. However, there are some tractable classes of problems that allow for ecient solution algorithms even in the worst-case. Moreover, also for non-tractable classes, many techniques exhibit a go o d p erformance in practice in the average case. Constraint optimization problems. Constraint pro cessing tasks include not only the satisfaction task, but also constraint optimization problems. This o ccurs when the solutions are not equally preferred. The preferences among solutions can b e expressed via an additional cost function also called an objective function, and the task is to nd a b est-cost solution or a rea- sonable approximation of it. Soft constraints. The notion of constraint optimization leads a more ex- ible view of constraints, where each constraintmayhave a level of imp or- tance. In this case, we talk ab out soft constraints, which allow for a faithful mo deling of many applications and can accommo date user preferences and uncertainties within the constraint formalism. Techniques for solving CSPs. The techniques for pro cessing constraint problems can b e roughly classi ed into two main categories: search and con- sistency inference or propagation. However, such techniques can also b e combined, and, in fact, in practice a constraint pro cessing technique usually contains asp ects of b oth categories. Search algorithms traverse the space of partial instantiations, building up a complete instantiation that satis es all the constraints, or they determine that the problem is inconsistent. In 4 contrast, consistency-inference algorithms reason through equivalent prob- lems: at each step they mo dify the current problem to makeit more explicit without lo osing any information that is, maintaining the same set of solu- tions. Search is either systematic and complete, or sto chastic and incom- plete. Likewise, consistency-inference has complete solution algorithms e.g., variable-elimination, or incomplete versions, usually called local consistency algorithms b ecause they op erate on lo cal p ortions of the constraint graph. Constraints in high-level languages. The constraint satisfaction mo del is useful b ecause of its mathematical simplicity on one hand, and its abilityto capture many real-life problems on the other. Yet, to make this framework useful for many real-life applications, advanced to ols for mo deling and for implementation are necessary.For this reason, constraint systems providing some built-in propagation and solution algorithms are usually emb edded within a high-level programming environment which assists in the mo deling phase and which allows for some control over the solution metho d itself. 2 Constraint propagation The basic idea. Constraint propagation or lo cal consistency algorithms [11, 8, 4] transform a given constraint problem into an equivalent one which is more explicit, by inferring new constraints that are added to the problem. Therefore, they may make some inconsistencies, whichwere implicitly con- tained in the problem sp eci cation, explicitly expressed. Intuitively, given a constraint problem, a constraint propagation algorithm will makeany so- lution of a small subproblem extensible to some surrounding variables and constraints. These algorithms are interesting b ecause their worst-case time complexity is p olynomial in the size of the problem, and they are often very e ective in discovering many lo cal inconsistencies. Arc and path consistency. The most basic and most p opular propaga- tion algorithm, called arc-consistency, ensures that anyvalue in the domain of a single variable has a legal match in the domain of any other selected variable. This means that any solution of a one-variable subproblem is ex- tensible in a consistent manner to another variable. The time complexityof this algorithm is quadratic in the size of the problem. Another well-known 5 constraint propagation algorithm is path-consistency. This algorithm en- sures that any solution of a two-variables subproblem is extensible to any third variable, and, as exp ected, it is more p owerful than arc-consistency, discovering and removing more inconsistencies. It also requires more time: its time complexity is cubic in the size of the problem. I-consistency. Arc- and path-consistency can b e generalized to i-consistency. In general, i-consistency algorithms guarantee that any lo cally consistent th instantiation of i 1variables is extensible to any i variable. There- fore, arc-consistency coincides with 2-consistency, and path-consistency is 3-consistency. Enforcing i-consistency can b e accomplished in time and space exp onential in i: if the constraint problem has n variables, the complexityof i achieving i-consistency is O n . Algorithms for i-consistency can sometimes reveal that the whole problem is inconsistent. Global consistency. A constraint problem is said to b e global ly consistent, if it is i-consistent for every i. When such a situation arises, a solution can b e assembled by assigning values to variables using anyvariable ordering without encountering any dead-end, namely in a backtrack-free manner. Adaptive-consistency as complete inference. In practice, global con- sistency is not really necessary to have backtrack-free assignmentofvalues: it is enough to p osses directional global consistency relative to a given vari- able ordering. For example, the adaptive consistency algorithm, whichis a variable elimination algorithm, enforces global consistency in a given or- der only, such that every solution can b e extracted with no dead-ends along this ordering. [3]. Another related algorithm, called tree-clustering, compiles the given constraint problem into an equivalent tree of subproblems whose resp ective solutions can b e combined into a complete solution eciently. Adaptive-consistency and tree-clustering are complete inference algorithms that can take time and space exp onential in a parameter of the constraint graph called induced-width or tree-width [3].