Summary and Info
This book is an introduction to the methods of designing algorithms for hard computing tasks. This area has developed very dynamically in the last years and is one of the kernels of current 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 no 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 formal methods to the practice, the aim of the book is to close this gap by providing at once a textbook for graduate students and a handbook for practitioners dealing with hard computing problems.