0% found this document useful (0 votes)
36 views20 pages

Lesson 04

The document discusses regular expressions (RE) for various languages defined over the alphabet Σ={a, b}, including those starting with 'a', ending with 'b', and containing specific patterns. It also explains the concept of equivalent regular expressions, regular languages, and finite automata (FA), providing examples and definitions throughout. Additionally, it highlights the distinction between regular and non-regular languages, such as palindromes, and introduces the structure of finite automata with transition tables and diagrams.

Uploaded by

kashafbutt72
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views20 pages

Lesson 04

The document discusses regular expressions (RE) for various languages defined over the alphabet Σ={a, b}, including those starting with 'a', ending with 'b', and containing specific patterns. It also explains the concept of equivalent regular expressions, regular languages, and finite automata (FA), providing examples and definitions throughout. Additionally, it highlights the distinction between regular and non-regular languages, such as palindromes, and introduces the structure of finite automata with transition tables and diagrams.

Uploaded by

kashafbutt72
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 20

Task

 Determine the RE of the language, defined over


Σ={a, b} of words beginning with a.
Solution:
The required RE may be a(a+b)*
 Determine the RE of the language, defined over
Σ={a, b} of words beginning and ending with a.
Solution: a+ a(a+b)* a or a(a+b)*+a
 Determine the RE of the language, defined over
Σ={a, b} of words beginning with and ending in
same letter.
Solution:
The required RE may be (a+b)+a(a+b)*a+b(a+b)*b1
Task Continued …
 Determine the RE of the language, defined over
Σ={a, b} of words ending in b.
Solution:
The required RE may be
(a+b)*b.
 Determine the RE of the language, defined over
Σ={a, b} of words containing exactly three b’s.
Solution: a*ba*ba*b or ba*ba*b or ba*ba*ba*
 Determine the RE of the language, defined over
Σ={a, b} of words not ending in a.
Solution: The required RE may be
2
(a+b)*b + Λ Or ((a+b)*b)*
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))*

3
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.
Note: Concatenation of two even languages must be even.

Concatenation of two odd length languages must be even.

4
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.

5
Note

 If r =(aa + bb) and r2=( a + b) then


1
1. r1+r2 =(aa + bb) + (a + b)
2. r1r2 =(aa + bb) (a + b)
=(aaa + aab + bba +
bbb)
3. (r1)* =(aa + bb)*

6
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.

7
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.

8
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)*

9
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.

10
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).

11
Irregular Languages

A language is said to be non-regular


language, if it cannot be expressed by any
regular expression.
Examples:
1- PALINDROME Language (RE does not
exist)
TASK:
Determine all other languages for
which RE does not exist.
12
Introduction to Finite Automaton
(FA)
 Consider the following game board that
contains 64 boxes

13
Finite Automaton Continued …

There are some pieces of paper. Some are


of white color while others are of black
color. The number of pieces of paper are 64
or less. The possible arrangements under
which these pieces of paper can be placed
in the boxes, are finite. To start the game,
one of the arrangements is supposed to be
initial arrangement. There is a pair of dice
that can generate the numbers 2,3,4,…12 .
For each number generated, a unique
arrangement is associated among the
possible arrangements.
14
Finite Automaton Continued …

It shows that the total number of


transition rules of arrangement are finite.
One and more arrangements can be
supposed to be the winning arrangement.
It can be observed that the winning of the
game depends on the sequence in which
the numbers are generated.
This structure of game can be
considered to be a finite automaton.

15
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.

16
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

17
Example Continued …

 These transitions can be expressed by


the following table called transition
table
Old States New States

Reading a Reading b
x- z y
y y y
z+ z z

18
Note

 It may be noted that the information of an


FA, given in the previous table, can also
be depicted by the following diagram,
called the transition diagram, of the
given FA a,b

y
b

x–
a,b
a
Z+ 19
Remark

 The previous transition diagram is an FA


accepting the language of strings, defined
over Σ={a, b}, starting with a. It may
be noted that this language may be
expressed by the regular expression
a (a + b)*

20

You might also like