  One of the primary goals of the mathematical analysis of algorithms is to
provide guidance about which algorithm is the "best" for solving a given
computational problem. Worst-case analysis summarizes the performance profile
of an algorithm by its worst performance on any input of a given size,
implicitly advocating for the algorithm with the best-possible worst-case
performance. Strong worst-case guarantees are the holy grail of algorithm
design, providing an application-agnostic certification of an algorithm's
robustly good performance. However, for many fundamental problems and
performance measures, such guarantees are impossible and a more nuanced
analysis approach is called for. This chapter surveys several alternatives to
worst-case analysis that are discussed in detail later in the book.
