Synopsis:
This textbook is an introduction to the methods of designing algorithms for hard computing tasks. This area has developed dynamically and is one of the kernels of research in algorithm and complexity theory. The book mainly concentrates on approximate, randomized and heuristic algorithms, and on the theoretical and experimental comparison of these approaches according to the requirements of the practice. There exist several monographs specializing in some of these methods, but this book systematically explains and compares all main possibilities of attacking hard computing problems. Since the topic is fundamental for the university study in computer science and essential for the transfer of theoretical knowledge to the practice, the book tries to close this gap by providing at once a textbook for graduate students and a handbook for practitioners dealing with hard computing problems.
From the Back Cover:
There are several approaches to attack hard problems. All have their merits, but also their limitations, and need a large body of theory as their basis. A number of books for each one exist: books on complexity theory, others on approximation algorithms, heuristic approaches, parametrized complexity, and yet others on randomized algorithms. This book discusses thoroughly all of the above approaches. And, amazingly, at the same time, does this in a style that makes the book accessible not only to theoreticians, but also to the non-specialist, to the student or teacher, and to the programmer. Do you think that mathematical rigor and accessibility contradict? Look at this book to find out that they do not, due to the admirable talent of the author to present his material in a clear and concise way, with the idea behind the approach spelled out explicitly, often with a revealing example.
Reading this book is a beautiful experience and I can highly recommend it to anyone interested in learning how to solve hard problems. It is not just a condensed union of material from other books. Because it discusses the different approaches in depth, it has the chance to compare them in detail, and, most importantly, to highlight under what circumstances which approach might be worth exploring. No book on a single type of solution can do that, but this book does it in an absolutely fascinating way that can serve as a pattern for theory textbooks with a high level of generality. (Peter Widmayer)
The second edition extends the part on the method of relaxation to linear programming with an emphasis on rounding, LP-duality, and primal-dual schema, and provides a self-contained and transparent presentation of the design of randomized algorithms for primality testing.
"About this title" may belong to another edition of this title.