1 / 16

Learning objectives : Introduce finite state automata

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 :

norman
Download Presentation

Learning objectives : Introduce finite state automata

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Plan • Languages • Finite state automata 2

  3. Languages 3

  4. 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 finitelengthendingwitha} L4 = {all possible sequences of a queue} 4

  5. 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

  6. 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

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

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

  9. Finite-state automata 9

  10. 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

  11. 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.

  12. Example State transition diagram Definition: 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: ??? a b g x a y g b a g z b 12

  13. 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) = ??? a b g x a y g b a g z b 13

  14. 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* a b g x a y g b a g z b 14

  15. 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

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

More Related