FST - Torbjörn Lager, UU 14 The Xerox Finite-State Tool zCompiles extended regular expressions into finite-state machines (automata and transducers) zAllows the user to display, examine and modify the machines
FST - Torbjörn Lager, UU 15 Non-deterministic FSAs zAt least one state has more than one transition leading from it labelled with the same symbol 01 a b b 2
FST - Torbjörn Lager, UU 16 Determinization of FSAs zAny non-deterministic FSA can be transformed into an equivalent deterministic FSA. zExample: zDeterminize for efficiency! 2 01 a b b 2 01 a b b
FST - Torbjörn Lager, UU 17 Minimization of FSAs zAny (deterministic) FSA can be transformed into an equivalent FSA that has a minimal number of states. zMinimize for space!
FST - Torbjörn Lager, UU 18 Representing word lists zThink of a word list as a regular language zUse the calculus of regular expressions to query and update the wordlist zDeterminize for speed! zMinimize for space!
FST - Torbjörn Lager, UU 19 Various equivalences z(A) = A| zA+ = A A* zA+ = A* -  zA - B = A & ~B z~A = ?* - A z$A = ?* A ?* z~[A | B] = ~A & ~B z~[A & B] = ~A | ~B
FST - Torbjörn Lager, UU 20 Various equivalences zA - A = ~[?*] zA | ~[?*] = A zA  = A zA ~[?*] = ~[?*] zA & ?* = A zA | ?* = ?*
FST - Torbjörn Lager, UU 21 Important theoretical results zKleene’s theorem (concerning FSAs) zClosure properties of regular languages and regular relations zDecidability
FST - Torbjörn Lager, UU 22 FSAs and regular expressions zKleene’s theorem: Any language recognised by an FSA is denoted by a regular expression and any language denoted by a regular expression can be recognised by a FSA.
FST - Torbjörn Lager, UU 23 Regex to FSA to regex Regular expressions Nondeterministic FSA Nondeterministic FSA with epsilon transitions Deterministic FSA Picture adapted from Hopcroft & Ullman 1979
FST - Torbjörn Lager, UU 24 From regular expressions to finite-state automata zThe only really necessary operators: yDisjunction yConcatenation yIteration zSidenote: Compare regular grammars: yA --> x B A --> x (where A and B are nonterminals, and where x is a sequence of terminals)
FST - Torbjörn Lager, UU 25 Closure properties of regular languages zA set is said to be closed under an operation iff applying the operation to members of the set will never take us outside the set zExample: if A and B are regular languages, then [A|B] is always regular. Therefore regular languages are closed under union.
FST - Torbjörn Lager, UU 26 Decidability zGiven one automaton A: yIs the string S a string in L(A) ? yDoes L(A) contain any strings at all ? yIs L(A) equivalent to ?* ? zGiven two automata A 1 and A 2 : yIs L(A 1 ) a subset of L(A 2 ) ? yAre L(A 1 ) and L(A 2 ) equivalent ? yDo L(A 1 ) and L(A 2 ) overlap ?