A Guide to Experimental AlgorithmicsCambridge University Press, 30. jan. 2012 - 261 sider 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. Numerous case studies and examples show how to apply these concepts. All the necessary concepts in computer architecture and data analysis are covered so that 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. |
Andre udgaver - Se alle
Almindelige termer og sætninger
AlgLab algorithm design algorithm engineering algorithm performance algorithmic experiments applied array asymptotic Bentley binary search cache called Chapter code tuning computation conditional expectation confidence intervals contains correlated data analysis data samples data set data structure denote described design points distribution edge elements estimate example experimental algorithmics experimental design factors faster Figure files function gprof graph coloring Guideline implementation initial input classes insert insertion sort instruction integer iteration kurtosis levels linear loop abort lower bound measurements memoization memory normal distribution operations optimal outliers packing panel parameters percent performance indicators permutation platform priority queue problem procedure properties quicksort random graphs random number random trials random variate ratio recursive reduce request runtime S.distance Section self-organizing sequential search sequence shows solution quality speedup statistics test program timer tuneups Unix values variance reduction vertex vertices weights wordcmp