Average-case complexity is a subfield of computational complexity theory that studies the complexity of algorithms on random inputs.
The study of average-case complexity has applications in the theory of cryptography.
- "Many combinatorial problems (called search or NP problems) have easy methods of checking solutions for correctness. Examples: finding factors of a long integer, or proofs of math theorems or short fast programs generating a given string. Such problems can be stated as a task to invert a given, easy to compute, function (multiplication or extraction of a theorem from its proof). In 1971 I noticed that many such problems can be proven to be as hard as the Tiling problem (which, I knew for a while, was universal, i.e. at least as hard as any search problem)...
- "A common misinterpretation of these results was that all NP-complete problems are hard, no chance for good algorithms. On this basis some such problems generated much hope in cryptography: the adversary would be helpless. Karp and others noticed that this was naive. While worst instances of NP-complete problems defeat our algorithms, such instances may be extremely rare. In fact, fast on average algorithms were found for a great many NP-complete problems. If all NP problems are easy on average, the P=?NP question becomes quite academic. Even if exponentially hard instances exist, those we could ever find might all be easy. Some problems (like factoring) seem hard for typical instances, but nothing is proven at all to support this (crucial, e.g., for cryptography) belief. These issues turned out to be subtle and it was not clear how a theory could distinguish intrinsically hard on average problems. [Levin 86], [Venkatesan, Levin STOC-88], [Impagliazzo, Levin, FOCS-90] proposed such a theory with first average case intractability results. Random (under uniform distribution) instances of some problems are now known to be as hard as random instances of any NP-problem under any samplable distribution."
Related topics 
The literature of average case complexity includes the following work:
- Franco, John (1986), "On the probabilistic performance of algorithms for the satisfiability problem", Information Processing Letters 23 (2): 103–106, doi:10.1016/0020-0190(86)90051-7.
- Levin, Leonid (1986), "Average case complete problems", SIAM Journal on Computing 15 (1): 285–286, doi:10.1137/0215020.
- Flajolet, Philippe; Vitter, J. S. (August 1987), Average-case analysis of algorithms and data structures, Tech. Report, Institut National de Recherche en Informatique et en Automatique, B.P. 105-78153 Le Chesnay Cedex France.
- Gurevich, Yuri; Shelah, Saharon (1987), "Expected computation time for Hamiltonian path problem", SIAM Journal on Computing 16 (3): 486–502, doi:10.1137/0216034.
- Ben-David, Shai; Chor, Benny; Goldreich, Oded; Luby, Michael (1989), "On the theory of average case complexity", Proc. 21st Annual Symposium on Theory of Computing, Association for Computing Machinery, pp. 204–216.
- Gurevich, Yuri (1991), "Average case completeness", Journal of Computer and`System Sciences 42 (3): 346–398, doi:10.1016/0022-0000(91)90007-R. See also 1989 draft.
- Selman, B.; Mitchell, D.; Levesque, H. (1992), "Hard and easy distributions of SAT problems", Proc. 10th National Conference on Artificial Intelligence, pp. 459–465.
- Schuler, Rainer; Yamakami, Tomoyuki (1992), "Structural average case complexity", Proc. Foundations of Software Technology and Theoretical Computer Science, Lecture Notes in Computer Science 652, Springer-Verlag, pp. 128–139.
- Reischuk, Rüdiger; Schindelhauer, Christian (1993), "Precise average case complexity", Proc. 10th Annual Symposium on Theoretical Aspects of Computer Science, pp. 650–661.
- Venkatesan, R.; Rajagopalan, S. (1992), "Average case intractability of matrix and Diophantine problems", Proc. 24th Annual Symposium on Theory of Computing, Association for Computing Machinery, pp. 632–642.
- Cox, Jim; Ericson, Lars; Mishra, Bud (1995), The average case complexity of multilevel syllogistic, Technical Report TR1995-711, New York University Computer Science Department.
- Impagliazzo, Russell (April 17, 1995), A personal view of average-case complexity, University of California, San Diego.
- Paul E. Black, "Θ", in Dictionary of Algorithms and Data Structures[online]Paul E. Black, ed., U.S. National Institute of Standards and Technology. 17 December 2004.Retrieved Feb. 20/09.
- Michael Sipser (1997). Introduction to the Theory of Computation. PWS Publishing.
See also 
|P ≟ NP||This theoretical computer science–related article is a stub. You can help Wikipedia by expanding it.|