Lesson 4
Lesson 4
Lecture
#4
Theory Of Automata
1
An important example
The Language EVEN-EVEN :
Language of strings, defined over Σ={a,
b} having even number of a’s and
even number of b’s. i.e.
EVEN-EVEN = {Λ, aa, bb,
aaaa,aabb,abab, abba, baab, baba, bbaa,
bbbb,…} ,
its regular expression can be written as
(aa+bb+(ab+ba)(aa+bb)*(ab+ba))*
2
Note
It is important to be clear about the
difference of the following regular
expressions
r1=a*+b*
r2=(a+b)*
Here r1 does not generate any string
of concatenation of a and b, while r2
generates such strings.
3
Equivalent Regular Expressions
Definition:
Two regular expressions are said to be
equivalent if they generate the same
language.
Example:
Consider the following regular
expressions
r1= (a + b)* (aa + bb)
r2= (a + b)*aa + ( a + b)*bb then
both regular expressions define the
language of strings ending in aa or bb. 4
Note
5
Regular Languages
Definition:
The language generated by any regular
expression is called a regular language.
It is to be noted that if r1, r2 are regular
expressions, corresponding to the
languages L1 and L2 then the languages
generated by r1+ r2, r1r2( or r2r1) and
r1*( or r2*) are also regular languages.
6
Note
It is to be noted that if L1 and L2 are expressed by
r1and r2, respectively then the language
expressed by
1) r1+ r2, is the language L1 + L2 or L1 U L2
2) r1r2, , is the language L1L2, of strings obtained
by prefixing every string of L1 with every string of
L2
3) r1*, is the language L1*, of strings obtained by
concatenating the strings of L, including the null
string.
7
Example
If r1=(aa+bb) and r2=(a+b) then the language of
strings generated by r1+r2, is also a regular
language, expressed by (aa+bb)+(a+b)
If r1=(aa+bb) and r2=(a+b) then the language
of strings generated by r1r2, is also a regular
language, expressed by (aa+bb)(a+b)
If r=(aa+bb) then the language of strings
generated by r*, is also a regular language,
expressed by (aa+bb)*
8
All finite languages are regular.
Example:
Consider the language L, defined over
Σ={a,b}, of strings of length 2, starting
with a, then
L={aa, ab}, may be expressed by the
regular expression aa+ab. Hence L, by
definition, is a regular language.
9
Note
It may be noted that if a language
contains even thousand words, its RE may
be expressed, placing ‘ + ’ between all the
words.
Here the special structure of RE is not
important.
Consider the language L={aaa, aab, aba,
abb, baa, bab, bba, bbb}, that may be
expressed by a RE
aaa+aab+aba+abb+baa+bab+bba+bbb,
which is equivalent to (a+b)(a+b)(a+b). 10
Defining Languages (continued)…
Method 4 (Finite Automaton)
Definition:
A Finite automaton (FA), is a collection of the
followings
1) Finite number of states, having one initial
and some (maybe none) final states.
2) Finite set of input letters (Σ) from which input
strings are formed.
3) Finite set of transitions i.e. for each state and
for each input letter there is a transition
showing how to move from one state to
another.
11
Example
Σ = {a,b}
States: x, y, z where x is an initial state and z
is final state.
Transitions:
1. At state x reading a go to state z,
2. At state x reading b go to state y,
3. At state y reading a, b go to state y
4. At state z reading a, b go to state z
12
Example Continued …
These transitions can be expressed by
the following table called transition table
Reading a Reading b
x- z y
y y y
z+ z z
13
Summing Up
Regular expression of EVEN-EVEN
language, Difference between a* + b* and
(a+b)*, Equivalent regular expressions;
sum, product and closure of regular
expressions; regular languages, finite
languages are regular, introduction to
finite automaton, definition of FA,
transition table, transition diagram
14