Abstract
In this chapter, we give a concise overview of the fundamental models and results of the classic theory of computation and algorithms. In accordance with the general theme of the book, the overview highlights the characteristics of time in the traditional descriptions of software and computational processes. The chapter starts with the classic Turing machine model and with the very abstract notion of time used to measure the computational complexity of Turing machines, on which the definition of complexity classes rests. It continues with the presentation of Random Access Machines (RAM), a computational model still abstract but much closer to the architecture of real computers than the simple Turing machine. Finally, it discusses models of computation with randomized behavior, such as Markov chains and probabilistic Turing machines.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
A rigorous definition should include some regularity constraints on T(n) and S(n) as functions from \(\mathrm{I}\!\mathbb{N}\) to \(\mathrm{I}\!\mathbb{N}\); see the bibliographic remarks for references with all the omitted details.
- 2.
Merely quadratic, under “reasonable” hypotheses.
References
Aaronson, S.: Limits on efficient computation in the physical world. Ph.D. thesis, University of California, Berkeley (2005)
Aaronson, S.: NP-complete problems and physical reality. SIGACT News 36(1), 30–52 (2005). Complexity Theory Column
Aaronson, S.: Reasons to believe. http://www.scottaaronson.com/blog/?p=122 (2006)
Agrawal, M., Kayal, N., Saxena, N.: PRIMES in P. Ann. Math. 2, 781–793 (2004)
Aho, A.V., Hopcroft, J.E., Ullman, J.D.: Data Structures and Algorithms. Addison-Wesley, Reading (1983)
Ajmone Marsan, M.: Stochastic petri nets: an elementary introduction. In: Rozenberg, G. (ed.) Advances in Petri Nets. Lecture Notes in Computer Science, No. 424, pp. 1–29. Springer, Berlin (1989)
Anderson, J.A.: Automata Theory with Modern Applications. Cambridge University Press, Cambridge (2006)
Arora, S., Barak, B.: Computational Complexity: A Modern Approach. Cambridge University Press, Cambridge (2009)
Ausiello, G., Crescenzi, P., Gambosi, G., Kann, V., Marchetti-Spaccamela, A., Protasi, M.: Complexity and Approximation. Combinatorial Optimization Problems and Their Approximability Properties. Springer, New York (1999)
Bernstein, E., Vazirani, U.: Quantum complexity theory. SIAM J. Comput. 26, 1411–1437 (1997)
Blum, L., Cucker, F., Shub, M., Smale, S.: Complexity and Real Computation. Springer, New York (1997)
Bovet, D.P., Crescenzi, P.: Introduction to the Theory of Complexity. Prentice Hall, New York (1994)
Cohn, H., Kleinberg, R.D., Szegedy, B., Umans, C.: Group-theoretic algorithms for matrix multiplication. In: FOCS, pp. 379–388. IEEE Computer Society, Los Alamitos (2005)
Cook, S.A.: The complexity of theorem-proving procedures. In: STOC, pp. 151–158. ACM, New York (1971)
Coppersmith, D., Winograd, S.: Matrix multiplication via arithmetic progressions. J. Symbolic Comput. 9(3), 251–280 (1990)
Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 3rd edn. MIT, Cambridge (2009)
Crescenzi, P., Kann, V.: A compendium of NP optimization problems. http://www.nada.kth.se/~viggo/problemlist/compendium.html (2005)
Cutland, N.: Computability: An Introduction to Recursive Function Theory. Cambridge University Press, Cambridge (1980)
Deutsch, D.: Quantum theory, the Church-Turing principle and the universal quantum computer. Proc. R. Soc. Lond. A 400, 97–117 (1985)
Feynman, R.P.: Simulating physics with computers. Int. J. Theor. Phys. 21(6/7), 467–488 (1982)
Fortnow, L.: Kurt Gödel (1906–1978). http://blog.computationalcomplexity.org/2006/04/kurt-gdel-1906-1978.html (2006)
Fortnow, L., Homer, S.: A short history of computational complexity. Bull. Eur. Assoc. Theor. Comput. Sci. 80, 95–133 (2003)
Garey, M.R., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, San Francisco (1979)
Gasarch, W.I.: The P=?NP poll. SIGACT News 33(2), 34–47 (2002)
Goldreich, O.: Computational Complexity: A Conceptual Perspective. Cambridge University Press, Cambridge (2008)
Graham, R.L., Knuth, D.E., Patashnik, O.: Concrete Mathematics: A foundation for computer science. Addison-Wesley, Reading (1994)
Häggström, O.: Finite Markov Chains and Algorithmic Applications. Cambridge University Press, Cambridge (2002)
Hartmanis, J., Stearns, R.E.: On the computational complexity of algorithms. Trans. Am. Math. Soc. 117, 285–306 (1965)
Hofstadter, D.R.: Gödel, Escher, Bach: An Eternal Golden Braid. Basic Books, New York (1999)
Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation, 3rd edn. Addison-Wesley, Boston (2006)
Ito, M.: Algebraic Theory of Automata and Languages. World Scientific Publishing Company, Singapore (2004)
Jones, N.D.: Computability and Complexity: From a Programming Perspective. MIT, Cambridge (1997)
Karp, R.M.: Reducibility among combinatorial problems. In: Thatcher, J.W., Miller, R.E. (eds.) Complexity of Computer Computations, pp. 85–103. Plenum Press, New York (1972)
Kaye, P., Laflamme, R., Mosca, M.: An Introduction to Quantum Computing. Oxford University Press, Oxford (2007)
Khoussainov, B., Nerode, A.: Automata Theory and Its Applications. Birkhäuser, Boston (2001)
Kitaev, A.Y., Shen, A.H., Vyalyi, M.N.: Classical and Quantum Computation. American Mathematical Society, Providence (2002)
Kleinberg, J., Tardos, É.: Algorithm Design. Addison-Wesley, Boston (2005)
Knuth, D.E.: Big Omicron and big Omega and big Theta. ACM SIGACT News 8, 18–24 (1976)
Knuth, D.E.: The Art of Computer Programming (Volumes 1–4A). Addison-Wesley, Boston/London (2011)
Kozen, D.C.: Theory of Computation. Springer, London (2006)
Lawson, M.V.: Finite Automata. Chapman and Hall/CRC, Boca Raton (2003)
Levin, L.A.: Universal sorting problems. Probl. Inf. Transm. 9, 265–266 (1973)
Lewis, H.R., Papadimitriou, C.H.: Elements of the Theory of Computation, 2nd edn. Prentice-Hall, Upper Saddle River (1997)
Linz, P.: An Introduction to Formal Languages and Automata, 4th edn. Jones and Bartlett, Sudbury (2006)
Mandrioli, D., Ghezzi, C.: Theoretical Foundations of Computer Sciences. Wiley, New York (1987)
Manna, Z.: Mathematical Theory of Computation. Dover, Mineola (2003)
Markov, A.A.: Extension of the limit theorems of probability theory to a sum of variables connected in a chain. In: Howard, R. (ed.) Dynamic Probabilistic Systems. Markov Chains (Appendix B), vol. 1. Wiley, New York (1971)
Mehlhorn, K., Sanders, P.: Algorithms and Data Structures: The Basic Toolbox. Springer, Berlin (2008)
Mermin, N.D.: Quantum Computer Science: An Introduction. Cambridge University Press, Cambridge (2007)
Mitzenmacher, M., Upfal, E.: Probability and Computing: Randomized Algorithms and Probabilistic Analysis. Cambridge University Press, Cambridge (2005)
Motwani, R., Raghavan, P.: Randomized Algorithms. Cambridge University Press, Cambridge/New York (1995)
Nielsen, M.A., Chuang, I.L.: Quantum Computation and Quantum Information. Cambridge University Press, Cambridge (2000)
Odifreddi, P.: Classical Recursion Theory. North Holland, Amsterdam (1999)
Papadimitriou, C.H.: Computational Complexity. Addison-Wesley, Reading (1993)
Papadimitriou, C.H., Steiglitz, K.: Combinatorial Optimization: Algorithms and Complexity. Dover, Mineola (1998)
Perrin, D., Pin, J.É.: Infinite Words. Pure and Applied Mathematics, vol. 141. Elsevier, Amsterdam (2004)
Rabin, M.O.: Probabilistic algorithm for testing primality. J. Number Theory 12, 128–138 (1980)
Robinson, S.: Toward and optimal algorithm for matrix multiplication. SIAM News 38(9), 354–356 (2005)
Rogers Jr., H.: Theory of Recursive Functions and Effective Computability. MIT, Cambridge (1987)
Rosenberg, A.L.: The Pillars of Computation Theory. Springer, Berlin (2009)
Ross, S.M.: Stochastic Processes. Wiley, New York (1995)
Sakarovitch, J.: Elements of Automata Theory. Cambridge University Press, Cambridge (2009)
Sedgewick, R., Wayne, K.: Algorithms, 4th edn. Addison-Wesley, Upper Saddle River (2011)
Shallit, J.: A Second Course in Formal Languages and Automata Theory. Cambridge University Press, Cambridge (2008)
Shor, P.W.: Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM J. Comput. 26(5), 1484–1509 (1997)
Simon, M.: Automata Theory. World Scientific Publishing Company, Singapore (1999)
Sipser, M.: The history and status of the P versus NP question. In: STOC, pp. 603–618. ACM, New York (1992)
Sipser, M.: Introduction to the Theory of Computation, 2nd edn. Course Technology, Boston (2005)
Skiena, S.S.: The Algorithm Design Manual, 2nd edn. Springer, New York (2008)
Slot, C.F., van Emde Boas, P.: On tape versus core; an application of space efficient perfect hash functions to the invariance of space. In: STOC, pp. 391–400. ACM, New York (1984)
Soare, R.I.: Computability and recursion. Bull. Symb. Logic 2, 284–321 (1996)
Soare, R.I.: Recursively Enumerable Sets and Degrees, 2nd edn. Springer, Berlin (1999)
Soare, R.I.: Turing oracle machines, online computing, and three displacements in computability theory. Ann. Pure Appl. Logic 160, 368–399 (2009)
Solovay, R., Strassen, V.: Erratum: A fast Monte-Carlo test for primality. SIAM J. Comput. 7(1), 118 (1978)
Stothers, A.J.: On the complexity of matrix multiplication. Ph.D. thesis, University of Edinburgh (2010)
Strassen, V.: Gaussian elimination is not optimal. Numer. Math. 14(3), 354–356 (1969)
Stroock, D.W.: An Introduction to Markov Processes. Springer, Berlin (2005)
Turing, A.M.: On computable numbers, with an application to the Entscheidungsproblem. Proc. Lond. Math. Soc. 42, 230–265 (1936). Corrections in [79]
Turing, A.M.: A correction. Proc. Lond. Math. Soc. 43, 544–546 (1937)
van Emde Boas, P.: Machine models and simulations. In: van Leeuwen, J. (ed.) The Handbook of Theoretical Computer Science. Algorithms and Complexity, vol. I, pp. 1–61. MIT, Amsterdam (1990)
Vassilevska Williams, V.: Multiplying matrices faster than Coppersmith-Winograd. In: Karloff, H.J., Pitassi, T. (eds.) Proceedings of the 44th Symposium on Theory of Computing Conference, STOC 2012, New York, 19–22, May 2012, pp. 887–898. ACM, New York (2012)
Vazirani, V.V.: Approximation Algorithms. Springer, Berlin (2001)
von Neumann, J.: First draft of a report on the EDVAC. http://qss.stanford.edu/~godfrey/vonNeumann/vnedvac.pdf (1945)
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Furia, C.A., Mandrioli, D., Morzenti, A., Rossi, M. (2012). Time in the Analysis of Algorithms. In: Modeling Time in Computing. Monographs in Theoretical Computer Science. An EATCS Series. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-32332-4_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-32332-4_6
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-32331-7
Online ISBN: 978-3-642-32332-4
eBook Packages: Computer ScienceComputer Science (R0)