- Smoothed analysis
Smoothed analysis is a way of measuring the complexity of an algorithm. It gives a more realistic analysis of the practical performance of the algorithm, such as its running time, than using worst-case or average-case scenarios.
For instance the
simplex algorithm runs in exponential-time in the worst-case and yet in practice it is a very efficient algorithm. This was one of the main motivations for developing smoothed analysis.Average-case analysis was first introduced to overcome the limitations of worst-case analysis, however the difficulty is saying what an average case is. The actual inputs and distribution of inputs may be different in practice from the assumptions made during the analysis.
Smoothed analysis is a hybrid of worst-case and average-case analyses that inherits advantages of both, by measuring the expected performance of algorithms under slight random perturbations of worst-case inputs. If the smoothed complexity of an algorithm is low, then it is unlikely that the algorithm will take long time to solve practical instances whose data are subject to slight noises and imprecisions.
Since its introduction in 2001, smoothed analysis has been used as a basis for considerable research, for problems ranging from
mathematical programming ,numerical analysis ,machine learning , anddata mining . ACM and the European Association for Theoretical Computer Science awarded the 2008Gödel Prize toDaniel Spielman andShanghua Teng for developing smoothed analysis.References
* | year=2001 | chapter=Smoothed analysis of algorithms: why the simplex algorithm usually takes polynomial time | pages=296–305.
Wikimedia Foundation. 2010.