# Language and Automata Theory

## Presentation on theme: "Language and Automata Theory"— Presentation transcript:

Language and Automata Theory
Chapter 2 Language and Automata Theory Learning objectives : Introduce finite state automata Able to capture state, events and dynamic behavior of “man-made systems” Present logical properties Textbook : C. Cassandras and S. Lafortune, Introduction to Discrete Event Systems, Springer, 2007 1

Plan Languages Finite state automata 2

Languages 3

Definitions Definition:
A language L, defined over an alphabet E, is a set of strings formed from events in E. Language vs DES : E = set of events string = sequence of events L = set of all possible event sequences Example : E = {a,b,g} L1 = {e, a, abb}, L2 = {all strings of length 3} L3 = {all strings of finite length ending with a} L4 = {all possible sequences of a queue} 4

Regular expressions Operations E : alphabet, A, B : languages
e = empty string, u, v, w: strings Concatenation : AB = {w : w = uv, uA, vB} Union : A+B = {w : wA, or vB} Kleene closure : where A0 = {e}, An = AAn-1 5

Regular expressions Example : E = {a,b,g} L1 = {e, a, abb}, L2 = {g}
L1L2 = {g, ag, abbg} L2* = {e, g, gg, ggg, ...} L1* = {e, a, abb, aa, aabb, abba, abbabb, ...} L1+ L2 ={e, a, abb, g} 6

Regular expressions Definition: A regular expression is a representation defined recursively as follows : F is a regular expression denoting the empty set, e is a regular expression denoting the set {e}, e is a regular expression denoting the set {e} for any e  E. If r and s are regular expressions, then rs, (r+s), r* and s* are regular expressions. There are no regular expressions other than those constructed by applying rules 1 and 2 a finite number of times Definition: Any language that can be denoted by a regular expression is a regular language. 7

L = (a+b)g* = {???} L = (ab)*+g = {???} L = ((a+b)g*)*
Regular expressions Examples: L = (a+b)g* = {???} L = (ab)*+g = {???} L = ((a+b)g*)* 8

Finite-state automata
9

Definition Definition: A finite-state automaton (FSA) is a five-tuple
(E, X, f, x0, F) where E is a finite alphabet X is a finite state set f is a state transition function f: X× E → X where f is a partial function and f(x, e) is sometime not defined. x0 is an initial state, x  X F is a set of final states, F  X

Definition Transition function f can be extended to strings u : f(x, u) An automaton is a device that generates a language according to some rules. An automaton is nondeterministic if there are two possible transitions with the same event and starting from the same state. Nondeterministic automaton can always be transformed into deterministic FSA by taking all possible subsets reached by events as states. Nondeterministic automaton will not be considered.

Example Definition: State transition diagram a b g x a y g b a g z b
Consider an automaton (E, X, f, x0, F) E = {a, b, g} X = {x, y, z} f(x, a) = x, f(x, b) = f(x, g) = z f(y, a) = x, f(y, b) = f(y, g) = y f(z, b) = z, f(z, a) = f(z, g) = y initial state x0 = x Final states : F = {x, z} Sample paths: ??? State transition diagram a b g x a y g b a g z b 12

Automata as language recognizers
Definition: A string u is recognized by a finite automaton (E, X, f, x0, F) if f(x0, u) = x where x  F. Definition: The language recognized by a finite-state automaton A = (E, X, f, x0, F) is a set of strings {u: f(x0, u) x  F}. L(A) = language recognized by A. Example: aab L(A) = ??? x y z g b a 13

Equivalence of FSA and regular expressions
Theorem: If a language is regular, then it can be generated by some finite-state automaton; and if it is generated by a finite-state automaton, then it is a regular language. Deriving the language of an FSA define the language Ls terminating at state s; write one-step equations for all Ls; Solve the equations. Arden’s rule : If L1 does not contain the empty string, L2 = L1L2 + L3 → L2 = L1*L3 L2 = L2L1 + L3 → L2 = L3L1* x y z g b a 14

Properties of a FSA model
Reachability: A state s is reachable from the initial state x0 if there exists a sequence u such that f(x0, u) = s. Blocking-free: For any reachable state, there exists a sequence of transitions leading to a final state. Deadlock: a state s is called a deadlock state if there is no feasible event from it. Livelock: a subset of states that are mutually reachable but with no event going out of the set. Example : FSA = (0, a, 1), (1, g, 5), (1, a, 3), (1, b, 2), (2, g, 0), (3, b, 4), (4, a, 3), (4, g, 4), x0 = 0, F = {2}. 15

FSA models of queueing systems
B a a a I 1 2 b d d d m l Queueing perspective D Server perspective I = idle, B = busy D = down 16