Title: Recap: Transformation NFA ? DFA
1Recap Transformation NFA ? DFA
p1
s
p2
s1
?
gt
pm
sn
2Closure Under Set Operations
Theorem. Let L and M two regular languages, then
the following languages are also regular
3Regular 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 a fixed k gt 0)
4Language 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(?)
5Example (1)
Example 1. Find L((ab)a)
L(aba)
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 ?
6Example (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
7Main 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)
8Theorem 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
9Example
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.
10Lemma 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 ?)
11Construction (1)
for every pair of nodes such that there is more
than one transition from one to the other one
12Construction (2)
for every pair of nodes such that there is an
intermediate node connecting them
13Example
a
a
r
r
s
q
q
gt
b
b
b
b
14Homework 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)