Computation, Automata, Languages
Last update: 03 Jan 2025 23:25First version: 11 March 2001
Computers aren't made of matter.Ideal, theoretical computers are rather mathematical objects: they are, equivalently, algorithms, or effective procedures, or abstract automata, or functions which can be specified recursively, or formal languages.
--- Greg Egan, Permutation City
Things to learn more about: Classifications of machines and languages (beyond the classical, four-level Chomsky hierarchy). Hierarchies of computational power. Abstract-algebraic treatment of automata. Effects of making automata stochastic. Techniques for proving equivalence of automata; of minimizing automata. Bisimulation. Techniques for inferring automata or grammars from their languages, especially when generation is stochastic. Non-finite-state transducers. Stochastic context-free grammars and their connections with branching processes. "Logics of time and computation".
Computational complexity: not "what can be computed, at all?", but "given that something can be computed, what resources does the computation require?"
Analog computation. What forms are structurally stable? Other forms of unconventional computation. DNA computation doesn't interest me very much, because that's just another kind of hardware, and slow, big and noisy at that. But quantum computation is very interesting, because it can do something new. So, possibly, is computation in dynamical systems.
If you do insist on making a computer out of matter, what limits does that impose on the computation? Conversely: when do physical systems compute?
- See also:
- AI
- Algorithmic Information Theory
- Biological computers
- Cellular Automata
- Complexity
- Complexity Measures
- Computational Mechanics (for exploring the intrinsic computation of physical processes)
- Computers
- Dynamics
- Gödel's Theorem
- Grammatical Inference
- Math I Ought to Learn
- Machine Learning, Statistical Inference and Induction
- Parallel and Distributed Computing
- Physics of Computation and Information
- Programming
- Quantum Mechanics (for quantum computers)
- Symbolic Dynamics
- Transducers
- Visual Grammars
- Recommended, big picture:
- Gary William Flake, The Computational Beauty of Nature: Computer Explorations of Fractals, Chaos, Complex Systems, and Adaptation [Review: A Garden of Bright Images]
- Harry R. Lewis and Christos H. Papadimitriou, Elements of the Theory of Computation [Very nice textbook; the proofs, for instance, are comprehensible and correct, which is not always the case with the competition.]
- Marvin Minsky, Computation: Finite and Infinite Machines
- Cristopher Moore and Stephan Mertens, The Nature of Computation [Cris and Stephan were kind enough to let me read this in manuscript; it's magnificent. Review: Intellects Vast and Warm and Sympathetic]
- Recommended, close-ups:
- Michael Arbib, Brains, Machines and Mathematics
- George S. Boolos and Richard C. Jeffrey, Computability and Logic
- Taylor L. Booth, Sequential Machines and Automata Theory [Fascinating material on probabilistic machines which has dropped out of later texts]
- J. Richard Büchi, Finite Automata, Their Algebras and Grammars: Towards a Theory of Formal Expressions
- J. H. Conway, Regular Algebra and Finite Machines
- Joseph Y. Halpern, "Beyond Nash Equilibrium: Solution Concepts for the 21st Century", arxiv:0806.2139
- Eric Mjolsness, "Stochastic Process Semantics for Dynamical Grammar Syntax: An Overview", cs.AI/0511073
- Cristopher Moore, "Recursion Theory on the Reals and Continuous-Time Computation," Theoretical Computer Science, 162 (1999): 23--44
- E. Vidal, F. Thollard, C. de la Higuera, F. Casacuberta and R. C. Carrasco, "Probabilistic Finte-State Machines"
- Recommended, close-ups, historical interest:
- J. Hartmanis and R. E. Stearns, Algebraic Structure Theory of Sequential Machines
- Claude Shannon and John McCarthy (eds.). Automata Studies [Think of this as a collection of many of the ways computer science could have gone, including some of the ways it did, e.g., Kleene's paper introducing regular expressions and finite automata]
- To read, historical interest:
- Anil Nerode, "Linear Automaton Transformations", Proceedings of the American Mathematical Society 9 (1958): 541--544
- George N. Raney, "Sequential Functions", Journal of the ACM 5 (1958): 177--180
- To read:
- Andrew Adamatzky (ed.), Collison-Based Computing
- Jiri Adamek and Vera Trnkova, Automata and Algebras in Categories
- James Anderson, Automata Theory with Modern Applications
- Arbib (ed.), Algebraic Theory of Machines, Langauges, and Semigroups
- Falk Bartels, Ana Sokolova and Erik de Vink, "A hierarchy of probabilistic system types", Theoretical Computer Science 327 (2004): 3--22
- Asa Ben-Hur, Alexander Roitershtein and Hava T. Siegelmann, "Probabilistic analog automata", Theoretical Computer Science 320 (2004): 449--464
- Jeffrey M. Binder, Language and the Rise of the Algorithm [Learned of from this review]
- Udi Boker and Nachum Dershowitz, "Comparing Computational Power", cs.LO/0510069
- Paul Bohan Broderick, "On Communication and Computation", Minds and Machines 14 (2004): 1--19 ["The most famous models of computation and communication, Turing Machines and (Shannon-style) information sources, are considered. The most significant difference lies in the types of state-transitions allowed in each sort of model. This difference does not correspond to the difference that would be expected after considering the ordinary usage of these terms."]
- C. S. Calude, J. Casti, and M. J. Dinneen, eds., Unconventional Models of Computation
- John Carroll and Darrell Long, Theory of Finite Automata: with an Introduction to Formal Languages [Good chapter on finite-state transducers; dunno about the rest yet]
- Manuel Lameiras Campagnolo, Cristopher Moore, and José Félix Costa, "Iteration, Inequailities, and Differentiability in Analog Computers" [On-line]
- Manuel Lameiras Campagnolo and Cristopher Moore, "Upper and lower bounds on continuous-time computation" [On-line]
- Jean-Charles Delvenne, Petr Kurka and Vincent Blondel, "Computational Universality in Symbolic Dynamical Systems", cs.CC/0404021
- Alan John Dix, Formal Methods for Interactive Systems
- E.-E. Doberkat, Stochastic Automata: Stability, Nondeterminism and Prediction
- David Doty and Jared Nichols, "Pushdown Dimension", cs.IT/0504047
- Joseph A. Goguen and Grant Malcolm, Algebraic Semantics of Imperative Programs
- Robert Goldblatt, Logics of Time and Computation
- Gramss, Bornholdt, Gross, Mitchell and Pellizzari (eds.), Non-Standard Computation: Molecular Computation --- Cellular Automata --- Evolutionary Algorithms --- Quantum Computers
- Thomas A. Henzinger, Rupak Majumdar and Jean-Francois Raskin, "A Classification of Symbolic Transition Systems," cs.LO/0101013
- Marcus Hutter, "The Fastest and Shortest Algorithm for All Well-Defined Problems," cs.CC/0206022
- Giorgi Japaridze, "Computatbility Logic: A Formal Theory of Interaction", cs.LO/0404024
- A. A. Lorents, Stochastic automata: constructive theory
- Marc Mezard and Andrea Montanari, Information, Physics, and Computation
- Marcin Milkowski, Explaining The Computational Mind [For the material on what it means to explain phenomena computationally]
- Rajeev Motwani, Randomized Algorithms
- Jorg Olschewski, Michael Ummels, "The Complexity of Finding Reset Words in Finite Automata", arxiv:1004.3246
- György E. Révész, Introduction to Formal Languages
- National Research Council (USA), Probability and Algorithms [1992, so now of merely historical interest, but I've been meaning to read it since the mid-1990s, so...]
- Wolfgang Reisig, Petri Nets: An Introduction
- Hartley Rogers Jr., Theory of Recursive Functions and Effective Computability
- Arto Salomaa, Computation and Automata
- David Sankoff, "Branching Processes with Terminal Types: Application to Context-Free Grammars", Journal of Applied Probability 8 (1971): 233--240 [JSTOR]
- Yuzuru Sato, Logic and Computation in Dynamical Systems [Ph.D. thesis, University of Tokyo, 2000]
- Géraud Sénizergues, "Complete Formal Systems for Equivalence Problems," Theoretical Computer Science 231 (2000): 309--334
- Tanya Sienko, Andrew Adamatzky and Nicholas Rambidi (eds.), Molecular Computing
- Edward P. Stabler and Edward L. Keenan, "Structural similarity within and among languages," Theoretical Computer Science 293 (2003): 345--363
- J. V. Tucker and J. I. Zucker
- "Abstract Computability, Algebraic Specification and Initiality," cs.LO/0109001
- "Abstract versus Concrete Computation on Metric Partial Algebras," cs.LO/0108007
- Antii Valmari, "Fast brief practical DFA minimization", Information Processing Letters 112 (2012): 213--217
- Jan von Plato, The Great Formal Machinery Works: Theories of Deduction and Computation at the Origins of the Digital Age
- R. F. Walters, Categories and Computer Science
- Wlodek Zadrozny, "Minimum Description Length and Compositionality," cs.CL/0001002