Generic-case complexity

Last updated

Generic-case complexity is a subfield of computational complexity theory that studies the complexity of computational problems on "most inputs".

Contents

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, [1] 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. [2] [3]

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 with infinite range. The ball of radius n is .

If the inputs are coded as strings over a finite alphabet, size might be the string length.

Let be an ensemble of probability distributions where is a probability distribution on . If the balls are finite, then each can be taken to be the equiprobable distribution which is the most common case. Notice that only finitely many 's can be empty or have ; we ignore them.

Definition 2. The asymptotic density of a subset is when this limit exists.

When the balls are finite and is the equiprobable measure,

In this case it is often convenient to use spheres instead of balls and define . An argument using Stolz theorem shows that exists if does, and in that case they are equal.

Definition 3 is generic if and negligible if . 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 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 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

Combinatorial group theory problems

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, [9] [10]

Presburger arithmetic

The decision problem for Presburger arithmetic admits a double exponential worst case lower bound [11] 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. [12]

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 [14] which yields the same class of functions but allows one to consider different security assumptions than usual.

Public-key cryptography

A series of articles [15] [16] [17] 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) [18] 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 [19] Let I be the set of all Turing machines. If F is a subset of the set of all partial computable function from 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, .

The next theorem shows that just as there are average case complete problems within distributional NP problems, 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 [2] 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 [20] 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 is an algorithm whose time complexity, is polynomial on average. What can we infer about the behavior of on typical inputs?

Example 1 Let I be the set of all words over and define the size to be word length, . Define to be the set of words of length n, and assume that each is the equiprobable measure. Suppose that T(w)=n for all but one word in each , and 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 as before, but define and . 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,. [21] [22] 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 is polynomial on -average on spheres if there exists such that where is the ensemble induced by . If f is polynomial on -average on spheres, the f is polynomial on -average, and for many distributions the converse holds [23]

Theorem 5 [2] If a function is polynomial on -average on spheres then f is generically polynomial relative to the spherical asymptotic density .

Theorem 6 [2] Suppose a complete algorithm has subexponential time bound T and a partial algorithm for the same problem is in ExpGenP with respect to the ensemble corresponding to a probability measure on the inputs I for . Then there is a complete algorithm which is -average time complexity.

Errorless heuristic algorithms

In a 2006 paper, Bogdanov and Trevisan came close to defining generic case complexity. [24] 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 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.

Related Research Articles

In computational complexity theory, a branch of computer science, bounded-error probabilistic polynomial time (BPP) is the class of decision problems solvable by a probabilistic Turing machine in polynomial time with an error probability bounded by 1/3 for all instances. BPP is one of the largest practical classes of problems, meaning most problems of interest in BPP have efficient probabilistic algorithms that can be run quickly on real modern machines. BPP also contains P, the class of problems solvable in polynomial time with a deterministic machine, since a deterministic machine is a special case of a probabilistic machine.

The P versus NP problem is a major unsolved problem in theoretical computer science. In informal terms, it asks whether every problem whose solution can be quickly verified can also be quickly solved.

In computer science, the computational complexity or simply complexity of an algorithm is the amount of resources required to run it. Particular focus is given to computation time and memory storage requirements. The complexity of a problem is the complexity of the best algorithms that allow solving the problem.

In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and relating these classes to each other. A computational problem is a task solved by a computer. A computation problem is solvable by mechanical application of mathematical steps, such as an algorithm.

<span class="mw-page-title-main">NP (complexity)</span> Complexity class used to classify decision problems

In computational complexity theory, NP is a complexity class used to classify decision problems. NP is the set of decision problems for which the problem instances, where the answer is "yes", have proofs verifiable in polynomial time by a deterministic Turing machine, or alternatively the set of problems that can be solved in polynomial time by a nondeterministic Turing machine.

<span class="mw-page-title-main">Time complexity</span> Estimate of time taken for running an algorithm

In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by the algorithm, supposing that each elementary operation takes a fixed amount of time to perform. Thus, the amount of time taken and the number of elementary operations performed by the algorithm are taken to be related by a constant factor.

<span class="mw-page-title-main">Complexity class</span> Set of problems in computational complexity theory

In computational complexity theory, a complexity class is a set of computational problems of related resource-based complexity. The two most commonly analyzed resources are time and memory.

In computer science and operations research, approximation algorithms are efficient algorithms that find approximate solutions to optimization problems with provable guarantees on the distance of the returned solution to the optimal one. Approximation algorithms naturally arise in the field of theoretical computer science as a consequence of the widely believed P ≠ NP conjecture. Under this conjecture, a wide class of optimization problems cannot be solved exactly in polynomial time. The field of approximation algorithms, therefore, tries to understand how closely it is possible to approximate optimal solutions to such problems in polynomial time. In an overwhelming majority of the cases, the guarantee of such algorithms is a multiplicative one expressed as an approximation ratio or approximation factor i.e., the optimal solution is always guaranteed to be within a (predetermined) multiplicative factor of the returned solution. However, there are also many approximation algorithms that provide an additive guarantee on the quality of the returned solution. A notable example of an approximation algorithm that provides both is the classic approximation algorithm of Lenstra, Shmoys and Tardos for scheduling on unrelated parallel machines.

<span class="mw-page-title-main">Moment problem</span> Trying to map moments to a measure that generates them

In mathematics, a moment problem arises as the result of trying to invert the mapping that takes a measure μ to the sequence of moments

In mathematics, the resultant of two polynomials is a polynomial expression of their coefficients that is equal to zero if and only if the polynomials have a common root, or, equivalently, a common factor. In some older texts, the resultant is also called the eliminant.

In computational complexity theory, a numeric algorithm runs in pseudo-polynomial time if its running time is a polynomial in the numeric value of the input —but not necessarily in the length of the input, which is the case for polynomial time algorithms.

<span class="mw-page-title-main">Kernel method</span> Class of algorithms for pattern analysis

In machine learning, kernel machines are a class of algorithms for pattern analysis, whose best known member is the support-vector machine (SVM). Kernel methods are types of algorithms that are used for pattern analysis. These methods involve using linear classifiers to solve nonlinear problems. The general task of pattern analysis is to find and study general types of relations in datasets. For many algorithms that solve these tasks, the data in raw representation have to be explicitly transformed into feature vector representations via a user-specified feature map: in contrast, kernel methods require only a user-specified kernel, i.e., a similarity function over all pairs of data points computed using inner products. The feature map in kernel machines is infinite dimensional but only requires a finite dimensional matrix from user-input according to the Representer theorem. Kernel machines are slow to compute for datasets larger than a couple of thousand examples without parallel processing.

In mathematics, Macdonald polynomialsPλ(x; t,q) are a family of orthogonal symmetric polynomials in several variables, introduced by Macdonald in 1987. He later introduced a non-symmetric generalization in 1995. Macdonald originally associated his polynomials with weights λ of finite root systems and used just one variable t, but later realized that it is more natural to associate them with affine root systems rather than finite root systems, in which case the variable t can be replaced by several different variables t=(t1,...,tk), one for each of the k orbits of roots in the affine root system. The Macdonald polynomials are polynomials in n variables x=(x1,...,xn), where n is the rank of the affine root system. They generalize many other families of orthogonal polynomials, such as Jack polynomials and Hall–Littlewood polynomials and Askey–Wilson polynomials, which in turn include most of the named 1-variable orthogonal polynomials as special cases. Koornwinder polynomials are Macdonald polynomials of certain non-reduced root systems. They have deep relationships with affine Hecke algebras and Hilbert schemes, which were used to prove several conjectures made by Macdonald about them.

In computational complexity theory, the average-case complexity of an algorithm is the amount of some computational resource used by the algorithm, averaged over all possible inputs. It is frequently contrasted with worst-case complexity which considers the maximal complexity of the algorithm over all possible inputs.

In applied mathematics, the numerical sign problem is the problem of numerically evaluating the integral of a highly oscillatory function of a large number of variables. Numerical methods fail because of the near-cancellation of the positive and negative contributions to the integral. Each has to be integrated to very high precision in order for their difference to be obtained with useful accuracy.

The #P-completeness of 01-permanent, sometimes known as Valiant's theorem, is a mathematical proof about the permanent of matrices, considered a seminal result in computational complexity theory. In a 1979 scholarly paper, Leslie Valiant proved that the computational problem of computing the permanent of a matrix is #P-hard, even if the matrix is restricted to have entries that are all 0 or 1. In this restricted case, computing the permanent is even #P-complete, because it corresponds to the #P problem of counting the number of permutation matrices one can get by changing ones into zeroes.

A locally decodable code (LDC) is an error-correcting code that allows a single bit of the original message to be decoded with high probability by only examining a small number of bits of a possibly corrupted codeword. This property could be useful, say, in a context where information is being transmitted over a noisy channel, and only a small subset of the data is required at a particular time and there is no need to decode the entire message at once. Note that locally decodable codes are not a subset of locally testable codes, though there is some overlap between the two.

In the mathematical subject of geometric group theory, the Baumslag–Gersten group, also known as the Baumslag group, is a particular one-relator group exhibiting some remarkable properties regarding its finite quotient groups, its Dehn function and the complexity of its word problem.

The distributional learning theory or learning of probability distribution is a framework in computational learning theory. It has been proposed from Michael Kearns, Yishay Mansour, Dana Ron, Ronitt Rubinfeld, Robert Schapire and Linda Sellie in 1994 and it was inspired from the PAC-framework introduced by Leslie Valiant.

Quantum optimization algorithms are quantum algorithms that are used to solve optimization problems. Mathematical optimization deals with finding the best solution to a problem from a set of possible solutions. Mostly, the optimization problem is formulated as a minimization problem, where one tries to minimize an error which depends on the solution: the optimal solution has the minimal error. Different optimization techniques are applied in various fields such as mechanics, economics and engineering, and as the complexity and amount of data involved rise, more efficient ways of solving optimization problems are needed. Quantum computing may allow problems which are not practically feasible on classical computers to be solved, or suggest a considerable speed up with respect to the best known classical algorithm.

References

  1. 1 2 3 I. Kapovich, A. Myasnikov, P. Schupp and V. Shpilrain, Generic case complexity, decision problems in group theory and random walks , J. Algebra, vol 264 (2003), 665–694.
  2. 1 2 3 4 5 6 R. Gilman, A. G. Miasnikov, A. D. Myasnikov, and A. Ushakov, Generic Case Complexity, unpublished first draft of a book, 143 pages.
  3. R. Gilman, A. G. Miasnikov, A. D. Myasnikov, and A. Ushakov, Report on generic case complexity , Herald of Omsk University, Special Issue, 2007, 103–110.
  4. A. Ushakov, Dissertation, City University of New York, 2005.
  5. R. Gilman, Hard problems in group theory, talk given at the International Conference on Geometric and Combinatorial Methods in Group Theory and Semigroup Theory, May 18, 2009.
  6. I. Kapovich, P. Schupp, V. Shpilrain, Generic properties of Whiteheads algorithm and isomorphism rigidity of random one-relator groups , Pacific J. Math. 223 (2006)
  7. A.V. Borovik, A.G. Myasnikov, V.N. Remeslennikov, Generic complexity of the conjugacy problem in HNN-extensions and algorithmic stratification of Miller's groups , Internat. J. Algebra Comput. 17 (2007), 963–997.
  8. J. D. Hamkins and A. Miasnikov, The halting problem is decidable on a set of asymptotic probability one , Notre Dame J. Formal Logic 47 (2006), 515–524.
  9. A. Miasnikov and A. Rybalov, Generic complexity of undecidable problems , Journal of Symbolic Logic 73 (2008), 656–673.
  10. A. Rybalov, On the strongly generic undecidability of the halting problem , Theoret. Comput. Sci. 377 (2007), 268–270.
  11. M. J. Fischer and M. O. Rabin, Super-Exponential Complexity of Presburger Arithmetic, Proceedings of the SIAM-AMS Symposium in Applied Mathematics 7 (1974) 2741.
  12. A. Rybalov, Generic complexity of Presburger arithmetic, 356–361 in Second International Symposium on Computer Science in Russia, CSR 2007, Lecture Notes in Computer Science 4649, Springer 2007.
  13. R. Gilman, A. G. Miasnikov, A. D. Myasnikov, and A. Ushakov, Report on generic case complexity, Herald of Omsk University, Special Issue, 2007, 103–110.
  14. A. D. Myasnikov, Generic Complexity and One-Way Functions , Groups, Complexity and Cryptography, 1, (2009), 13–31.
  15. R. Gilman, A. G. Miasnikov, A. D. Myasnikov, and A. Ushakov, New developments in commutator key exchange, Proc. First Int. Conf. on Symbolic Computation and Cryptography (SCC-2008), Beijing, 2008.
  16. A. G. Myasnikov, V. Shpilrain, A. Ushakov, A practical attack on a braid group based cryptographic protocol, in Lecture Notes in Computer Science, 3621, Springer Verlag, 2005, 86–96.
  17. A. D. Myasnikov, and A. Ushakov, Length based attack and braid groups: cryptanalysis of Anshel–Anshel–Goldfeld key exchange protocol, in Public Key Cryptography PKC 2007, 76–88, Lecture Notes in Comput. Sci., 4450, Springer, Berlin, 2007.
  18. A. G. Miasnikov and A. Ushakov, Random subgroups and analysis of the length-based and quotient attacks, Journal of Mathematical Cryptology, 2 (2008), 29–61.
  19. A. Miasnikov and A. Rybalov, Generic complexity of undecidable problems, Journal of Symbolic Logic 73 (2008), 656–673.
  20. A. R. Meyer and M. S. Paterson, With what frequency are apparently intractable problems difficult?, M.I.T. Technical Report, MIT/LCS/TM-126, February, 1979.
  21. Y. Gurevich, The challenger-solver game: variations on the theme of P =?NP, Logic in Computer Science Column, The Bulletin of the EATCS, October 1989, p.112-121.
  22. R. Impagliazzo, A personal view of average-case complexity, in Proceedings of the 10th Annual Structure in Complexity Theory Conference – SCT 1995, IEEE Computer Society, 1995, page 134.
  23. Y. Gurevich, Average case completeness, Journal of Computer and System Science, 42 (1991), 346–398.
  24. A. Bogdanov, L. Trevisan, Average-case Complexity, Found. Trends Theor. Comput. Sci. 2, No. 1, 111 p. (2006).