1 / 18

CSI 3104 /Winter 2006 : Introduction to Formal Languages Chapter 9: Regular Languages.

CSI 3104 /Winter 2006 : Introduction to Formal Languages Chapter 9: Regular Languages. Chapter 9: Regular Languages A regular language is a language that can be defined by a regular expression. We study some properties of the class of regular languages. Chapter 9: Regular Languages.

fabian
Download Presentation

CSI 3104 /Winter 2006 : Introduction to Formal Languages Chapter 9: Regular Languages.

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. CSI 3104 /Winter 2006: Introduction to Formal Languages Chapter 9: Regular Languages. Chapter 9: Regular Languages A regular language is a language that can be defined by a regular expression. We study some properties of the class of regular languages. Dr. Nejib Zaguia CSI3104-W06

  2. Chapter 9: Regular Languages. Example: Every finite language is regular Theorem: Let L1 and L2 be two regular languages. The languages L1+L2, L1L2, and L1* are regular languages. Proof 1: If L1 and L2 are regular languages, then there exist regular expressions r1 and r2 that define them. • The language associated with r1+r2 is L1+L2. • The language associated with r1r2 is L1L2. • The language associated with r1*is L1*. L1+L2, L1L2, and L1* can be defined by regular expressions Thus, by definition, they are regular languages. Dr. Nejib Zaguia CSI3104-W06

  3. – + – + Chapter 9: Regular Languages. Proof 2: using Kleene’s theorem Because L1 and L2 are regular languages, there are regular expressions r1 et r2 that define them. By Kleene’s theorem, there are transition graphs that accept them. We can transform these transition graphs into transition graphs with one start state and one final state. Let TG1 and TG2 be two transition graphs of this form that accept L1 et L2. Dr. Nejib Zaguia CSI3104-W06

  4. L L – – TG1 TG2 + + L – 2 TG1 1 TG2 + Chapter 9: Regular Languages. A transition graph that accepts L1+L2. A transition graph that accepts L1L2. Dr. Nejib Zaguia CSI3104-W06

  5. TG1 L L + Chapter 9: Regular Languages. There exist transition graphs that accept L1+L2, L1L2, and L1*. Thus, there are regular expressions that define them (by Kleene’s theorem). Thus L1+L2, L1L2 and L1* are regular languages (by definition). A transition graph that accepts L1* Dr. Nejib Zaguia CSI3104-W06

  6. a,b a a + – b b a,b a,b a,b aba – + a,b a,b aba L L – + Chapter 9: Regular Languages. Words that begin and end with the same letter. a(a+b)*a + b(a+b)*b TG1 TG2 Words that contain aba. (a+b)*aba(a+b)* Dr. Nejib Zaguia CSI3104-W06

  7. L L – L – b a a,b a,b a,b aba b a + a,b L + Chapter 9: Regular Languages. (a+b)*aba(a+b)* + a(a+b)*a + b(a+b)*b Dr. Nejib Zaguia CSI3104-W06

  8. a,b a a a,b a,b 1 – aba L 2 b b L L a,b + Chapter 9: Regular Languages. (a(a+b)*a + b(a+b)*b)((a+b)*aba(a+b)*) Dr. Nejib Zaguia CSI3104-W06

  9. a,b a a L + – b b L – a,b a,b a,b L aba L L L + Chapter 9: Regular Languages. (a(a+b)*a + b(a+b)*b)* ((a+b)*aba(a+b)*)* Dr. Nejib Zaguia CSI3104-W06

  10. Chapter 9: Regular Languages. Definition: If L is a language over the alphabet , the complement of L, written L’ is the language of all words on  that are not words in L. (L’ = * - L). Example: S={a,b} L= all words containing aa. L’=? b*(abb*)*(a+Λ) Remark: (L’)’ = L. Dr. Nejib Zaguia CSI3104-W06

  11. Chapter 9: Regular Languages. Theorem: If L is a regular language, then L’ is a regular language. Proof: There exists a finite automaton that accepts L (by Kleene’s theorem). All words accepted by this FA end in a final state. All words that are not accepted end in a state that is not a final state. We reverse the final status of each state: all final states become non-final states, and all non-final states become final states. The new finite automaton accepts exactly those words that are not in L. By Kleene’s theorem, L’ is regular. Dr. Nejib Zaguia CSI3104-W06

  12. a,b b + a – a,b a b a,b a,b b a + + + a,b a b + a,b Chapter 9: Regular Languages. Example: L={aba,abb} L’= * - {aba,abb} Dr. Nejib Zaguia CSI3104-W06

  13. Chapter 9: Regular Languages. Theorem: Let L1 and L2 be two regular languages. Then L1L2 is a regular language. Proof: L1L2 = (L1’ +L2’)’. If L1 and L2 are regular, then L1’ et L2’ are also regular. If L1’ and L2’ are regular, then L1’+L2’ is regular. If L1’+L2’ is regular, then (L1’+L2’)’ is regular. Thus, L1L2 is a regular language. Dr. Nejib Zaguia CSI3104-W06

  14. b a,b a a – + b b b a + a Chapter 9: Regular Languages. L1: words with double a L2: words with an even number of a’s aaaL1 abaL2 Dr. Nejib Zaguia CSI3104-W06

  15. a,b b a a x2+ x3 x1+ b b b a y1– y2+ a Chapter 9: Regular Languages. L’1 L2’ Dr. Nejib Zaguia CSI3104-W06

  16. z3+ b z1+ a a b b b z2+ z6+ a b a z3 b z1– z4+ a a b a b a z5 b z2 z6 b a b a z4 a a z5+ b Chapter 9: Regular Languages. L1’+L2’ (L1’+L2’)’=L1L2 Dr. Nejib Zaguia CSI3104-W06

  17. Chapter 9: Regular Languages. Theorem: Let L1 and L2 be two regular languages. Then L1L2 is also a regular language. Proof 2: By constructive algorithm. There exist finite automata that accept L1 and L2 (by Kleene’s theorem). Recall the constructive algorithm for building a finite automaton for L1+L2 from the finite automata for L1 and L2. We build the same finite automaton except for the final states. Each state in the new automaton represents a pair of states, one from each of the original finite automata, {xi, yj}. A state in the new machine is final if both of these states are final states in the original machines. Dr. Nejib Zaguia CSI3104-W06

  18. What is difference in building • Union machine L1 L2 • Intersection machine L1L2 • Machine for L1’ L2 • Machine for L1L2’ • Machine for (L1’  L2)  (L1 L2’) • (what is the last one for?) • Build FA3 using xi OR yj states Dr. Nejib Zaguia CSI3104-W06

More Related