or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
Sell Back Your Copy
For a $29.69 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Programming with Constraints: An Introduction
 
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Programming with Constraints: An Introduction [Hardcover]

Kimbal Marriott (Author), Peter Stuckey (Author)
4.5 out of 5 stars  See all reviews (2 customer reviews)

List Price: $75.00
Price: $59.88 & this item ships for FREE with Super Saver Shipping. Details
You Save: $15.12 (20%)
  Special Offers Available
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Only 1 left in stock--order soon (more on the way).
Want it delivered Wednesday, February 1? Choose One-Day Shipping at checkout. Details
Textbook Student FREE Two-Day Shipping for Students. Learn more

Sell Back Your Copy for $29.69
Whether you buy it used on Amazon for $44.00 or somewhere else, you can sell it back through our Book Trade-In Program at the current price of $29.69.
Used Price$44.00
Trade-in Price$29.69
Price after
Trade-in
$14.31

Book Description

0262133415 978-0262133418 March 13, 1998

The job of the constraint programmer is to use mathematical constraints to model real world constraints and objects. In this book, Kim Marriott and Peter Stuckey provide the first comprehensive introduction to the discipline of constraint programming and, in particular, constraint logic programming. The book covers the necessary background material from artificial intelligence, logic programming, operations research, and mathematical programming. Topics discussed range from constraint-solving techniques to programming methodologies for constraint programming languages. Because there is not yet a universally used syntax for constraint logic programming languages, the authors present the programs in a way that is independent of any existing programming language. Practical exercises cover how to use the book with a number of existing constraint languages.


Special Offers and Product Promotions

  • Buy $50 in qualifying physical textbooks, get $5 in Amazon MP3 Credit. Here's how (restrictions apply)

Frequently Bought Together

Customers buy this book with Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL (6th Edition) $85.23

Programming with Constraints: An Introduction + Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL (6th Edition)
Price For Both: $145.11

Show availability and shipping details



Editorial Reviews

Review

"Certainly it is a worthy, comprehensive and scholarly contribution that should help open up the field at advanced undergraduate and taught-postgraduate level." -- Jonathan Bowen,The Times Higher Education Supplement, February 5, 1999

About the Author

Kim Marriott is Senior Lecturer in the Department of Computer Science at Monash University, Australia. Peter J. Stuckey is Senior Lecturer in the Department of Computer Science at the University of Melbourne.

Product Details

  • Reading level: Ages 18 and up
  • Hardcover: 483 pages
  • Publisher: The MIT Press (March 13, 1998)
  • Language: English
  • ISBN-10: 0262133415
  • ISBN-13: 978-0262133418
  • Product Dimensions: 10.3 x 8.3 x 1.3 inches
  • Shipping Weight: 3 pounds (View shipping rates and policies)
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (2 customer reviews)
  • Amazon Best Sellers Rank: #412,706 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

2 Reviews
5 star:
 (1)
4 star:
 (1)
3 star:    (0)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.5 out of 5 stars (2 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

24 of 25 people found the following review helpful:
4.0 out of 5 stars Very good introduction, July 2, 2001
This review is from: Programming with Constraints: An Introduction (Hardcover)
This book is one of the few devoted to constraint programming, and does a good job of introducing the field to those interested. Optimization problems are finding use of constraint programming and there are a few commercial packages available that implement constraint programming technique in optimization. The book can be used as a textbook of an actual course, since there are many exercises included in it. The authors encourage the reader to use the CLP(R) package, which is freely available, to solve some of the practical exercises.

After a brief introduction to constraint programming, the authors introduce three types of constraints that exist in constraint programming, namely arithmetic, tree, and finite domain. They also introduce three operations involving constraints: satisfiability, simplification, and optimization. The authors spend most of the chapter on the question of satisfiability. Constraints are defined from the standpoint of mathematical logic, along with what it means for them to be satisfiable, and a discussion on modeling with arithmetic constraints and constraint satisfaction is given with an example from electric circuits. Tree constraints are then discussed with an example of a C-language binary tree used to motivate the discussion. Boolean constraints are then discussed, along with sequence constraints, which are shown to have an interesting application to DNA mapping and decoding. An application to artificial intelligence is given, and this one involves constraints that are not taken from mathematics. The authors

finish the chapter with a discussion of constraint solving using local propagation, a technique used in graph theory.

The authors discuss the simplification and optimization of constraints in the next chapter. They show when constraints are redundant, give rules for deciding when one constraint is equivalent to another, and show how using projection can allow the simplifying of a constraint with respect to the variables of interest. When projection cannot be done, they then show how to add variables to a constraint in order to achieve simplification. The (polynomial-time) Dantzig simplex algorithm is discussed for problems with linear real arithmetic constraints. Algorithms are discussed for deciding when two constraints are equivalent or when one implies the other.

In chapter 3, the authors discuss constraint problems for the case where the constraint domain is a finite set. The arc and node consistency, bounds propagation, and integer programming techniques, familiar from AI and operations research, are discussed in detail. The famous N-queens problem is introduced as motivation for the constraint satisfaction problem. The free-ware Prolog package ECLiPSe is introduced in the practical exercises. The authors give references to an interesting application of constraint satisfaction problems to planning gene-splicing experiments (the MOLGEN system).

The next part of the book concerns the constraint logic programming (CLP) paradigm wherein the authors define constraint logic programs and programming techniques. The reader familiar with logic programming (Prolog for example), will clearly see the influence of ideas from that area, such as rules, goals, rewriting, and derivations. An interesting and useful example of applying CLP to the modeling of options trading is given. Also, the authors show how to employ some of the more common data structures, such as lists and binary trees into CLP. In addition, they show how one can measure the efficiency of a CLP program, and how to improve it using various programming techniques to reduce the search space. The authors show how CLP can be implemented for both cases of infinite and finite domain constraints.

In the last part of the book the authors discuss other ways of viewing constraint logic programs, such as thinking it in terms of a database, called a constraint database. The discussion is very interesting, for the authors show how they are generalizations of the standard databases, and they show how the usual evaluation techniques in CLP, such as backtracking, must be generalized if one is to efficiently implement constraint databases. This "bottom-up" evaluation is compared with the "top-down"; approach usually employed. They show in great detail how constraint databases are a natural generalization of relational databases. They also show how CLP can be generalized to the case of concurrent constraint programming, where agents can execute concurrently and communicate via some global constraint in memory. In addition, they give a brief overview of how CLP can be implemented into the functional and imperative programming paradigms. They mention the use of various commercial packages for doing constraint programming, such as Mathematica, Maple, Macsyma, and ILOG SOLVER. Since the time of publication a very powerful commercial package, called ILOG OPL has appeared.

The applications of constraint programming are mushrooming, and I have found it to be a very powerful tool for example in network modeling and simulation, and in mathematical portfolio analysis, although sometimes one must be patient because of performance. The programming methodologies used are different than the usual ones, but I find them to be very effective for program transparency and economy of thought. Others have also apparently found constraint programming to be useful, for example the problem of protein structure prediction has recently made heavy use of constraint programming techniques. Other recent uses of CLP include a system for transport planning and scheduling for a large food industry, a system for a TV/radio company to plan and control the assignment of journalists and technicians to different emissions, and a system to develop work plans and schedules for train drivers and conductors, optimal planning of digital cordless communication systems, and nuclear fuel transportation and scheduling.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


17 of 17 people found the following review helpful:
5.0 out of 5 stars This is the best book on the subject., March 26, 2000
This review is from: Programming with Constraints: An Introduction (Hardcover)
So simple, straight forward, highly comprehensive but elegant bok on this subject is rarely available. Most topics covered in the book are readable with almost no effort. This is due to the authors' inherent capability of presentation. The foundation of the book rests on constraint simplification and optimization(chapter 2). Definitions are clear with adequate examples. Chapter 4 to 10 deal with Constraint Logic Programming. Here the authors focuss various important issues that are needed to researchers in this domain.Many applications in these chapters are highlighted to introduce the concepts. The last 2 chapters deal with constraint databases and concurrent constraint programming languages. Though it is a monograph readers of general interest in AI will find the chapters 1-4 useful and highly readable for knowing the state-of-the-art of this subject.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Only search this product's reviews



Inside This Book (learn more)
First Sentence:
Constraint programming is built upon constraints and constraint solving. Read the first page
Key Phrases - Statistically Improbable Phrases (SIPs): (learn more)
simplified derivation tree, global constraint store, constraint simplifier, constraints over trees, minimization subgoal, form simplifier, linear arithmetic equations, constraint alldifferent, floating join, implication tester, labelling predicate, complete constraint solver, final constraint store, backtracking solver, current constraint store, literal selection strategy, backtrack stack, standard evaluation mechanism, primitive constraints, constraint solving toolkits, incremental solver, other constraint domains, incremental constraint solving, goal fac, entire derivation tree
Key Phrases - Capitalized Phrases (CAPs): (learn more)
Other Incremental Constraint Solvers, Van Hentenryck, Controlling Search, Implementing If-Then-Else
New!
Books on Related Topics | Concordance | Text Stats
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Back Cover | Surprise Me!
Search Inside This Book:

Citations (learn more)
This book cites 19 books:
See all 19 books this book cites
 
49 books cite this book:
See all 49 books citing this book



What Other Items Do Customers Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums



So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject