A Guide to Experimental Algorithmics
Cambridge University Press
Edition: Illustrated, 1/30/2012
EAN 9781107001732, ISBN10: 1107001730
Hardcover, 272 pages, 24.1 x 16 x 2 cm
Language: English
Originally published in English
Computational experiments on algorithms can supplement theoretical analysis by showing what algorithms, implementations and speed-up methods work best for specific machines or problems. This book guides the reader through the nuts and bolts of the major experimental questions: What should I measure? What inputs should I test? How do I analyze the data? To answer these questions the book draws on ideas from algorithm design and analysis, computer systems, and statistics and data analysis. The wide-ranging discussion includes a tutorial on system clocks and CPU timers, a survey of strategies for tuning algorithms and data structures, a cookbook of methods for generating random combinatorial inputs, and a demonstration of variance reduction techniques. The book can be used by anyone who has taken a course or two in data structures and algorithms. A companion website, AlgLab (www.cs.amherst.edu/alglab) contains downloadable files, programs and tools for use in experimental projects.
1. Introduction
2. A plan of attack
3. What to measure
4. Tuning algorithms, tuning code
5. The toolbox
6. Creating analysis-friendly data
7. Data analysis.
'Catherine McGeoch is one of the founders of the field of experimental algorithmics, helping to initiate the discipline with her 1986 dissertation, 'Experimental Analysis of Algorithms'. She has been deeply involved with the development of the methodology of experimental algorithmics over the past 25 years … This book contains a breadth of advice, examples, and anecdotes, benefiting from her wealth of experience and many collaborations with other innovators in the discipline … Her advice is practical, authoritative, thoughtful, and applicable to the entire range of algorithm design, development, testing, and improvement … McGeoch's book presents a delightful dance of theoretical and experimental endeavors that in concert provide deep understanding of the algorithms that enable our information age as well as the means to the continual improvement of those fundamental algorithms.' Richard Snodgrass, University of Arizona
'This book provides guidelines and suggestions for performing experimental algorithmic analysis. It contains many examples and includes links to a companion website with code for some specific experiments … The book is a good read with generally good examples, and is short enough to be easily digested.' Jeffrey Putnam, Computing Reviews