The satisfiability problem of propositional logic SAT for short is the first algorithmic
problem that was shown to be NP-complete and is the cornerstone of virtually all
NP-completeness proofs. The SAT problem consists of deciding whether a given Boolean formula
has a solution in the sense of an assignment to the variables making the entire formula to
evaluate to true. Over the last few years very powerful algorithms have been devised being able
to solve SAT problems with hundreds of thousands of variables. For difficult (or randomly
generated) formulas these algorithms can be compared to the proverbial search for the needle in
a haystack. This book explains how such algorithms work for example by exploiting the
structure of the SAT problem with an appropriate logical calculus like resolution. But also
algorithms based on physical principles are considered.