0% found this document useful (0 votes)
111 views35 pages

Fouzia Jabeen: Theory of Automata

The document provides an overview of automata theory and defines key concepts such as alphabets, strings, words, languages, and operations like concatenation and Kleene star closure. It discusses different ways to define languages such as descriptively, recursively, and using regular expressions. Specific examples are given of languages like EVEN, INTEGER, PALINDROME, and languages defined by expressions like anbn and an2.

Uploaded by

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

Fouzia Jabeen: Theory of Automata

The document provides an overview of automata theory and defines key concepts such as alphabets, strings, words, languages, and operations like concatenation and Kleene star closure. It discusses different ways to define languages such as descriptively, recursively, and using regular expressions. Specific examples are given of languages like EVEN, INTEGER, PALINDROME, and languages defined by expressions like anbn and an2.

Uploaded by

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

Theory of Automata

Chapter 1

Fouzia Jabeen
Automata
 It is the plural of automaton, and it means
“something that works automatically”
 There are two types of languages
Formal Languages (Syntactic languages)
Informal Languages (Semantic languages)
 Automata theory deals with definitions, properties
of different computation models e.g.
Finite automata (text processing, compilers, hardware desi)
Context free grammers (Programming lang, Artificial intelli)
Turing machines (Abstract model of simple PC)
Alphabets
 Alphabets: A finite non-empty set of
symbols (called letters), is called an
alphabet. It is denoted by Σ ( Greek letter
sigma).
 Example is Σ = {a,b}
 Σ = {0,1} (important as this is the language

which the computer understands.)


 Σ = {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
 Empty string or null string
 Sometimes a string with no symbol at all is used,

denoted by (Small Greek letter Lambda) λ or


(Capital Greek letter Lambda) Λ, is called an empty
string or null string.
 The capital lambda will mostly be used to denote

the empty string, in further discussion.


Words
 Words are strings belonging to some language.
 For 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
 All words are strings, but not all strings are words.
Valid & Invalid Alphabets
 While defining an alphabet, an alphabet may
contain letters consisting of group of symbols for
example Σ1= {B,aB, bab, B}.
 Now consider an alphabet
Σ2= {B, Ba, bab, B} and a string BababB.
 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}.
Valid & In Valid alphabets
 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.
 To define an alphabet it should be kept in mind that

ambiguity should not be created.


 While defining an alphabet of letters consisting of

more than one symbols, no letter should be started


with the letter of the same alphabet i.e. one letter
should not be the prefix of another.
 However, a letter may be ended in a letter of same

alphabet.
Conclusion
 Σ1= {B, aB, bab, B}
 Σ2= {B, Ba, bab, B}
 Σ1 is a valid alphabet while Σ2 is an in-valid

alphabet.
Length of Strings
 The length of string s, denoted by |s|, is the
number of letters in the string.
 Example 01 :
Σ={a,b}
s=ababa
|s|=5
 Example 02 :
Σ= {B, aB, bab, d}
s=BaBbabBd
Tokenizing=(B), (aB), (bab), (B), (d)
|s|=5
Reverse of a String
 The reverse of a string s denoted by Rev(s) or sr, is
obtained by writing the letters of s in reverse order.
 Example 01:
If s=abc is a string defined over Σ={a,b,c} ,then
 Rev(s) or sr = cba
 Example 02 :
Σ= {B, aB, bab, d}
s=BaBbabBd
Rev(s)=dBbabaBB
Defining Languages
 The languages can be defined in different ways ,
such as Descriptive definition, Recursive definition,
using Regular Expressions(RE) and using Finite
Automaton(FA) etc.
 Descriptive definition of language :
The language is defined, describing the conditions imposed
on its words.
 Example 01 :
The language L of strings of odd length, defined over Σ={a},
can be written as
L={a, aaa, aaaaa,…..}
Descriptive examples
 Example 02 :
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, …}
 Example 03 :
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 04 :
The language L of strings ending in 0, defined over Σ
={0,1}, can be written as
L={0,00,10,000,010,100,110,…}
Languages
 EQUAL language :
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,…}
 EVEN-EVEN language :
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,
…}
Languages
 INTEGER language :
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,…}
 EVEN language :
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,…}
Languages
 Language a to the power n & b to the power n :
The language {aⁿbⁿ }, of strings defined over Σ={a,b}, as
{aⁿbⁿ : n=1,2,3,…}, can be written as
{ab, aabb, aaabbb,aaaabbbb,…}
 Language a,b,a to the power n :
The language {aⁿbⁿaⁿ }, of strings defined over Σ={a,b}, as
{aⁿbⁿaⁿ : n=1,2,3,…}, can be written as
{aba, aabbaa, aaabbbaaa,aaaabbbbaaaa,…}
Languages
 Language factorial :
The language factorial, of strings defined over
Σ={0,1,2,3,4,5,6,7,8,9} i.e.
{1,2,6,24,120,…}
 Language FACTORIAL :
The language FACTORIAL, of strings defined over Σ={a}, as
{aⁿᵎ! : n=1,2,3,…}, can be written as
{a,aa,aaaaaa,…}. It is to be noted that the language
FACTORIAL can be defined over any single letter alphabet.
Languages
 Language DOUBLEFACTORIAL :
The language DOUBLEFACTORIAL, of strings defined over
 Σ={a, b}, as {aⁿᵎ bⁿᵎ : n=1,2,3,…}, can be written as
{ab, aabb, aaaaaabbbbbb,…}
 Language SQUARE :
The language SQUARE, of strings defined over Σ={a}, as
{aⁿ2 : n=1,2,3,…}, can be written as
{a, aaaa, aaaaaaaaa,…}
Languages
 Language DOUBLESQUARE :
The language DOUBLESQUARE, of strings defined over
 Σ={a,b}, as {aⁿ2 bⁿ2 : n=1,2,3,…}, can be written as
{ab, aaaabbbb, aaaaaaaaabbbbbbbbb,…}
 Language PRIME :
The language PRIME, of strings defined over Σ={a}, as
 {aᵖ : p is prime}, can be written as
{aa,aaa,aaaaa,aaaaaaa,aaaaaaaaaaa…}
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, ...}
Palindrome
 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:
 Number of strings of length ‘m’ defined over

alphabet of ‘n’ letters is nᵐ.


 Examples

 The language of strings of length 2, defined over

Σ={a,b} is L={aa, ab, ba, bb} i.e. number of strings


= 2²
Palindrome
 To calculate the number of palindromes of
length(2n), consider the following diagram.
 It 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
Palindrome
 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 = 2ᵌ
 To calculate the number of palindromes of length (2n-1)
with ‘a’ as the middle letter, consider the following
diagram.
 Its clear 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.
Small Quiz
 Similarly the number of palindromes of
length 2n-1, with ‘ b ’ as middle letter, will
be 2²ⁿ⁻ᶦ as well. Hence the total number of
palindromes of length 2n-1 will be ?
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. For example


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, ….}
 Question, Finite or infinite length lang generated by
KSC ?
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, ….}
Recursive definition of Languages
 The following three steps are used in recursive
definition
 Some basic words are specified in the language.
 Rules for constructing more words are defined in
the language.
 No strings except those constructed in above, are
allowed to be in the language. 
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.
Defining language of Even& factorial
 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.
 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
 Definingthe 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 language {aⁿbⁿ}
 Defining the language {aⁿbⁿ}, n=1,2,3,… , of strings
defined over Σ={a,b}
Step 1: ab is in {aⁿbⁿ}
Step 2: if x is in {aⁿbⁿ}, then axb is in {aⁿbⁿ}
Step 3: No strings except those constructed in
above, are allowed to be in {aⁿbⁿ}
Defining language ending in a
 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 language ending in same
letter.
 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 L containing aa or bb
 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 L containing one a
 Defining the language L, of strings containing
exactly one a, defined over Σ={a, b}.
Step 1: a is in L
Step 2: s(a)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.
Recommended Readings
 Chapter 1 of book “Linz,P.(Latest ed.)..An
Introduction to Formal Languages and
Automata. Jones & Bartlett Publishers”.

 https://www.tutorialspoint.com/automata_th
eory/automata_theory_tutorial.pdf

You might also like