Foundations of Constraint Satisfaction


Book Description

This seminal text of Computer Science, the most cited book on the subject, is now available for the first time in paperback. Constraint satisfaction is a decision problem that involves finite choices. It is ubiquitous. The goal is to find values for a set of variables that will satisfy a given set of constraints. It is the core of many applications in artificial intelligence, and has found its application in many areas, such as planning and scheduling. Because of its generality, most AI researchers should be able to benefit from having good knowledge of techniques in this field. Originally published in 1993, this now classic book was the first attempt to define the scope of constraint satisfaction. It covers both the theoretical and the implementation aspects of the subject. It provides a framework for studying this field, relates different research, and resolves ambiguity in a number of concepts and algorithms in the literature. This seminal text is arguably the most rigorous book in the field. All major concepts were defined in First Order Predicate Calculus. Concepts defined this way are precise and unambiguous.







Handbook of Constraint Programming


Book Description

Constraint programming is a powerful paradigm for solving combinatorial search problems that draws on a wide range of techniques from artificial intelligence, computer science, databases, programming languages, and operations research. Constraint programming is currently applied with success to many domains, such as scheduling, planning, vehicle routing, configuration, networks, and bioinformatics.The aim of this handbook is to capture the full breadth and depth of the constraint programming field and to be encyclopedic in its scope and coverage. While there are several excellent books on constraint programming, such books necessarily focus on the main notions and techniques and cannot cover also extensions, applications, and languages. The handbook gives a reasonably complete coverage of all these lines of work, based on constraint programming, so that a reader can have a rather precise idea of the whole field and its potential. Of course each line of work is dealt with in a survey-like style, where some details may be neglected in favor of coverage. However, the extensive bibliography of each chapter will help the interested readers to find suitable sources for the missing details. Each chapter of the handbook is intended to be a self-contained survey of a topic, and is written by one or more authors who are leading researchers in the area.The intended audience of the handbook is researchers, graduate students, higher-year undergraduates and practitioners who wish to learn about the state-of-the-art in constraint programming. No prior knowledge about the field is necessary to be able to read the chapters and gather useful knowledge. Researchers from other fields should find in this handbook an effective way to learn about constraint programming and to possibly use some of the constraint programming concepts and techniques in their work, thus providing a means for a fruitful cross-fertilization among different research areas.The handbook is organized in two parts. The first part covers the basic foundations of constraint programming, including the history, the notion of constraint propagation, basic search methods, global constraints, tractability and computational complexity, and important issues in modeling a problem as a constraint problem. The second part covers constraint languages and solver, several useful extensions to the basic framework (such as interval constraints, structured domains, and distributed CSPs), and successful application areas for constraint programming.- Covers the whole field of constraint programming- Survey-style chapters- Five chapters on applications




Constraint Satisfaction in Logic Programming


Book Description

This book tackles classic problems from operations research and circuit design using a logic programming language embedding consistency techniques, a paradigm emerging from artificial intelligence research. Van Hentenryck proposes a new approach to solving discrete combinatorial problems using these techniques.Logic programming serves as a convenient language for stating combinatorial problems, but its "generate and test" paradigm leads to inefficient programs. Van Hentenryck's approach preserves one of the most useful features of logic programming - the duality of its semantics - yet allows a short development time for the programs while preserving most of the efficiency of special purpose programs written in a procedural language.Embedding consistency techniques in logic programming allows for ease and flexibility of programming and short development time because constraint propagation and tree-search programming are abstracted away from the user. It also enables logic programs to be executed efficiently as consistency techniques permit an active use of constraints to remove combinations of values that cannot appear in a solution Van Hentenryck presents a comprehensive overview of this new approach from its theoretical foundations to its design and implementation, including applications to real life combinatorial problems.The ideas introduced in "Constraint Satisfaction in Logic Programming "have been used successfully to solve more than a dozen practical problems in operations research and circuit design, including disjunctive scheduling, warehouse location, cutting stock car sequencing, and microcode labeling problems.Pascal Van Hentenryck is a member of the research staff at the European Computer Industry Research Centre. "Constraint Satisfaction in Logic Programming" is based on research for the Centre's CHIP project. As an outgrowth of this project, a new language (CHIP) that will include consistency techniques has been developed for commercial use. The book is included in the Logic Programming series edited by Ehud Shapiro.




Constraint Processing


Book Description

Constraint reasoning has matured over the last three decades with contributions from a diverse community of researchers in artificial intelligence, databases and programming languages, operations research, management science, and applied mathematics. In Constraint Processing, Rina Dechter synthesizes these contributions, as well as her own significant work, to provide the first comprehensive examination of the theory that underlies constraint processing algorithms.




Complexity of Infinite-Domain Constraint Satisfaction


Book Description

Introduces the universal-algebraic approach to classifying the computational complexity of constraint satisfaction problems.




Constraint Satisfaction Problems


Book Description

A Constraint Satisfaction Problem (CSP) consists of a set of variables, a domain of values for each variable and a set of constraints. The objective is to assign a value for each variable such that all constraints are satisfied. CSPs continue to receive increased attention because of both their high complexity and their omnipresence in academic, industrial and even real-life problems. This is why they are the subject of intense research in both artificial intelligence and operations research. This book introduces the classic CSP and details several extensions/improvements of both formalisms and techniques in order to tackle a large variety of problems. Consistency, flexible, dynamic, distributed and learning aspects are discussed and illustrated using simple examples such as the n-queen problem. Contents 1. Foundations of CSP. 2. Consistency Reinforcement Techniques. 3. CSP Solving Algorithms. 4. Search Heuristics. 5. Learning Techniques. 6. Maximal Constraint Satisfaction Problems. 7. Constraint Satisfaction and Optimization Problems. 8. Distibuted Constraint Satisfaction Problems. About the Authors Khaled Ghedira is the general managing director of the Tunis Science City in Tunisia, Professor at the University of Tunis, as well as the founding president of the Tunisian Association of Artificial Intelligence and the founding director of the SOIE research laboratory. His research areas include MAS, CSP, transport and production logistics, metaheuristics and security in M/E-government. He has led several national and international research projects, supervised 30 PhD theses and more than 50 Master’s theses, co-authored about 300 journal, conference and book research papers, written two text books on metaheuristics and production logistics and co-authored three others.




Principles of Constraint Programming


Book Description

Constraints are everywhere: most computational problems can be described in terms of restrictions imposed on the set of possible solutions, and constraint programming is a problem-solving technique that works by incorporating those restrictions in a programming environment. It draws on methods from combinatorial optimisation and artificial intelligence, and has been successfully applied in a number of fields from scheduling, computational biology, finance, electrical engineering and operations research through to numerical analysis. This textbook for upper-division students provides a thorough and structured account of the main aspects of constraint programming. The author provides many worked examples that illustrate the usefulness and versatility of this approach to programming, as well as many exercises throughout the book that illustrate techniques, test skills and extend the text. Pointers to current research, extensive historical and bibliographic notes, and a comprehensive list of references will also be valuable to professionals in computer science and artificial intelligence.




Distributed Constraint Satisfaction


Book Description

Distributed Constraint Satisfaction gives an overview of Constraint Satisfaction Problems (CSPs), adapts related search algorithms and consistency algorithms for applications to multi-agent systems, and consolidates recent research devoted to cooperation in such systems. The techniques introduced are applied to various problems in multi-agent systems. Among the new approaches is a hybrid-type algorithm for weak-commitment search combining backtracking and iterative improvement. Also, an extension of the basic CSP formalization called "Partial CSP" is introduced in order to handle over-constrained CSPs.




Abstract Domains in Constraint Programming


Book Description

Constraint Programming aims at solving hard combinatorial problems, with a computation time increasing in practice exponentially. The methods are today efficient enough to solve large industrial problems, in a generic framework. However, solvers are dedicated to a single variable type: integer or real. Solving mixed problems relies on ad hoc transformations. In another field, Abstract Interpretation offers tools to prove program properties, by studying an abstraction of their concrete semantics, that is, the set of possible values of the variables during an execution. Various representations for these abstractions have been proposed. They are called abstract domains. Abstract domains can mix any type of variables, and even represent relations between the variables. In this work, we define abstract domains for Constraint Programming, so as to build a generic solving method, dealing with both integer and real variables. We also study the octagons abstract domain, already defined in Abstract Interpretation. Guiding the search by the octagonal relations, we obtain good results on a continuous benchmark. We also define our solving method using Abstract Interpretation techniques, in order to include existing abstract domains. Our solver, AbSolute, is able to solve mixed problems and use relational domains. - Exploits the over-approximation methods to integrate AI tools in the methods of CP - Exploits the relationships captured to solve continuous problems more effectively - Learn from the developers of a solver capable of handling practically all abstract domains