Time in the Analysis of Algorithms

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.

[1]  Umesh V. Vazirani,et al.  Quantum Complexity Theory , 1997, SIAM J. Comput..

[2]  Scott Aaronson,et al.  Limits on Efficient Computation in the Physical World , 2004, ArXiv.

[3]  Dino Mandrioli,et al.  Theoretical foundations of computer science , 1987 .

[4]  D. Hofstadter,et al.  Gödel, Escher, Bach: An Eternal Golden Braid@@@Godel, Escher, Bach: An Eternal Golden Braid , 1980 .

[5]  Volker Strassen,et al.  Erratum: A Fast Monte-Carlo Test for Primality , 1978, SIAM J. Comput..

[6]  P. Odifreddi Classical recursion theory , 1989 .

[7]  Peter W. Shor,et al.  Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer , 1995, SIAM Rev..

[8]  Scott Aaronson,et al.  Guest Column: NP-complete problems and physical reality , 2005, SIGA.

[9]  V. Strassen Gaussian elimination is not optimal , 1969 .

[10]  Kurt Mehlhorn,et al.  Review of algorithms and data structures: the basic toolbox by Kurt Mehlhorn and Peter Sanders , 2011, SIGA.

[11]  Mark V. Lawson,et al.  Finite Automata , 2003, Handbook of Networked and Embedded Control Systems.

[12]  Ronald L. Rivest,et al.  Introduction to Algorithms, third edition , 2009 .

[13]  J. Hartmanis,et al.  On the Computational Complexity of Algorithms , 1965 .

[14]  Peter van Emde Boas,et al.  On tape versus core an application of space efficient perfect hash functions to the invariance of space , 1984, STOC '84.

[15]  Rajeev Motwani,et al.  Randomized algorithms , 1996, CSUR.

[16]  Kenneth Steiglitz,et al.  Combinatorial Optimization: Algorithms and Complexity , 1981 .

[17]  Michael Sipser,et al.  The history and status of the P versus NP question , 1992, STOC '92.

[18]  R. Feynman Simulating physics with computers , 1999 .

[19]  N. Cutland Computability: An Introduction to Recursive Function Theory , 1980 .

[20]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

[21]  Sheldon M. Ross,et al.  Stochastic Processes , 2018, Gauge Integral Structures for Stochastic Calculus and Quantum Electrodynamics.

[22]  Mikhail N. Vyalyi,et al.  Classical and Quantum Computation , 2002, Graduate studies in mathematics.

[23]  Dexter Kozen Theory of Computation , 2006, Texts in Computer Science.

[24]  Lance Fortnow,et al.  A Short History of Computational Complexity , 2003, Bull. EATCS.

[25]  Pierluigi Crescenzi,et al.  Introduction to the theory of complexity , 1994, Prentice Hall international series in computer science.

[26]  M. Rabin Probabilistic algorithm for testing primality , 1980 .

[27]  Virginia Vassilevska Williams,et al.  Multiplying matrices faster than coppersmith-winograd , 2012, STOC '12.

[28]  Éva Tardos,et al.  Algorithm design , 2005 .

[29]  Lane A. Hemaspaandra SIGACT news complexity theory column 36 , 2002, SIGA.

[30]  Vijay V. Vazirani,et al.  Approximation Algorithms , 2001, Springer Berlin Heidelberg.

[31]  N. Mermin Quantum Computer Science: An Introduction , 2007 .

[32]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[33]  Masami Ito,et al.  Algebraic Theory of Automata & Languages , 2004 .

[34]  Neil D. Jones,et al.  Computability and complexity - from a programming perspective , 1997, Foundations of computing series.

[35]  Giorgio Gambosi,et al.  Complexity and Approximation , 1999, Springer Berlin Heidelberg.

[36]  Donald E. Knuth Art of Computer Programming, Volumes 1-4A Boxed Set , 2011 .

[37]  Giorgio Gambosi,et al.  Complexity and approximation: combinatorial optimization problems and their approximability properties , 1999 .

[38]  Donald E. Knuth,et al.  Big Omicron and big Omega and big Theta , 1976, SIGA.

[39]  D. Stroock An Introduction to Markov Processes , 2004 .

[40]  Sanjeev Arora,et al.  Computational Complexity: A Modern Approach , 2009 .

[41]  Jr. Hartley Rogers Theory of Recursive Functions and Effective Computability , 1969 .

[42]  Manindra Agrawal,et al.  PRIMES is in P , 2004 .

[43]  Don Coppersmith,et al.  Matrix multiplication via arithmetic progressions , 1987, STOC.

[44]  I. Chuang,et al.  Quantum Computation and Quantum Information: Introduction to the Tenth Anniversary Edition , 2010 .

[45]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[46]  Eli Upfal,et al.  Probability and Computing: Randomized Algorithms and Probabilistic Analysis , 2005 .

[47]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[48]  Scott Aaronson,et al.  NP-complete Problems and Physical Reality , 2005, Electron. Colloquium Comput. Complex..

[49]  Christopher Umans,et al.  Group-theoretic Algorithms for Matrix Multiplication , 2005, FOCS.

[50]  Lenore Blum,et al.  Complexity and Real Computation , 1997, Springer New York.

[51]  Raymond Laflamme,et al.  An Introduction to Quantum Computing , 2007, Quantum Inf. Comput..

[52]  A. J. Stothers On the complexity of matrix multiplication , 2010 .

[53]  Peter Linz,et al.  An Introduction to Formal Languages and Automata , 1997 .

[54]  Marco Ajmone Marsan,et al.  Stochastic Petri nets: an elementary introduction , 1988, European Workshop on Applications and Theory in Petri Nets.

[55]  D. Deutsch Quantum theory, the Church–Turing principle and the universal quantum computer , 1985, Proceedings of the Royal Society of London. A. Mathematical and Physical Sciences.

[56]  P. Boas Machine models and simulations , 1991 .

[57]  Robert I. Soare,et al.  Turing oracle machines, online computing, and three displacements in computability theory , 2009, Ann. Pure Appl. Log..

[58]  Oded Goldreich,et al.  Computational complexity: a conceptual perspective , 2008, SIGA.

[59]  A. Turing On Computable Numbers, with an Application to the Entscheidungsproblem. , 1937 .

[60]  Arnold L. Rosenberg The Pillars of Computation Theory - State, Encoding, Nondeterminism , 2009 .

[61]  James A. Anderson Automata theory with modern applications , 2006 .

[62]  Robert I. Soare,et al.  Computability and Recursion , 1996, Bulletin of Symbolic Logic.

[63]  Peter van Emde Boas,et al.  Machine Models and Simulation , 1990, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[64]  Matthew Simon,et al.  Automata Theory , 1999 .

[65]  Alfred V. Aho,et al.  Data Structures and Algorithms , 1983 .

[66]  Jacques Sakarovitch,et al.  Elements of Automata Theory , 2009 .

[67]  Richard M. Karp,et al.  Reducibility Among Combinatorial Problems , 1972, 50 Years of Integer Programming.

[68]  Anil Nerode,et al.  Automata theory and its applications , 2001 .

[69]  Ronald L. Graham,et al.  Concrete mathematics - a foundation for computer science , 1991 .

[70]  Olle Häggström Finite Markov Chains and Algorithmic Applications , 2002 .

[71]  Jeffrey Shallit,et al.  A Second Course in Formal Languages and Automata Theory , 2008 .

[72]  Zohar Manna,et al.  Mathematical Theory of Computation , 2003 .