Lesson 01
Lesson 01
Theory Of Automata
1
Text and Reference Material
2
What does automata mean?
3
Theory of Computation
6
Alphabets
Definition:
A finite non-empty set of symbols (letters),
is called an alphabet. It is denoted by Σ
( Greek letter sigma).
Example:
Σ={a,b}
Σ={0,1} //important as this is the
language //which the computer
understands.
Σ={i,j,k}
7
Alphabets & Strings
Alphabets
A finite non-empty set of symbols
(called letters), is called an alphabet. It is
denoted by Σ ( Greek letter sigma).
Example
Σ = {a,b}, Σ = {i,j,k}
Strings
Concatenation of finite number of
letters from the alphabet is called a string.
Example
If Σ = {a,b} then
a, abab, aaabb, ababababababababab
are strings.
NOTE:
9
Strings
Definition:
Concatenation of finite symbols from
the alphabet is called a string.
Example:
If Σ= {a,b} then
a, abab, aaabb,
ababababababababab
10
NOTE:
Definition:
Words are strings belonging to
some language.
Example:
If Σ= {x} then a language L can
be defined as
L={xn : n=1,2,3,…..} or L={x,xx,xxx,
….}
Here x,xx,… are the words of L
12
NOTE:
13
Valid/In-valid alphabets
14
This string can be tokenized in two
different ways
(Ba), (bab), (B)
(B), (abab), (B)
Which shows that the second group
cannot be identified as a string, defined
over
Σ = {a, b}.
15
As when this string is scanned by the
compiler (Lexical Analyzer), first
symbol B is identified as a letter
belonging to Σ, while for the second
letter the lexical analyzer would not be
able to identify, so while defining an
alphabet it should be kept in mind that
ambiguity should not be created.
16
Remarks:
18
Length of Strings
Definition:
The length of string s, denoted by |s|, is
the number of letters in the string.
Example:
Σ={a,b}
s=ababa
|s|=5
19
Example:
Σ= {B, aB, bab, d}
s=BaBbabBd
Tokenizing=(B), (aB), (bab), (d)
|s|=4
20
Reverse of a String
Definition:
The reverse of a string s denoted by
Rev(s) or sr, is obtained by writing the
letters of s in reverse order.
Example:
If s=abc is a string defined over
Σ={a,b,c}
then Rev(s) or sr = cba
21
Example:
Σ= {B, aB, bab, d}
s=BaBbabBd
Rev(s)=dBbabaBB
22
Lecture 2
Defining Languages
23
Example:
The language L of strings of odd length,
defined over Σ={a}, can be written as
L={a, aaa, aaaaa,…..}
Example:
The language L of strings that does not
start with a, defined over Σ={a,b,c}, can
be written as
L={b, c, ba, bb, bc, ca, cb, cc, …}
24
Example:
The language L of strings of length 2,
defined over Σ={0,1,2}, can be written as
L={00, 01, 02,10, 11,12,20,21,22}
Example:
The language L of strings ending in 0,
defined over Σ ={0,1}, can be written as
L={0,00,10,000,010,100,110,…}
25
Example: The language EQUAL, of strings
with number of a’s equal to number of b’s,
defined over Σ={a,b}, can be written as
{Λ ,ab,aabb,abab,baba,abba,…}
Example: The language EVEN-EVEN, of
strings with even number of a’s and even
number of b’s, defined over Σ={a,b}, can
be written as
{Λ, aa, bb, aaaa,aabb,abab, abba, baab,
baba, bbaa, bbbb,…}
26
Example: The language INTEGER, of
strings defined over
Σ={-,0,1,2,3,4,5,6,7,8,9}, can be written
as
INTEGER = {…,-2,-1,0,1,2,…}
Example: The language EVEN, of stings
defined over Σ={-,0,1,2,3,4,5,6,7,8,9},
can be written as
EVEN = { …,-4,-2,0,2,4,…}
27
Example: The language {anbn }, of strings
defined over Σ={a,b}, as
{an bn : n=1,2,3,…}, can be written as
{ab, aabb, aaabbb,aaaabbbb,…}
29
Example: The language
DOUBLEFACTORIAL, of strings defined
over Σ={a, b}, as
{an!bn! : n=1,2,3,…}, can be written as
{ab, aabb, aaaaaabbbbbb,…}
Example: The language SQUARE, of strings
defined over Σ={a}, as
n2
{a : n=1,2,3,…}, can be written as
{a, aaaa, aaaaaaaaa,…}
30
Example: The language
DOUBLESQUARE, of strings defined
over Σ={a,b}, as
n2 n2
{a b : n=1,2,3,…}, can be written
as
{ab, aaaabbbb,
aaaaaaaaabbbbbbbbb,…}
31
Example: The language PRIME, of
strings defined over Σ={a}, as
{ap : p is prime}, can be written as
{aa,aaa,aaaaa,aaaaaaa,aaaaaaaaaa
a…}
32
An Important language
PALINDROME:
The language consisting of Λ and the
strings s defined over Σ such that
Rev(s)=s.
It is to be denoted that the words of
PALINDROME are called palindromes.
Example:For Σ={a,b},
PALINDROME={Λ , a, b, aa, bb, aaa,
aba, bab, bbb, ...}
33
Remark
34
Note
36
which shows that there are as many
palindromes of length 2n as there are the
strings of length n i.e. the required
number of palindromes are 2n.
37
To calculate the number of
palindromes of length (2n-1) with ‘a’ as
the middle letter, consider the
following diagram,
38
which shows that there are as many
palindromes of length 2n-1 as there are
the strings of length n-1 i.e. the required
number of palindromes are 2n-1.
Similarly the number of palindromes of
length 2n-1, with ‘ b ’ as middle letter, will
be 2n-1 as well. Hence the total number of
palindromes of length 2n-1 will be 2n-1 +
2n-1 = 2 (2n-1)= 2n .
39
Exercise
40
SummingUp Lecture-1
41