18.04.2013 Views

The.Algorithm.Design.Manual.Springer-Verlag.1998

The.Algorithm.Design.Manual.Springer-Verlag.1998

The.Algorithm.Design.Manual.Springer-Verlag.1998

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Finite State Machine Minimization<br />

Section .<br />

XTango (see Section ) includes a simulation of a DFA. Many of the other animations (but not this<br />

one) are interesting and quite informative to watch.<br />

FLAP (Formal Languages and Automata Package) is a tool by Susan Rodger for drawing and simulating<br />

finite automata, pushdown automata, and Turing machines. Using FLAP, one can draw a graphical<br />

representation (transition diagram) of an automaton, edit it, and simulate the automaton on some input.<br />

FLAP was developed in C++ for X-Windows. See http://www.cs.duke.edu:80/ rodger/tools/tools.html.<br />

Notes: Aho [Aho90] provides a good survey on algorithms for pattern matching, and a particularly clear<br />

exposition for the case where the patterns are regular expressions. <strong>The</strong> technique for regular expression<br />

pattern matching with -moves is due to Thompson [Tho68]. Other expositions on finite automaton<br />

pattern matching include [AHU74].<br />

Hopcroft [Hop71] gave an optimal algorithm for minimizing the number of states in DFAs. <strong>The</strong><br />

derivatives method of constructing a finite state machine from a regular expression is due to Brzozowski<br />

[Brz64] and has been expanded upon in [BS86]. Expositions on the derivatives method includes Conway<br />

[]. Testing the equivalence of two nondeterministic finite state machines is PSPACE-complete [SM73].<br />

Related Problems: Satisfiability (see page ). string matching (see page ).<br />

Next: Longest Common Substring Up: Set and String Problems Previous: Cryptography<br />

<strong>Algorithm</strong>s<br />

Mon Jun 2 23:33:50 EDT 1997<br />

file:///E|/BOOK/BOOK5/NODE207.HTM (4 of 4) [19/1/2003 1:32:15]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!