Abstract
This chapter provides a survey of the main concepts and results of the computational complexity theory. We start with basic concepts such as time and space complexities, complexity classes P and NP, and Boolean circuits. We discuss how the use of randomness and interaction enables one to compute more efficiently. In this context we also mention some basic concepts from theoretical cryptography. We then discuss two related ways to make computations more efficient: the use of processors working in parallel and the use of quantum circuits. Among other things, we explain Shor’s quantum algorithm for factoring integers. The topic of the last section is important for the foundations of mathematics, although it is less related to computational complexity; it is about algorithmic complexity of finite strings of bits.
Hiding in the alternating patterns of digits, deep inside the transcendental number, was a perfect circle, its form traced out by unities in a field of naughts.
Carl Sagan, Contact
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
In Russian a single word, perebor, which means picking over, is used for this type of algorithms.
- 2.
This number is called RSA-129.
- 3.
This is a simplified version of the Traveling Salesperson Problem in which we may have different costs associated with different connections.
- 4.
Assuming f is time constructible, sets computable in time f(n) are computable in space f(n)/logf(n), see [132].
- 5.
One can prove that this is an inessential restriction.
- 6.
I deviate from the standard notation which is P/poly.
- 7.
Note that the input size is 2n, hence polynomial time means 2cn for some constant c.
- 8.
This is for circuits in the basis of all binary connectives; o(n) denotes a term of a lower order than n.
- 9.
To give an explicit construction of a Ramsey graph is one of the many famous Erdős problems for which he offered money prizes.
- 10.
In fact one can extract a specific transcendental number from this proof. We can compute solutions of algebraic equations with rational coefficients to arbitrary precision and we can enumerate them (possibly with repetitions). Thus applying the diagonal trick we can define digits of a transcendental number by an algorithm. Similarly, we can enumerate all Boolean functions of n variables and taking the first one whose complexity exceeds a given bound. We do not consider such definitions explicit, as the defined entity is chosen by a process that has little to do with the property that we need to ensure.
- 11.
In general, they are only determined up to the functional equivalence; I will ignore this subtlety.
- 12.
A related concept had been studied in the research area algorithmic randomness before the mathematical definition of pseudorandom generators was introduced. In that area the aim was to define and study countably infinite sequences that share properties with typical random sequences.
- 13.
Strictly speaking, the encoding and decoding keys are not only the numbers e and d, but the pairs (e,N) and (d,N).
- 14.
Recently chips that integrate several cores have been introduced. Computers equipped with such processors can run some processes in parallel.
- 15.
I will only be concerned with the parts of the brain that are responsible for cognitive processes or motor actions.
- 16.
In fact, cnlogn size, for c a constant.
- 17.
Also signals between neurons are transmitted chemically. There is a tiny gap between a synapse and another neuron, the synaptic cleft. An electric signal arriving to a synapse causes release of neurotransmitters into the gap, which in turn triggers, or inhibits, an electric signal in the adjacent neuron. As the gaps are very small, this does not cause much time delay.
- 18.
I prefer to use ‘crossing-over’ since it is less ambiguous than ‘recombination’. Recombination often refers to all possible editing operations that ever occur. For example, sometimes a segment of the string is inverted, but this is rather an error, like a mutation, and as such it may be useful, but most often it is detrimental.
- 19.
One may suggest that a photon is not just a point, but rather a wave packet, and a part of this packet may touch mirror M 1 while the center of the packet will be at M 0. But this explanation also does not work, since there is no restriction on the distances in the interferometer. Even if the distances were cosmic, it would behave exactly the same way.
- 20.
We could use alphabets larger than two, but it would be just an unnecessary complication.
- 21.
We will not need bra vectors.
- 22.
We cannot see the superposition because the measuring apparatus can produce only one of k possible values. But we can set the apparatus differently and then what was previously a superposition may become a basis state. In particular, we can detect in the new setting what was originally a superposition.
- 23.
Here is an intuitive explanation. If r does not divide M, the p-gons are not quite regular—one edge is shorter, thus we only know that \(\frac{M}{p}<r<\frac{M}{p-1}\). But if M>2r 2, this interval is shorter than 1, hence r is determined uniquely.
- 24.
An attentive reader may have noticed that incompressibility is not invariant with respect to different choices of the universal Turing machine. An incompressible string of length n for one machine may have Kolmogorov complexity n−c for a different machine, where c is a nonnegative constant (depending only on the pair of machines). But if n is very large with respect to c, the difference between having Kolmogorov complexity n or n−c is not essential.
- 25.
Using a fixed set of axioms.
- 26.
Here I exceptionally deviate from the convention that theories in this book are always recursively axiomatizable.
References
Ajtai, M.: \(\varSigma_{1}^{1}\) formulae on finite structures. Ann. Pure Appl. Log. 24, 1–48 (1983)
Agrawal, M., Kayal, N., Saxena, N.: PRIMES is in P. Ann. Math. 160(2), 781–793 (2004)
Arora, S., Lund, C., Motwani, R., Sudan, M., Szegedy, M.: Proof verification and the hardness of approximation problems. J. ACM 45(3), 501–555 (1998)
Arora, S., Safra, S.: Probabilistic checking of proofs: A new characterization of NP. J. ACM 45(1), 70–122 (1998)
Babai, L.: Trading group theory for randomness. In: Proc. 17th ACM Symp. on Theory of Computing, pp. 421–429 (1985)
Baker, T.P., Gill, J., Solovay, R.: Relativizations of the P = ? NP question. SIAM J. Comput. 4(4), 431–442 (1975)
Bennett, C.H.: Logical reversibility of computation. IBM J. Res. Dev. 17(6), 525–532 (1973)
Bennett, C.H., Wiesner, S.J.: Communication via one- and two-particle operators on Einstein-Podolsky-Rosen states. Phys. Rev. Lett. 69, 2881–2884 (1992)
Blum, L., Shub, M., Smale, S.: On a theory of computation and complexity over the real numbers: NP-completeness, recursive functions and universal machines. Bull. Am. Math. Soc. 21, 1–46 (1989)
Blum, L., Cucker, F., Shub, M., Smale, S.: Complexity and Real Computation. Springer, Berlin (1997)
Blum, N.: A boolean function requiring 3n network size. Theor. Comput. Sci. 28, 337–345 (1984)
Chaitin, G.J.: On the simplicity and speed of programs for computing infinite sets of natural numbers. J. ACM 16(3), 407–422 (1969)
Cheng, Q.: Straight-line programs and torsion points on elliptic curves. Comput. Complex. 12(1), 150–161 (2003)
Cook, S.A.: The complexity of theorem proving procedures. In: Proc. 3rd Annual ACM Symposium on Theory of Computing, pp. 151–158 (1971)
Elitzur, A.C., Vaidman, L.: Quantum mechanical interaction-free measurements. Found. Phys. 23, 987–997 (1993)
Erdős, P.: Some remarks on the theory of graphs. Bull. Am. Math. Soc. 53, 292–294 (1947)
Feynman, R.: Simulating physics with computers. Int. J. Theor. Phys. 21(6–7), 467 (1982)
Furst, M.L., Saxe, J.B., Sipser, M.: Parity, circuits, and the polynomial-time hierarchy. Math. Syst. Theory 17(1), 13–27 (1984)
Gál, A., Hansen, K.A., Koucký, M., Pudlák, P., Viola, E.: Tight bounds on computing error-correcting codes by bounded-depth circuits with arbitrary gates. In: Proc. STOC 2012, pp. 479–494 (2012)
Gödel, K. (ed.): Collected Works: Volume V. Correspondence, H.-Z. Feferman, S., Dawson, J.W., Goldfarb, W., Parsons, C., Sieg, W. (eds.). Oxford University Press, London (2003)
Grover, L.K.: A fast quantum mechanical algorithm for database search. In: Proc. 28th Annual ACM Symposium on the Theory of Computing, pp. 212–218 (1996)
Harrow, A.W., Hassidim, A., Lloyd, S.: Quantum algorithm for linear systems of equations. Phys. Rev. Lett. 103, 150502 (2009)
Hartmanis, J., Stearns, R.E.: On the computational complexity of algorithms. Trans. Am. Math. Soc. 117, 285–306 (1965)
Hilbert, D.: Über die Endlichkeit des Invariantensystems für binären Grundformen. Math. Ann. 33, 223–226 (1889)
Hopcroft, J., Paul, W.J., Valiant, L.G.: On time vs. space. J. ACM 24(2), 332–337 (1977)
Impagliazzo, R., Wigderson, A.: P = BPP unless E has subexponential circuits: Derandomizing the XOR lemma. In: Proc. 29th STOC, pp. 220–229 (1997)
Jockusch, C.G., Soare, R.I.: \(\varPi^{0}_{1}\) classes and degrees of theories. Trans. Am. Math. Soc. 173, 33–56 (1972)
Kabanets, V., Impagliazzo, R.: Derandomizing polynomial identity tests means proving circuit lower bounds. Comput. Complex. 13(1–2), 1–46 (2004)
Koblitz, N.: A Course in Number Theory and Cryptography. Springer, New York (1987)
Kollár, J., Rónyai, L., Szabó, T.: Norm-graphs and bipartite Turán numbers. Combinatorica 16(3), 399–406 (1996)
Kolmogorov, A.: On tables of random numbers. Sankhya, Ser. A 25, 369–375 (1963)
Kuperberg, G.: A subexponential-time quantum algorithm for the dihedral hidden subgroup problem. SIAM J. Comput. 35(1), 170–188 (2005)
Ladner, R.E.: On the structure of polynomial time reducibility. J. ACM 22, 155–171 (1975)
Levin, L.: Universal’nye perebornye zadachi. Probl. Inf. Transm. 9(3), 265–266 (1973). (Russian)
Margulis, G.A.: Explicit constructions of expanders. Probl. Pereda. Inf. 9(4), 71–80 (1973)
Miller, G.L.: Riemann’s hypothesis and tests for primality. J. Comput. Syst. Sci. 13(3), 300–317 (1976)
Mulmuley, K., Sohoni, M.: Geometric complexity theory I: An approach to the P vs. NP and related problems. SIAM J. Comput. 31(2), 496–526 (2001)
Nisan, N., Wigderson, A.: Hardness vs. randomness. J. Comput. Syst. Sci. 49(2), 149–167 (1994)
Pudlák, P.: Complexity theory and genetics: The computational power of crossing over. Inf. Comput. 171, 201–223 (2001)
Pudlák, P.: Quantum deduction rules. Ann. Pure Appl. Log. 157, 16–29 (2009)
Rabin, M.O.: Digital signatures and public-key functions as intractable as factorization. MIT Laboratory of Computer Science Technical Report 212, (1979).
Razborov, A.: Lower bounds for the monotone complexity of some boolean functions. Dokl. Akad. Nauk SSSR 281(4), 798–801 (1985). (In Russian; English translation in: Sov. Math. Dokl. 31, 354–357 (1985))
Razborov, A.: Lower bounds on the size of bounded-depth networks over a complete basis with logical addition. Mat. Zametki 41(4), 598–607 (1987). (In Russian; English translation in: Math. Notes Acad. Sci. USSR 41(4), 333–338 (1987))
Razborov, A.: On the method of approximation. In: Proc. of the 21st ACM STOC, pp. 169–176 (1989)
Razborov, A., Rudich, S.: Natural proofs. J. Comput. Syst. Sci. 55(1), 24–35 (1997)
Reisch, S.: Hex ist PSPACE-vollstn̈dig (Hex is PSPACE-complete). Acta Inform. 15, 167–191 (1981)
Rissanen, J.: Modeling by the shortest data description. Automatica 14, 465–471 (1978)
Rivest, R., Shamir, A., Adleman, L.: A method for obtaining digital signatures and public-key cryptosystems. Commun. ACM 21(2), 120–126 (1978)
Savitch, W.J., Stimson, M.J.: Time bounded random access machines with parallel processing. J. ACM 26(1), 103–118 (1979)
Schönhage, A., Strassen V, V.: Schnelle multiplikation grosser Zahlen. Computing 7, 281–292 (1971)
Schwartz, J.: Fast probabilistic algorithms for verification of polynomial identities. J. ACM 27, 701–717 (1980)
Shannon, C.E.: The synthesis of two-terminal switching circuits. Bell Syst. Tech. J. 28, 59–98 (1949)
Shor, P.W.: Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM J. Comput. 26(5), 1484–1509 (1997)
Solomonoff, R.: A Preliminary Report on a General Theory of Inductive Inference. Report V-131, Cambridge, Ma., Zator Co. (1960)
Solovay, R.M., Strassen, V.: A fast Monte-Carlo test for primality. SIAM J. Comput. 6(1), 84–85 (1977)
Strassen, V.: Gaussian elimination is not optimal. Numer. Math. 13, 354–356 (1969)
Tsfasman, M.A., Vlăduţ, S.G., Zink T, T.: Modular curves, Shimura curves and Goppa codes, better than Varshamov-Gilbert bound. Math. Nachr. 104, 13–28 (1982)
Uhlig, D.: On the synthesis of self-correcting schemes from functional elements with a small number of reliable elements. Mat. Zametki 15(6), 937–944 (1974)
Valiant, L.: The complexity of computing permanent. Theor. Comput. Sci. 8, 189–201 (1979)
Zippel, R.E.: Probabilistic algorithms for sparse polynomials. In: Proc. EUROSAM’79. Springer Lecture Notes in Computer Science, vol. 72, pp. 216–226 (1979)
Author information
Authors and Affiliations
Main Points of the Chapter
Main Points of the Chapter
-
Complexity is an inherent property of computational problems. We distinguish time complexity, space complexity, and other types.
-
A number of fundamental problems in computational complexity is still open; the main one is whether P=NP.
-
The use of random bits helps us compute solutions of some problems faster.
-
Pseudorandomness can replace true randomness in some computations, and it is an essential concept in cryptography.
-
To prove that secure cryptography is possible we would need to know that some conjectures stronger than P≠NP are true; namely, that one-way functions exist, or equivalently that pseudorandom generators exist.
-
Some functions can be computed faster by splitting the task into many subtasks that can be computed in parallel.
-
There are strong indications (but, again, we are not able to prove it formally) that quantum computers can solve some problems, e.g., factoring integers, much faster than classical ones. When quantum computers are built, we will be able to compute tasks that are not feasible on classical computers using algorithms that we know.
-
Kolmogorov complexity of a string—the minimal length of a description of the string—is a useful theoretical concept. In particular, it enables us to define incompressible strings.
Rights and permissions
Copyright information
© 2013 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Pudlák, P. (2013). The Complexity of Computations. In: Logical Foundations of Mathematics and Computational Complexity. Springer Monographs in Mathematics. Springer, Heidelberg. https://doi.org/10.1007/978-3-319-00119-7_5
Download citation
DOI: https://doi.org/10.1007/978-3-319-00119-7_5
Publisher Name: Springer, Heidelberg
Print ISBN: 978-3-319-00118-0
Online ISBN: 978-3-319-00119-7
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)