COSC 3340: Introduction to Theory of Computation - PowerPoint PPT Presentation

About This Presentation
Title:

COSC 3340: Introduction to Theory of Computation

Description:

Some exercises on regular expressions. Example: What is L((a b)*a(a b) ... 2. {w in {a,b}* | w does not have ab as a substring} ... – PowerPoint PPT presentation

Number of Views:312
Avg rating:3.0/5.0
Slides: 19
Provided by: Duke9
Learn more at: https://www2.cs.uh.edu
Category:

less

Transcript and Presenter's Notes

Title: COSC 3340: Introduction to Theory of Computation


1
COSC 3340 Introduction to Theory of Computation
  • University of Houston
  • Dr. Verma
  • Lecture 5

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
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
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), ab, (ab)
  • (a ? b)ab, etc.
  • Are the following regular expressions?
  • ? ? a, a, ab, ab

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
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
Regular expressions versus FA's
  • 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

8
Parse Tree for (a U b) ? b
9
Example NFA for (a U b)b
10
Example (contd.) NFA for (a U b)b
(aUb)
11
Example (contd.) NFA for (a U b)b
(a U b)b
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
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
Eliminating state qrip
R4
qi
qj
R1
R3
qrip
(R1 )(R2) (R3) ? (R4)
R2
qi
qj
15
Constructing regular expression.
DFA L w in a, b w has odd number of b's
16
Constructing regular expression (contd.)
Added a new start state and a new final state
with empty transitions
17
Constructing regular expression (contd.)
Eliminate states one-by-one
qrip
Before we take out qrip, we have to see all the
paths to the qrip state and all possible
transitions.
We take out the qrip state and it leaves us with
a 3 state Finite Automata
18
Constructing regular expression (contd.)
qrip
We take out the qrip state and we are left with
the regular expression
Write a Comment
User Comments (0)
About PowerShow.com