Simulators and Graphical Interfaces for Finite State Machines
There exist many tools for working with FSMs. I’ve listed some of the ones I like best.
Finite State Transducers
- For phonetic string matching, including the Soundex system
- Roman numerals
- How UPCs work
- Barcode Magic, a barcode-creating applet
Transition-Network Tools for Software Engineering
- MARCA_Models software for creating and running various kinds of Markov models
- A simple example with a population of patients with diabetes
- Google’s PageRank algorithm
- The PageRank algorithm explained
- Cleve Moler’s article, which describes PageRank as a Markov model
- Training algorithms for efficient updating of the probabilities of huge Markov models such as PageRank
- Lee, Chris Pan-Chi, Gene H. Golub and Stefanos A. Zenios, 2003. “A fast two-stage algorithm for computing page rank”
- Langville, Amy N. and Carl D. Meyer, “Updating Markov chains with an eye on Google’s PageRank”, SIMAX (Siam Journal on Matrix Analysis and Applications) 27(4), pp. 968-987.
- Ipsen, Ilse C. F. and Steve Kirkland, 2006. “Convergence analysis of a PageRank updating algorithm”, SIMAX (Siam Journal on Matrix Analysis and Applications) 27(4), pp. 952-967.
- Markov models for music
- Markov models generating web pages
- Wikipedia’s entry
- Public domain OCR resources
- Can English be described with a Markov model?
- Seminal paper by Claude Shannon
- A description from Programming Pearls, including links to Bentley’s Markov model generating programs
- The beetleinabox site, which includes an applet for creating Markov models of English
- A comprehensive list of web sites related to computer-generated text
- DadaDodo, a program that builds Markov models of texts and uses them to generate new texts. Its slogan is, “Eliminate all rational thought”. You can run a demo.
Hidden Markov Models (HMMs)
- Introductions to HMMs and the algorithms they use
- HMMs in speech and natural language processing, including spam filtering
- HMMs in computational biology
- HMMs in music
Büchi Automata and Other Automata on Infinite Strings
- Determinization of Büchi automata, which proves the nonequivalence of nondeterministic and deterministic Büchi automata and contrasts that with the equivalence of the two mnodels for Rabin and Muller automata