This accessible volume is an algorithmically oriented, research-centered guide to some of the most interesting techniques of complexity theory. The book's thesis is that simple algorithms are at the heart of complexity theory. From the tree-pruning and interval-pruning algorithms that shape the first chapter to the query simulation procedures that dominate the last, the central proof methods of the book are algorithmic. To more clearly highlight the role of algorithmic techniques in complexity theory, the book is organized by technique rather than by topic. Each chapter of this book focuses on one technique: what it is and what results and applications it yields.
This textbook was developed at the University of Rochester in courses given to graduate students and advanced undergraduates. Researchers also will find this book a valuable source of reference due to the comprehensive bibliography of close to five hundred entries, the thirty-five page subject index, and the appendices giving overviews of complexity classes and reductions.