Beyond the worst case analysis of algorithms There are no silver bullets in algorithm design and no single algorithmic idea is powerful and flexible enough to solve every computational problem. Nor are there silver bullets in algorithm analysis as the most enlightening method for analyzing an algorithm often depends on the problem and the application. However typical algorithms courses rely almost entirely on a single analysis framework that of worst case analysis wherein an algorithm is assessed by its worst performance on any input of a given size. The purpose of this book is to popularize several alternatives to worst case analysis and their most notable algorithmic applications from clustering to linear programming to neural network training. Forty leading researchers have contributed introductions to different facets of this field emphasizing the most important models and results many of which can be taught in lectures to beginning graduate students in theoretical computer science and machine learning