Exact Exponential Algorithms

Front Cover
Springer Science & Business Media, Oct 26, 2010 - Mathematics - 206 pages
For a long time computer scientists have distinguished between fast and slow algo rithms. Fast (or good) algorithms are the algorithms that run in polynomial time, which means that the number of steps required for the algorithm to solve a problem is bounded by some polynomial in the length of the input. All other algorithms are slow (or bad). The running time of slow algorithms is usually exponential. This book is about bad algorithms. There are several reasons why we are interested in exponential time algorithms. Most of us believe that there are many natural problems which cannot be solved by polynomial time algorithms. The most famous and oldest family of hard problems is the family of NP complete problems. Most likely there are no polynomial time al gorithms solving these hard problems and in the worst case scenario the exponential running time is unavoidable. Every combinatorial problem is solvable in ?nite time by enumerating all possi ble solutions, i. e. by brute force search. But is brute force search always unavoid able? De?nitely not. Already in the nineteen sixties and seventies it was known that some NP complete problems can be solved signi?cantly faster than by brute force search. Three classic examples are the following algorithms for the TRAVELLING SALESMAN problem, MAXIMUM INDEPENDENT SET, and COLORING.
 

Contents

1 Introduction
1
2 Branching
13
3 Dynamic Programming
31
4 InclusionExclusion
50
5 Treewidth
77
6 Measure Conquer
101
7 Subset Convolution
125
8 Local Search and SAT
140
9 Split and List
153
10 Time Versus Space
161
11 Miscellaneous
171
12 Conclusions Open Problems and Further Directions
186
References
189
Graphs
199
Index
201
Copyright

Other editions - View all

Common terms and phrases

About the author (2010)

The authors are highly regarded academics and educators in theoretical computer science, and in algorithmics in particular.

Bibliographic information