1 / 14

Recap: Transformation NFA  DFA

s i. s 1. e. e. s 2. e. . p i. s. >. . p 1. . p 2. Recap: Transformation NFA  DFA. p 1. s. p 2. s 1. >. . p m. s n. Closure Under Set Operations. Theorem . Let L and M two regular languages, then the following languages are also regular:. L  M L C L  M

vance-drake
Download Presentation

Recap: Transformation NFA  DFA

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. si s1 e e . . . s2 . . . . . . e  pi s >  p1  p2 Recap: Transformation NFA  DFA p1 s p2 s1 >  pm sn

  2. Closure Under Set Operations Theorem. Let L and M two regular languages, then the following languages are also regular: • L  M • LC • L  M • L – M • LM • L*

  3. Regular Expressions A regular expression is defined inductively over the alphabet  { (, ), e, , , *} as follows: • , e, and each character in  are regular expressions (step 0) • If  and  are regular expressions then: • (  ) • () • * • are also regular expressions (inductive step) • No other string over the alphabet  { (, ), e, , , *} is a regular expression • Exceptions: , *, +, k (for afixed k > 0)

  4. Language Representing Regular Expressions • We define a mapping from a regular expression  to a language L() as follows: • Step 0: • L() = • L(e) = • L() = for each    • Inductive step: • L((  )) = • L(()) = • L(*) = {} {e} {} L()  L() L()L() L()*

  5. Example (1) Example 1. Find L((ab*)a) L(ab*a) = L(a)L(b)*L(a) = {w : w is of the form abna with n = 0, 1, 2,…} Example 2. Find L((a(a b)*)). L(a(a b)*) = L(a)(L(a)  L(b))* = {aw : w is a word in }

  6. Example (2) Find the regular expression for the language L in the alphabet {a,b} such that the words in L contains the substring aaa Find the regular expression for the language L in the alphabet {a,b} such that the words in L contains the substring aaa or bbb

  7. Regular languages regular expressions Main Theorem About Finite Automata (Kleene) (1) Given a finite automata A, there is a regular expression expr such that L(A) = L(expr) (2) Given a regular expression expr, there is a finite automata A such that L(A) = L(expr)

  8. Theorem 1.54 Input: a regular expression expr Output: a finite automaton accepting L(expr) • Convert any step-0 element (any of the characters in ,  or e) occurring in expr to a finite automaton accepting this element • Apply the theorem about closure under set operations to every • Union • Concatenation • Kleene star

  9. Example Obtain a finite automaton accepting the regular expression: ((a ab)*ba)*. The impact of this Algorithm is a dream (or a nightmare?) of programmers: given the specification of a language there is an algorithm that recognizes it automatically. Example: Yak and Lex tools in Unix.

  10. Lemma 1.60 Input: a finite automaton A Output: a regular expression expr such that L(expr) = L(A) • Assumptions about the automaton A: • A has a single favorable state • There are no transitions directed to the initial state • There are no transitions starting at the favorable state • Nodes will be labeled 1, 2, …, n, where 1 is the initial state and n is the favorable state Definition. An generalized NFA is am NFA in which the arrows are labeled by regular expressions. (Unlike regular NFAs in which transitions are only labeled by characters in )

  11. expr1 expr2 … exprn expr1 expr2 … exprn Construction(1) for every pair of nodes such that there is more than one transition from one to the other one:

  12. expr3 expr1 expr2 expr1 (expr2)* expr3 Construction(2) • for every pair of nodes such that there is an intermediate node connecting them:

  13. Example a a r r s q q > b b b b

  14. Homework Friday Sep. 21 • 1.12 • 1.21 (a) • 1.28 (c) • 1.43 (either picture and an accompanying explanation or formal proof are fine) • 1.60 (either state diagram or formal definition are fine)

More Related