Computation, Automata, Languages
Last update: 11 Jul 2025 14:07
First version: 11 March 2001
Computers aren't made of matter.
--- Greg Egan, Permutation City
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.
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?
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
- Philippe Flajolet and Robert Sedgewick, Analytic Combinatorics
- 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"
- IEEE Transactions on
Pattern Analysis and Machine Intelligence 27 (2005):
1013--1025
- IEEE Transactions on
Pattern Analysis and Machine Intelligence 27 (2005):
1026--1039
Recommended, close-ups, historical interest:
- Noam Chomsky, "Three Models for the Description of Language",
IRE Transactions on Information Theory 2 (1956): 113--124
- J. Hartmanis and R. E. Stearns, Algebraic Structure Theory of
Sequential Machines
- 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
- 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, big picture:
- James Anderson, Automata Theory with Modern Applications
- 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]
- György E. Révész, Introduction to Formal
Languages
- Hartley Rogers Jr., Theory of Recursive Functions and
Effective Computability
- Arto Salomaa, Computation and Automata
To read, historical interest:
- M. A. Arbib, "Automata Theory and Control Theory --- A Rapproachement", Automatica 3 (1966): 161--189
- 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...]
To read, connections of automata and languages to abstract algebra and category theory:
- Jiri Adamek and Vera Trnkova, Automata and Algebras in
Categories
- M. A. Arbib, Algebraic Theory of Machines, Langauges, and
Semigroups
- Joseph A. Goguen and Grant Malcolm, Algebraic Semantics of Imperative Programs
- R. F. Walters, Categories and Computer Science
To read, probabilistic automata and algorithms (which one could handle as just another input, but that's not illuminating):
- 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
- E.-E. Doberkat, Stochastic Automata: Stability,
Nondeterminism and Prediction
- A. A. Lorents, Stochastic automata: constructive theory
- Rajeev Motwani, Randomized Algorithms
To read, particle- or collision- based computing:
- Andrew Adamatzky (ed.), Collison-Based Computing
- Tanya Sienko, Andrew Adamatzky and Nicholas Rambidi
(eds.), Molecular Computing
To read, analog computing and computing in dynamical systems (some overlap with other topics):
- 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
- Yuzuru Sato, Logic and Computation in Dynamical
Systems [Ph.D. thesis, University of Tokyo, 2000. I remember Yuzuru explaining a lot of this when we shared an office...]
To read, synchronizing and/or re-setting words for automata, especially finite automata (related to a particular slow-moving project):
- Jorg Olschewski, Michael Ummels, "The Complexity of Finding Reset Words in Finite Automata", arxiv:1004.3246
To read, comparisons and especially distances between languages and automata (again, related to particular projects):
- Edward P. Stabler and Edward L. Keenan, "Structural similarity
within and among languages," Theoretical
Computer Science
293 (2003): 345--363
To read, not yet or not otherwise classified:
- Udi Boker and Nachum Dershowitz, "Comparing Computational Power",
cs.LO/0510069
- C. S. Calude, J. Casti, and M. J. Dinneen, eds.,
Unconventional Models of Computation
- Alan John Dix, Formal Methods for Interactive Systems
- David Doty and Jared Nichols, "Pushdown Dimension",
cs.IT/0504047
- 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
- Marc Mezard and Andrea Montanari, Information, Physics, and Computation
- David Sankoff, "Branching Processes with Terminal Types:
Application to Context-Free Grammars", Journal of Applied
Probability 8 (1971): 233--240
[JSTOR]
- Géraud Sénizergues, "Complete Formal Systems for
Equivalence Problems," Theoretical Computer Science
231 (2000): 309--334
- 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
- Wlodek Zadrozny, "Minimum Description Length and
Compositionality," cs.CL/0001002