HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
This multivolume work on the analysis of algorithms has long been recognized as the definitive description of classical computer science. The four volumes published to date already comprise a unique and invaluable resource in programming theory and practice. Countless readers have spoken about the profound personal influence of Knuth's writings. Scientists have marveled at the beauty and elegance of his analysis, while practicing programmers have successfully applied his "cookbook" solutions to their day-to-day problems. All have admired Knuth for the breadth, clarity, accuracy, and good humor found in his books.
To continue the fourth and later volumes of the set, and to update parts of the existing volumes, Knuth has created a series of small books called fascicles, which are published at regular intervals. Each fascicle encompasses a section or more of wholly new or revised material. Ultimately, the content of these fascicles will be rolled up into the comprehensive, final versions of each volume, and the enormous undertaking that began in 1962 will be complete.
The Art of Computer Programming, Volume 4, Fascicle 7, is brimming with lively examples and forms the first third of what will eventually become hardcover Volume 4C. It introduces and explores an important general framework for modeling and solving combinatorial problems, called the Constraint Satisfaction Problem (CSP). The concluding sections of Volume 4B contain expositions of two analogous frameworks, namely XCC ("exact covering with colors") and SAT ("Boolean satisfiability"); the XCC solvers and SAT solvers are now joined by CSP solvers, completing a powerful trio of techniques. Each member of the trio has its own strengths, while separately helping to understand the other two.
Fascicle 7 illuminates how the CSP framework is tied to dozens of other parts of computer science: Scene analysis (computer vision); efficient algorithms that embed one graph in another; fascinating instances of "graceful graphs"; new ways to look ahead when backtracking; new heuristics to guide a search that backtracks through a massive space of possibilities; situations when backtracking isn't necessary.
New sparse-set data structures are introduced, leading to a technique called "dancing cells"--which often is even better than "dancing links"! Recreational topics appear throughout, including some new takes on the classic problem of a knight's tour, as well as modern puzzles such as fillomino.
Nearly 500 exercises are provided, arranged carefully for self-instruction, together with detailed answers (in fact, sometimes also with answers to the answers). All the while, the author pays significant attention to the history of the subject and its human dimensions.