Copyright (c) 2013 John L. Jerz

Constraint Processing (Dechter, 2003)

Home
A Proposed Heuristic for a Computer Chess Program (John L. Jerz)
Problem Solving and the Gathering of Diagnostic Information (John L. Jerz)
A Concept of Strategy (John L. Jerz)
Books/Articles I am Reading
Quotes from References of Interest
Satire/ Play
Viva La Vida
Quotes on Thinking
Quotes on Planning
Quotes on Strategy
Quotes Concerning Problem Solving
Computer Chess
Chess Analysis
Early Computers/ New Computers
Problem Solving/ Creativity
Game Theory
Favorite Links
About Me
Additional Notes
The Case for Using Probabilistic Knowledge in a Computer Chess Program (John L. Jerz)
Resilience in Man and Machine

Dechter.jpg

Review
"I wholeheartedly recommend it to students, researchers and practitioners in artificial intelligence, constraint programming and operations research who want to know more about the theory of constraint processing."
- Roland H.C. Yap, National University of Singapore, in Theory and Practice of Logic Programming

"It is beautifully written and presents a unifying framework capturing a wide range of techniques for processing symbolic, numerical, and probabilistic information."
- Bart Selman, Cornell University

"If you want to understand why this technology works, and how to make it work for you, then I recommend you read this book."
- Toby Walsh, Cork Constraint Computation Centre

"The book is rigorous but it is not difficult to read. An abundance of examples illustrate concepts and algorithms."
- Pedro Meseguer, Institut d'Investigaci� en Intelling�ncia Artificial - Consejo Superior de Investigaciones Cient�ficas (IIIA-CSIC)

"An indispensable resource for researchers and practitioners in AI and optimization."
- Henry Kautz, University of Washington

"I strongly recommend reading this book to everyone who wants to know what is behind constraint satisfaction technology and I think that this book should definitely be in the bookshelf of everyone who teaches constraint satisfaction."
- Roman Bart�k, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic

Book Description
Presents the first comprehensive examination of the theory that underlies constraint processing algorithms
 
The best reference on Constraints Processing, September 11, 2007 By  Husam Abu-Haimed (California, USA) 
    
This is the most comprehensive book in the area of Constraint Processing (aka Constraint Solving and CSP) I have seen. It starts with the basics and takes the reader all the way to advanced topics. It is an excellent place to start if you want to learn the field. It is also an excellent reference for researchers and practitioners. I use this book frequently in my research and my work in the field of Formal Verification. The book is also of great value to those in Artificial Intelligence, Optimization, and Operation Research.

v-vi Constraint satisfaction is a simple but powerful idea. If we can pose our world knowledge as a set of local constraints on the values assigned to variables in global solutions to a problem, then when we satisfy those constraints we solve the problem... For an optimist, a constraint specifies the possible; for a pessimist, equivalently, the impossible... These restricted, modular knowledge representations are natural to humans... The lesson is that constraint-based systems are tools that let us make computation more transparent, efficient and reliable - in short, more useful... The power of making the implicit constraints explicit is that they can, in turn, control the search for global solutions, quickly terminating impossible partial solutions or sub-problems and avoiding thrashing search behavior. This can make the search vastly more efficient, sometimes even making apparently intractable problems tractable... One reason these algorithms are so practical is that we can easily tradeoff the degree of consistency, and thus the level of explicitness, with the work required to compute it.
 
xvii A constraint is a restriction on a space of possibilities; it is a piece of knowledge that narrows the scope of this space. Because constraints arise naturally in most areas of human endeavor, they are the most general means for formulating regularities that govern our computational, physical, biological, and social worlds... Although observable in diverse disciplines; they all share one feature in common: they identify the impossible, narrow down the realm of possibilities, and thus permit us to focus more effectively on the possible.
  Formulating problems in terms of constraints has proven useful for modeling fundamental cognitive activities... as well as having application for engineering tasks... Formulating problems in terms of constraints enables a natural, declarative formulation of what must be satisfied, without having to say how it should be satisfied... This book focuses on the fundamental tools and principles that underlie reasoning with constraints
 
p.1 We regularly encounter constraint in our day-to-day lives... And we regularly engage in solving constraint satisfaction problems... But consider the complexity encountered when the number of constraints to be satisfied, and the variables involved, begin to grow... As the complexity of the problem grows, we turn to computers to help us find an acceptable solution. Computer scientists have devised language to model constraint satisfaction problems and have developed methods for solving them. The language of constraints is used to model simple cognitive tasks
 
p.2 every constraint problem must include variables: objects or items that can take on a variety of values... The second component to every constraint problem is the set of constraints themselves. Constraints are rules that impose a limitation on the values that a variable, or a combination of variables, may be assigned... A model that includes variables, their domains, and constraints is called a constraint network, also called a constraint problem.
 
p.29 Graph concepts play a central role in capturing the structure of a constraint problem and in its solution process... A constraint network can be represented by a graph called a primal constraint graph or just a constraint graph, where each node represents a variable and the arcs connect all nodes whose variables are included in a constraint scope of the problem. the absence of an arc between two nodes indicates that there is no direct constraint - one that is specified in the input - between the corresponding variables.
 
p.51 Knowledge of what is possible is the beginning of happiness.   George Santayana, Little Essays
 
p.52 In general, the more explicit and tight (but equivalent) constraint networks are, the more restricted the search space of all partial solutions will be, and consequently, any search becomes more efficient.
 
p.85 How do we explain how people perform so well on tasks that are theoretically intractable [ JLJ - Difficult to alleviate, remedy, or cure]? One explanation is to assume that intelligent behavior is actually grounded in approximation methods that are based on idealized, easy-to-solve models. In other words, we assume people intuitively transform hard tasks into a series of more manageable, simple tasks, which, taken together, approximate the original task... Following this line of reasoning, one approach in artificial intelligence is to imitate the assumed human reasoning process and find ways to idealize (i.e., simplify) the task environment. These simplifications can then be used to provide either approximate solutions or heuristic advice to guide the search toward an exact solution of the original problem.
 
p.117 No matter how much we reason about a problem, after some consideration we are left with choices, and the only way to proceed is trial and error or guessing and testing... That is, we must search the space of possible choices.
 
p.194 The breakout method or constraint weighting can also significantly improve the performance of a local search. The guiding cost function is a weighted sum of the violated constraints
 
p.245 Everything should be made as simple as possible, but not one bit simpler. Albert Einstein (attributed)

Enter supporting content here