Automata Theory

Download as pdf or txt
Download as pdf or txt
You are on page 1of 27

LECTURE 1

(AUTOMATA THEORY)
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, ...}
REMARK

 There are as many palindromes of length 2n as there are of length 2n-1.

 To prove the above remark, the following is to be noted:


NOTE

 Number of strings of length ‘m’ defined over alphabet of ‘n’ letters is nm.
 Examples:
 The language of strings of length 2, defined over Σ={a,b} is L={aa, ab, ba, bb} i.e. number of
strings = 22
 The language of strings of length 3, defined over Σ={a,b} is L={aaa, aab, aba, baa, abb, bab,
bba, bbb} i.e. number of strings = 23
 To calculate the number of palindromes of length
(2n), consider the following diagram,
 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.
 To calculate the number of palindromes of length
(2n-1) with ‘a’ as the middle letter, consider the
following diagram,
 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 .
KLEENE STAR CLOSURE

 Given Σ, then the Kleene Star Closure of the


alphabet Σ, denoted by Σ*, is the collection of all
strings defined over Σ, including Λ.

 It is to be noted that Kleene Star Closure can be


defined over any set of strings.
EXAMPLES
 If Σ = {x}
Then Σ* = {Λ, x, xx, xxx, xxxx, ….}

 If Σ = {0,1}
Then Σ* = {Λ, 0, 1, 00, 01, 10, 11, ….}

 If Σ = {aaB, c}
Then Σ* = {Λ, aaB, c, aaBaaB, aaBc, caaB, cc, ….}
NOTE

 Languages generated by Kleene Star Closure of set of strings, are infinite


languages.

 (By infinite language, it is supposed that the language contains infinite many
words, each of finite length).
PLUS OPERATION (+)

 Plus Operation is same as Kleene Star Closure


except that it does not generate Λ (null string),
automatically.
 Example:
 If Σ = {0,1}
Then Σ+ = {0, 1, 00, 01, 10, 11, ….}
 If Σ = {aab, c}
Then Σ+ = {aab, c, aabaab, aabc, caab, cc, ….}
TASK

Q1)Is there any case when S+ contains Λ? If yes then


justify your answer.
REMARK

 It is to be noted that Kleene Star can also be


operated on any string i.e. a* can be considered to be
all possible strings defined over {a}, which shows that
a* generates Λ, a, aa, aaa, …

 It may also be noted that a+ can be considered to be


all possible non empty strings defined over {a}, which
shows that a+ generates
a, aa, aaa, aaaa, …
DEFINING LANGUAGES CONTINUED…

 Recursive definition of languages:

 The following three steps are used in recursive


definition
1. Some basic words are specified in the language.
2. Rules for constructing more words are defined in
the language.
3. No strings except those constructed in above, are
allowed to be in the language.
EXAMPLE

 Defining language of INTEGER

 Step 1: 1 is in INTEGER.

 Step 2: If x is in INTEGER then x+1 and x-1 are


also in INTEGER.

 Step 3: No strings except those constructed in above,


are allowed to be in INTEGER.
EXAMPLE

 Defining language of EVEN

 Step 1: 2 is in EVEN.

 Step 2: If x is in EVEN then x+2 and x-2 are also in


EVEN.

 Step 3: No strings except those constructed in above,


are allowed to be in EVEN.
EXAMPLE

 Defining the language factorial

 Step 1: As 0!=1, so 1 is in factorial.

 Step 2: n!=n*(n-1)! is in factorial.

 Step 3: No strings except those constructed in above,


are allowed to be in factorial.
DEFINING THE LANGUAGE
PALINDROME, DEFINED OVER Σ = {A,B}

 Step 1: a and b are in PALINDROME

 Step 2: if x is palindrome, then s(x)Rev(s) and xx will


also be palindrome, where s belongs to Σ*

 Step 3: No strings except those constructed in above,


are allowed to be in palindrome
DEFINING THE LANGUAGE {ANBN },
N=1,2,3,… , OF STRINGS DEFINED OVER
Σ={A,B}

 Step 1: ab is in {anbn}

 Step 2: if x is in {anbn}, then axb is in {anbn}

 Step 3: No strings except those constructed in above, are allowed to be in


{anbn}
DEFINING THE LANGUAGE L, OF
STRINGS ENDING IN A , DEFINED OVER
Σ={A,B}

 Step 1: a is in L

 Step 2: if x is in L then s(x) is also in L, where s


belongs to Σ*

 Step 3: No strings except those constructed in


above, are allowed to be in L
DEFINING THE LANGUAGE L, OF
STRINGS BEGINNING AND ENDING IN
SAME LETTERS , DEFINED OVER Σ={A, B}

 Step 1: a and b are in L

 Step 2: (a)s(a) and (b)s(b) are also in L, where s


belongs to Σ*

 Step 3: No strings except those constructed in above,


are allowed to be in L
DEFINING THE LANGUAGE L, OF
STRINGS CONTAINING AA OR BB ,
DEFINED OVER Σ={A, B}

 Step 1: aa and bb are in L

 Step 2: s(aa)s and s(bb)s are also in L, where s


belongs to Σ*

 Step 3: No strings except those constructed in above,


are allowed to be in L
DEFINING THE LANGUAGE L, OF
STRINGS CONTAINING EXACTLY AA,
DEFINED OVER Σ={A, B}

 Step 1: aa is in L

 Step 2: s(aa)s is also in L, where s belongs to b*

 Step 3: No strings except those constructed in above,


are allowed to be in L
 Q2) Prove that for any set of strings S
(S+)*=(S*)*

Solution: In general Λ is not in S+ , while Λ does


belong to S*. Obviously Λ will now be in (S+)*, while
(S*)* and S* generate the same set of strings.
Hence (S+)*=(S*)*.
 ii) (S+)+=S+

Solution: since S+ generates all possible strings that


can be obtained by concatenating the strings of S,
so (S+)+ generates all possible strings that can be
obtained by concatenating the strings of S+ , will
not generate any new string. Hence (S+)+=S+
 Is (S*)+ =(S+)*

 Solution: since Λ belongs to S* ,so Λ will belong to


(S*)+ as member of S* .Moreover Λ may not belong
to S+, in general, while Λ will automatically belong
to (S+)*. Hence
(S*)+ =(S+)*

You might also like