Download presentation
Presentation is loading. Please wait.
Published byStephen Higgins Modified over 9 years ago
1
Lecture 5UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 5
2
UofH - COSC 3340 - Dr. Verma 2 Regular expressions A third way to view regular languages. A language generator model instead of language acceptor. Definition of Regular expressions: The smallest class of strings over {(, ), *, , , } that includes: 1. (basic reg. exp.) 2. for every in . (basic reg. exp.) and is closed under , * and
3
Lecture 5UofH - COSC 3340 - Dr. Verma 3 Language generated by a regular expression r Notation: – L(r) denotes language generated by reg. exp. r. L( ) = L( ) = { } L( ) = L( ) L( ) L( ) = L( )L( ) L( *) = (L( ))*
4
Lecture 5UofH - COSC 3340 - Dr. Verma 4 Examples of regular expressions Note: We drop parentheses when not required. – Example: (a b) is written a b Let = {a,b} The following are regular expressions: – , a, b – *, a*, b*, ab, a b – (a b)*, a*b*, (ab)* – (a b)*ab, etc. Are the following regular expressions? – a, * a, a*b, a *b
5
Lecture 5UofH - COSC 3340 - Dr. Verma 5 Some exercises on regular expressions Example: What is L((a b)*a(a b)*)? – Ans: {w in {a, b}* | w contains at least one a} Write regular expressions for: 1. {w in {a,b}* | |w| is odd }. 2. {w in {a,b}* | w does not have ab as a substring}. 3. {w in {a,b,c}* | no b in w can come before any c in w}.
6
Lecture 5UofH - COSC 3340 - Dr. Verma 6 Tips for Regular Expressions Regular expressions are harder to design for: Languages that have complementation in their definition. Example: Exercise 2 on previous slide. Languages that have intersection in their definition. The reason is that we need to express these operations in terms of , and *
7
Lecture 5UofH - COSC 3340 - Dr. Verma 7 Regular expressions generate exactly the class of regular languages. Theorem: – (a) For every regular expression there is an equivalent NFA – (b) For every DFA there is an equivalent regular expression. Proof of (a): – For , the NFA is: – For , the NFA is: – For composite regular expressions: use closure under , and * Regular expressions versus FA's
8
Lecture 5UofH - COSC 3340 - Dr. Verma 8 Parse Tree for (a U b)* b b * Uab
9
Lecture 5UofH - COSC 3340 - Dr. Verma 9 Example: NFA for (a U b)*b ab aUb
10
Lecture 5UofH - COSC 3340 - Dr. Verma 10 Example (contd.) : NFA for (a U b)*b (aUb)*
11
Lecture 5UofH - COSC 3340 - Dr. Verma 11 Example (contd.) : NFA for (a U b)*b (a U b)*b
12
Lecture 5UofH - COSC 3340 - Dr. Verma 12 DFA regular expression Easier to do: – DFA GNFA regular expression. GNFA (Generalized NFA) – labels of transitions can be regular expressions. Need special GNFA that satisfies: (1) start state has no incoming transition (2) only one final state (3) final state has no outgoing transition.
13
Lecture 5UofH - COSC 3340 - Dr. Verma 13 DFA regular expression (contd.) Idea: – Convert DFA special GNFA. – Eliminate all states, except start and final state, one state at a time. – Output the label on the single transition left at the end.
14
Lecture 5UofH - COSC 3340 - Dr. Verma 14 Eliminating state q {rip} R4R4 R3R3 R1R1 (R 1 )(R 2 )* (R 3 ) (R 4 ) R2R2 qiqi q rip qjqj qiqi qjqj
15
Lecture 5UofH - COSC 3340 - Dr. Verma 15 Constructing regular expression. DFA L = {w in {a, b}* | w has odd number of b's }
16
Lecture 5UofH - COSC 3340 - Dr. Verma 16 Constructing regular expression (contd.) Added: a new start state and a new final state with empty transitions
17
Lecture 5UofH - COSC 3340 - Dr. Verma 17 Constructing regular expression (contd.) q rip We take out the q rip state and it leaves us with a 3 state Finite Automata Before we take out q rip, we have to see all the paths to the q rip state and all possible transitions. Eliminate states one-by-one
18
Lecture 5UofH - COSC 3340 - Dr. Verma 18 Constructing regular expression (contd.) q rip We take out the q rip state and we are left with the regular expression
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.