Generic-case complexity

Generic-case complexity is a subfield of computational complexity theory that studies the complexity of computational problems on "most inputs".
Generic-case complexity is a way of measuring the complexity of a computational problem by neglecting a small set of
unrepresentative inputs and considering worst-case complexity on the rest.
Small is defined in terms of asymptotic density.
The apparent efficacy of generic case complexity is because for a wide variety of concrete computational problems, the most difficult instances seem to be rare. Typical instances are relatively easy.
This approach to complexity originated in combinatorial group theory, which has a computational tradition going back to the beginning of the last century.
The notion of generic complexity was introduced in a 2003 paper, where authors showed that for a large class of finitely generated groups the generic time complexity of some classical decision problems from combinatorial group theory, namely the word problem, conjugacy problem and membership problem, are linear.
A detailed introduction of generic case complexity can be found in the surveys.
Basic definitions.
Asymptotic density.
Let "I" be an infinite set of inputs for a computational problem.
Definition 1. A size function on "I" is a map formula_1 with infinite range.
The ball of radius "n" is formula_2.
If the inputs are coded as strings over a finite alphabet, size might be the string length.
Let formula_3 be an ensemble of probability distributions where formula_4
is a probability distribution on formula_5.
If the balls formula_5 are finite, then each formula_4 can be taken to
be the equiprobable distribution which is the most common case. Notice that only finitely many
formula_5's can be empty or have formula_9; we ignore them.
Definition 2. The asymptotic density of a subset formula_10 is
formula_11 when this limit exists.
When the balls formula_5 are finite and formula_4 is the equiprobable measure,
In this case it is often convenient to use spheres formula_15 instead of balls and
define formula_16. An argument using Stolz theorem shows that formula_17
exists if formula_18 does, and in that case they are equal.
Definition 3 formula_19 is generic if formula_20 and negligible if formula_21.
"X" is exponentially (superpolynomially) generic if the convergence to the limit in Definition 2 is exponentially (superpolynomially) fast, etc.
A generic subset "X" is asymptotically large. Whether "X" appears large in practice depends
on how fast formula_22 converges to 1. Superpolynomial convergence seems to be fast enough.
Generic complexity classes.
Definition 4 An algorithm is in "GenP" (generically polynomial time) if it never gives incorrect answers and if it
gives correct answers in polynomial time on a generic set of inputs. A problem is in "GenP" if it
admits an algorithm in "GenP". Likewise for "GenL" (generically linear time), "GenE" (generically
exponential time with a linear exponent) "GenExp" (generically exponential time), etc.
"ExpGenP" is the subclass of "GenP" for which the relevant generic set is exponentially generic.
More generally for any formula_23 we can define the class "Gen(f)" corresponding to
time complexity "O"("f") on a generic set of input.
Definition 5. An algorithm solves a problem generically if it never gives incorrect answers and if it gives correct answers on a generic set of inputs. A problem is generically solvable if it is solved generically by some algorithm.
Theory and applications.
The halting problem and the Post correspondence problem.
The situation for two-sided tape is unknown. However, there is a kind of lower bound for machines of both types.
The halting problem is not in "ExpGenP" for any model of Turing machine,
Presburger arithmetic.
The decision problem for Presburger arithmetic admits a double exponential worst case lower bound and a triple exponential worst case upper bound. The generic complexity is not known, but it is known that the problem is not in "ExpGenP".
NP complete problems.
As it is well known that NP-complete problems can be easy on average, it is not a surprise that several of them are generically easy too.
One way functions.
There is a generic complexity version of a one-way function which yields the same class of functions but allows one to consider different security assumptions than usual.
Public-key cryptography.
A series of articles is devoted to cryptanalysis of the Anshel–Anshel–Goldfeld key exchange protocol, whose security is based on assumptions about the braid group. This series culminates in Miasnikov and Ushakov (2008) which applies techniques from generic case complexity to obtain a complete analysis of the length based attack and the conditions under which it works. The generic point of view also suggests a kind of new attack called the quotient attack, and a more secure version of the Anshel–Anshel–Goldfeld protocol.
List of general theoretical results.
Theorem 1 Let "I" be the set of all Turing machines. If "F" is a subset of the set of all
partial computable function from formula_24 to itself such that "F" and its complement are both non-empty,
then the problem of deciding whether or not a given Turing machine computes a function from
"F" is not decidable on any exponentially generic subset of "I".
Theorem 2 The set of formal languages which are generically computable has measure zero.
Theorem 3 There is an infinite hierarchy of generic complexity classes. More precisely
for a proper complexity function "f", formula_27.
there are also generic case complete problems. The arguments in the generic case are similar to
those in the average case, and the generic case complete problem is also average case complete.
It is the distributional bounded halting problem.
Theorem 4 There is a notion of generic-polynomial-time reduction with respect to
which the distributional bounded halting problem is complete within class of distributional NP problems.
Comparisons with previous work.
Almost polynomial time.
Meyer and Paterson define an algorithm to be almost polynomial time, or APT, if it halts
within "p(n)" steps on all but "p(n)" inputs of size "n". Clearly, APT algorithms are included in our
class "GenP". We have seen several NP complete problems in "GenP", but Meyer and Paterson
show that this is not the case for APT. They prove that an NP complete problem is reducible to
a problem in APT if and only if P = NP. Thus APT seems much more restrictive than "GenP".
Average-case complexity.
Generic case complexity is similar to average-case complexity. However, there are some significant differences.
Generic case complexity is a direct measure of the performance of an algorithm on most inputs while average case complexity
gives a measure of the balance between easy and difficult instances. In addition Generic-case complexity naturally applies to undecidable problems.
Suppose formula_28 is an algorithm whose time complexity, formula_29 is polynomial on formula_30 average.
What can we infer about the behavior of formula_28 on typical inputs?
Example 1 Let "I" be the set of all words over formula_25 and define the size formula_33 to be word length,
formula_34. Define formula_35 to be the set of words of length "n", and assume that each formula_4 is the equiprobable measure.
Suppose that "T(w)=n" for all but one word in each formula_35, and formula_38 on the exceptional words.
In this example "T" is certainly polynomial on typical inputs, but "T" is not polynomial on average. "T" is in "GenP".
Example 2 Keep "I" and formula_39 as before, but define formula_40 and
formula_41. "T" is polynomial on average even though it is exponential on typical inputs. "T" is not in "GenP".
In these two examples the generic complexity is more closely related to behavior
on typical inputs than average case complexity. Average case complexity measures something
else: the balance between the frequency of difficult instances and the degree of difficulty.
Roughly speaking an algorithm which is polynomial time on average can have only a subpolynomial
fraction of inputs that require superpolynomial time to compute.
Nevertheless, in some cases generic and average case complexity are quite close to each other.
A function formula_42 is polynomial on formula_30-average on spheres if there
exists formula_44 such that formula_45 where formula_3
is the ensemble induced by formula_30. If "f" is polynomial on formula_30-average on spheres, the "f" is
polynomial on formula_30-average, and for many distributions the converse holds
Theorem 5 If a function formula_50 is polynomial on formula_30-average on spheres then "f"
is generically polynomial relative to the spherical asymptotic density formula_52.
Theorem 6 Suppose a complete algorithm formula_28 has subexponential time bound "T" and a partial algorithm formula_54
for the same problem is in "ExpGenP" with respect to the ensemble formula_3 corresponding to a probability measure formula_30
on the inputs "I" for formula_28. Then there is a complete algorithm which is formula_30-average time complexity.
Errorless heuristic algorithms.
In a 2006 paper, Bogdanov and Trevisan came close to defining generic case complexity. Instead of partial algorithms, they consider so-called errorless heuristic algorithms. These are
complete algorithms which may fail by halting with output "?". The class "AvgnegP" is defined
to consist of all errorless heuristic algorithms "A" which run in polynomial time and for which the
probability of failure on formula_35 is negligible, i.e., converges superpolynomially fast to 0.
"AvgnegP" is a subset of "GenP". Errorless heuristic algorithms are essentially the same as the algorithms with
benign faults defined by Impagliazzo where polynomial time on average algorithms are
characterized in terms of so-called benign algorithm schemes.