Notebooks

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]
    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


permanent link for this note RSS feed for this note

Notebooks : Powered by Blosxom

AltStyle によって変換されたページ (->オリジナル) /