Time in the Analysis of Algorithms

  • Carlo A. Furia
  • Dino Mandrioli
  • Angelo Morzenti
  • Matteo Rossi
Part of the Monographs in Theoretical Computer Science. An EATCS Series book series (EATCS)


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.


Turing Machine Markov Decision Process Direct Access Memory Probabilistic Automaton Random Access Machine 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Aaronson, S.: Limits on efficient computation in the physical world. Ph.D. thesis, University of California, Berkeley (2005)Google Scholar
  2. 2.
    Aaronson, S.: NP-complete problems and physical reality. SIGACT News 36(1), 30–52 (2005). Complexity Theory ColumnGoogle Scholar
  3. 3.
    Aaronson, S.: Reasons to believe. (2006)
  4. 4.
    Agrawal, M., Kayal, N., Saxena, N.: PRIMES in P. Ann. Math. 2, 781–793 (2004)Google Scholar
  5. 5.
    Aho, A.V., Hopcroft, J.E., Ullman, J.D.: Data Structures and Algorithms. Addison-Wesley, Reading (1983)Google Scholar
  6. 6.
    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)Google Scholar
  7. 7.
    Anderson, J.A.: Automata Theory with Modern Applications. Cambridge University Press, Cambridge (2006)Google Scholar
  8. 8.
    Arora, S., Barak, B.: Computational Complexity: A Modern Approach. Cambridge University Press, Cambridge (2009)Google Scholar
  9. 9.
    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)Google Scholar
  10. 10.
    Bernstein, E., Vazirani, U.: Quantum complexity theory. SIAM J. Comput. 26, 1411–1437 (1997)Google Scholar
  11. 11.
    Blum, L., Cucker, F., Shub, M., Smale, S.: Complexity and Real Computation. Springer, New York (1997)Google Scholar
  12. 12.
    Bovet, D.P., Crescenzi, P.: Introduction to the Theory of Complexity. Prentice Hall, New York (1994)Google Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    Cook, S.A.: The complexity of theorem-proving procedures. In: STOC, pp. 151–158. ACM, New York (1971)Google Scholar
  15. 15.
    Coppersmith, D., Winograd, S.: Matrix multiplication via arithmetic progressions. J. Symbolic Comput. 9(3), 251–280 (1990)Google Scholar
  16. 16.
    Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 3rd edn. MIT, Cambridge (2009)Google Scholar
  17. 17.
    Crescenzi, P., Kann, V.: A compendium of NP optimization problems. (2005)
  18. 18.
    Cutland, N.: Computability: An Introduction to Recursive Function Theory. Cambridge University Press, Cambridge (1980)Google Scholar
  19. 19.
    Deutsch, D.: Quantum theory, the Church-Turing principle and the universal quantum computer. Proc. R. Soc. Lond. A 400, 97–117 (1985)Google Scholar
  20. 20.
    Feynman, R.P.: Simulating physics with computers. Int. J. Theor. Phys. 21(6/7), 467–488 (1982)Google Scholar
  21. 21.
  22. 22.
    Fortnow, L., Homer, S.: A short history of computational complexity. Bull. Eur. Assoc. Theor. Comput. Sci. 80, 95–133 (2003)Google Scholar
  23. 23.
    Garey, M.R., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, San Francisco (1979)Google Scholar
  24. 24.
    Gasarch, W.I.: The P=?NP poll. SIGACT News 33(2), 34–47 (2002)Google Scholar
  25. 25.
    Goldreich, O.: Computational Complexity: A Conceptual Perspective. Cambridge University Press, Cambridge (2008)Google Scholar
  26. 26.
    Graham, R.L., Knuth, D.E., Patashnik, O.: Concrete Mathematics: A foundation for computer science. Addison-Wesley, Reading (1994)Google Scholar
  27. 27.
    Häggström, O.: Finite Markov Chains and Algorithmic Applications. Cambridge University Press, Cambridge (2002)Google Scholar
  28. 28.
    Hartmanis, J., Stearns, R.E.: On the computational complexity of algorithms. Trans. Am. Math. Soc. 117, 285–306 (1965)Google Scholar
  29. 29.
    Hofstadter, D.R.: Gödel, Escher, Bach: An Eternal Golden Braid. Basic Books, New York (1999)Google Scholar
  30. 30.
    Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation, 3rd edn. Addison-Wesley, Boston (2006)Google Scholar
  31. 31.
    Ito, M.: Algebraic Theory of Automata and Languages. World Scientific Publishing Company, Singapore (2004)Google Scholar
  32. 32.
    Jones, N.D.: Computability and Complexity: From a Programming Perspective. MIT, Cambridge (1997)Google Scholar
  33. 33.
    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)Google Scholar
  34. 34.
    Kaye, P., Laflamme, R., Mosca, M.: An Introduction to Quantum Computing. Oxford University Press, Oxford (2007)Google Scholar
  35. 35.
    Khoussainov, B., Nerode, A.: Automata Theory and Its Applications. Birkhäuser, Boston (2001)Google Scholar
  36. 36.
    Kitaev, A.Y., Shen, A.H., Vyalyi, M.N.: Classical and Quantum Computation. American Mathematical Society, Providence (2002)Google Scholar
  37. 37.
    Kleinberg, J., Tardos, É.: Algorithm Design. Addison-Wesley, Boston (2005)Google Scholar
  38. 38.
    Knuth, D.E.: Big Omicron and big Omega and big Theta. ACM SIGACT News 8, 18–24 (1976)Google Scholar
  39. 39.
    Knuth, D.E.: The Art of Computer Programming (Volumes 1–4A). Addison-Wesley, Boston/London (2011)Google Scholar
  40. 40.
    Kozen, D.C.: Theory of Computation. Springer, London (2006)Google Scholar
  41. 41.
    Lawson, M.V.: Finite Automata. Chapman and Hall/CRC, Boca Raton (2003)Google Scholar
  42. 42.
    Levin, L.A.: Universal sorting problems. Probl. Inf. Transm. 9, 265–266 (1973)Google Scholar
  43. 43.
    Lewis, H.R., Papadimitriou, C.H.: Elements of the Theory of Computation, 2nd edn. Prentice-Hall, Upper Saddle River (1997)Google Scholar
  44. 44.
    Linz, P.: An Introduction to Formal Languages and Automata, 4th edn. Jones and Bartlett, Sudbury (2006)Google Scholar
  45. 45.
    Mandrioli, D., Ghezzi, C.: Theoretical Foundations of Computer Sciences. Wiley, New York (1987)Google Scholar
  46. 46.
    Manna, Z.: Mathematical Theory of Computation. Dover, Mineola (2003)Google Scholar
  47. 47.
    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)Google Scholar
  48. 48.
    Mehlhorn, K., Sanders, P.: Algorithms and Data Structures: The Basic Toolbox. Springer, Berlin (2008)Google Scholar
  49. 49.
    Mermin, N.D.: Quantum Computer Science: An Introduction. Cambridge University Press, Cambridge (2007)Google Scholar
  50. 50.
    Mitzenmacher, M., Upfal, E.: Probability and Computing: Randomized Algorithms and Probabilistic Analysis. Cambridge University Press, Cambridge (2005)Google Scholar
  51. 51.
    Motwani, R., Raghavan, P.: Randomized Algorithms. Cambridge University Press, Cambridge/New York (1995)Google Scholar
  52. 52.
    Nielsen, M.A., Chuang, I.L.: Quantum Computation and Quantum Information. Cambridge University Press, Cambridge (2000)Google Scholar
  53. 53.
    Odifreddi, P.: Classical Recursion Theory. North Holland, Amsterdam (1999)Google Scholar
  54. 54.
    Papadimitriou, C.H.: Computational Complexity. Addison-Wesley, Reading (1993)Google Scholar
  55. 55.
    Papadimitriou, C.H., Steiglitz, K.: Combinatorial Optimization: Algorithms and Complexity. Dover, Mineola (1998)Google Scholar
  56. 56.
    Perrin, D., Pin, J.É.: Infinite Words. Pure and Applied Mathematics, vol. 141. Elsevier, Amsterdam (2004)Google Scholar
  57. 57.
    Rabin, M.O.: Probabilistic algorithm for testing primality. J. Number Theory 12, 128–138 (1980)Google Scholar
  58. 58.
    Robinson, S.: Toward and optimal algorithm for matrix multiplication. SIAM News 38(9), 354–356 (2005)Google Scholar
  59. 59.
    Rogers Jr., H.: Theory of Recursive Functions and Effective Computability. MIT, Cambridge (1987)Google Scholar
  60. 60.
    Rosenberg, A.L.: The Pillars of Computation Theory. Springer, Berlin (2009)Google Scholar
  61. 61.
    Ross, S.M.: Stochastic Processes. Wiley, New York (1995)Google Scholar
  62. 62.
    Sakarovitch, J.: Elements of Automata Theory. Cambridge University Press, Cambridge (2009)Google Scholar
  63. 63.
    Sedgewick, R., Wayne, K.: Algorithms, 4th edn. Addison-Wesley, Upper Saddle River (2011)Google Scholar
  64. 64.
    Shallit, J.: A Second Course in Formal Languages and Automata Theory. Cambridge University Press, Cambridge (2008)Google Scholar
  65. 65.
    Shor, P.W.: Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM J. Comput. 26(5), 1484–1509 (1997)Google Scholar
  66. 66.
    Simon, M.: Automata Theory. World Scientific Publishing Company, Singapore (1999)Google Scholar
  67. 67.
    Sipser, M.: The history and status of the P versus NP question. In: STOC, pp. 603–618. ACM, New York (1992)Google Scholar
  68. 68.
    Sipser, M.: Introduction to the Theory of Computation, 2nd edn. Course Technology, Boston (2005)Google Scholar
  69. 69.
    Skiena, S.S.: The Algorithm Design Manual, 2nd edn. Springer, New York (2008)Google Scholar
  70. 70.
    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)Google Scholar
  71. 71.
    Soare, R.I.: Computability and recursion. Bull. Symb. Logic 2, 284–321 (1996)Google Scholar
  72. 72.
    Soare, R.I.: Recursively Enumerable Sets and Degrees, 2nd edn. Springer, Berlin (1999)Google Scholar
  73. 73.
    Soare, R.I.: Turing oracle machines, online computing, and three displacements in computability theory. Ann. Pure Appl. Logic 160, 368–399 (2009)Google Scholar
  74. 74.
    Solovay, R., Strassen, V.: Erratum: A fast Monte-Carlo test for primality. SIAM J. Comput. 7(1), 118 (1978)Google Scholar
  75. 75.
    Stothers, A.J.: On the complexity of matrix multiplication. Ph.D. thesis, University of Edinburgh (2010)Google Scholar
  76. 76.
    Strassen, V.: Gaussian elimination is not optimal. Numer. Math. 14(3), 354–356 (1969)Google Scholar
  77. 77.
    Stroock, D.W.: An Introduction to Markov Processes. Springer, Berlin (2005)Google Scholar
  78. 78.
    Turing, A.M.: On computable numbers, with an application to the Entscheidungsproblem. Proc. Lond. Math. Soc. 42, 230–265 (1936). Corrections in [79]Google Scholar
  79. 79.
    Turing, A.M.: A correction. Proc. Lond. Math. Soc. 43, 544–546 (1937)Google Scholar
  80. 80.
    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)Google Scholar
  81. 81.
    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)Google Scholar
  82. 82.
    Vazirani, V.V.: Approximation Algorithms. Springer, Berlin (2001)Google Scholar
  83. 83.
    von Neumann, J.: First draft of a report on the EDVAC. (1945)

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Carlo A. Furia
    • 1
  • Dino Mandrioli
    • 2
  • Angelo Morzenti
    • 2
  • Matteo Rossi
    • 2
  1. 1.Department of Computer ScienceZürichSwitzerland
  2. 2.Dipartimento di Elettronica e InformazionePolitecnico di MilanoMilanItaly

Personalised recommendations