The Art of Computer Programming is Knuth's multivolume analysis of algorithms. With the
addition of this new volume it continues to be the definitive description of classical
computer science. Volume 4B the sequel to Volume 4A extends Knuth's exploration of
combinatorial algorithms. These algorithms are of keen interest to software designers because .
. . a single good idea can save years or even centuries of computer time. The book begins with
coverage of Backtrack Programming together with a set of data structures whose links perform
delightful dances and are ideally suited to this domain. New techniques for important
applications such as optimum partitioning and layout are thereby developed. Knuth's writing is
playful and he includes dozens of puzzles to illustrate the algorithms and techniques ranging
from popular classics like edge-matching to more recent crazes like sudoku. Recreational
mathematicians and computer scientists will not be disappointed! In the second half of the book
Knuth addresses Satisfiability one of the most fundamental problems in all of computer
science. Innovative techniques developed at the beginning of the twenty-first century have led
to game-changing applications for such things as optimum scheduling circuit design and
hardware verification. Thanks to these tools computers are able to solve practical problems
involving millions of variables that only a few years ago were regarded as hopeless. The
Mathematical Preliminaries Redux section of the book is a special treat which presents basic
techniques of probability theory that have become prominent since the original preliminaries
were discussed in Volume 1. As in every volume of this remarkable series the book includes
hundreds of exercises that employ Knuth's ingenious rating system making it easy for readers
of varying degrees of mathematical training to find challenges suitable to them. Detailed
answers are provided to facilitate self-study. Professor Donald E. Knuth has always loved to
solve problems. In Volume 4B he now promotes two brand new and practical general problem
solvers namely (0) the Dancing Links Backtracking and (1) the SAT Solver. To use them a
problem is defined declaratively (0) as a set of options or (1) in Boolean formulae. Today's
laptop computers heavily armoured with very high speed processors and ultra large amounts of
memory are able to run either solver for problems having big input data. Each section of
Volume 4B contains a multitudinous number of tough exercises which help make understanding
surer. Happy reading! --Eiiti Wada an elder computer scientist UTokyo Donald Knuth may very
well be a great master of the analysis of algorithms but more than that he is an incredible
and tireless storyteller who always strikes the perfect balance between theory practice and
fun. [ Volume 4B Combinatorial Algorithms Part 2 ] dives deep into the fascinating
exploration of search spaces (which is quite like looking for a needle in a haystack or even
harder to prove the absence of a needle in a haystack) where actions performed while moving
forward must be meticulously undone when backtracking. It introduces us to the beauty of
dancing links for removing and restoring the cells of a matrix in a dance which is both simple
to implement and very efficient. --Christine Solnon Department of Computer Science INSA Lyon
Register your book for convenient access to downloads updates and or corrections as they
become available.