SlideShare a Scribd company logo
1 of 39
1
Welcome to !
Theory Of Automata
2
Text and Reference Material
1. Introduction to Computer Theory, by Daniel
I. Cohen, John Wiley and Sons, Inc., 1991,
Second Edition
2. Introduction to Languages and Theory of
Computation, by J. C. Martin, McGraw Hill
Book Co., 1997, Second Edition
3
Grading
There will be One term exam and one final
exam. The final exam will be comprehensive.
These will contribute the following
percentages to the final grade:
Mid-Term Exams. 35%
Assignments 15%
Final Exams. 50%
4
What does automata mean?
It is the plural of automaton, and it means
“something that works automatically”
5
Introduction to languages
There are two types of languages
Formal Languages (Syntactic languages)
Informal Languages (Semantic
languages)
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
NOTE:
 A certain version of language ALGOL has
113 letters
Σ (alphabet) includes letters, digits and a
variety of operators including sequential
operators such as GOTO and IF
8
Strings
Definition:
Concatenation of finite symbols from the
alphabet is called a string.
Example:
If Σ= {a,b} then
a, abab, aaabb, ababababababababab
9
NOTE:
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.
10
Words
 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
11
NOTE:
All words are strings, but not all strings
are words.
12
Valid/In-valid alphabets
While defining an alphabet, an alphabet may
contain letters consisting of group of symbols
for example Σ1= {B, aB, bab, d}.
 Now consider an alphabet
Σ2= {B, Ba, bab, d} and a string BababB.
13
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}.
14
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.
15
Remarks:
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 the letter of same alphabet i.e.
one letter may be the suffix of another.
16
Conclusion
Σ1= {B, aB, bab, d}
Σ2= {B, Ba, bab, d}
Σ1 is a valid alphabet while Σ2 is an in-valid
alphabet.
17
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
18
Example:
Σ= {B, aB, bab, d}
s=BaBbabBd
Tokenizing=(B), (aB), (bab), (B),(d)
|s|=5
19
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
20
Example:
Σ= {B, aB, bab, d}
s=BaBbabBd
Rev(s)=dBbabaBB
21
Lecture 2
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.
22
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, …}
23
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,…}
24
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,…}
25
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,…}
26
Example: The language {an
bn
}, of strings
defined over Σ={a,b}, as
{an
bn
: n=1,2,3,…}, can be written as
{ab, aabb, aaabbb,aaaabbbb,…}
Example: The language {an
bn
an
}, of strings
defined over Σ={a,b}, as
{an
bn
an
: n=1,2,3,…}, can be written as
{aba, aabbaa, aaabbbaaa,aaaabbbbaaaa,…}
27
Example: The language factorial, of strings
defined over Σ={1,2,3,4,5,6,7,8,9} i.e.
{1,2,6,24,120,…}
Example: The language FACTORIAL, of
strings defined over Σ={a}, as
{an!
: 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.
28
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
{an2
: n=1,2,3,…}, can be written as
{a, aaaa, aaaaaaaaa,…}
29
Example: The language
DOUBLESQUARE, of strings defined
over Σ={a,b}, as
{an2
bn2
: n=1,2,3,…}, can be written as
{ab, aaaabbbb, aaaaaaaaabbbbbbbbb,…}
30
Example: The language PRIME, of
strings defined over Σ={a}, as
{ap
: p is prime}, can be written as
{aa,aaa,aaaaa,aaaaaaa,aaaaaaaaaaa…}
31
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, ...}
32
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:
33
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
34
To calculate the number of palindromes of
length(2n), consider the following diagram,
35
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.
36
To calculate the number of palindromes of
length (2n-1) with ‘a’ as the middle letter,
consider the following diagram,
37
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 .
38
Exercise
Q) Prove that there are as many palindromes
of length 2n, defined over Σ = {a,b,c}, as
there are of length 2n-1. Determine the
number of palindromes of length 2n defined
over the same alphabet as well.

39
SummingUp Lecture-1
Introduction to the course title, Formal and In-
formal languages, Alphabets, Strings, Null string,
Words, Valid and In-valid alphabets, length of a
string, Reverse of a string, Defining languages,
Descriptive definition of languages, EQUAL,
EVEN-EVEN, INTEGER, EVEN, { an bn}, { an bn an
}, factorial, FACTORIAL, DOUBLEFACTORIAL,
SQUARE, DOUBLESQUARE, PRIME,
PALINDROME.

More Related Content

What's hot

Lecture: Regular Expressions and Regular Languages
Lecture: Regular Expressions and Regular LanguagesLecture: Regular Expressions and Regular Languages
Lecture: Regular Expressions and Regular LanguagesMarina Santini
 
Theory of Automata
Theory of AutomataTheory of Automata
Theory of AutomataFarooq Mian
 
Theory of automata and formal language
Theory of automata and formal languageTheory of automata and formal language
Theory of automata and formal languageRabia Khalid
 
Introduction to Computer theory (Automata Theory) 2nd Edition By Denial I.A. ...
Introduction to Computer theory (Automata Theory) 2nd Edition By Denial I.A. ...Introduction to Computer theory (Automata Theory) 2nd Edition By Denial I.A. ...
Introduction to Computer theory (Automata Theory) 2nd Edition By Denial I.A. ...Farwa Ansari
 
Lecture 3,4
Lecture 3,4Lecture 3,4
Lecture 3,4shah zeb
 
Theory of Computation "Chapter 1, introduction"
Theory of Computation "Chapter 1, introduction"Theory of Computation "Chapter 1, introduction"
Theory of Computation "Chapter 1, introduction"Ra'Fat Al-Msie'deen
 
Generalized transition graphs
Generalized transition graphsGeneralized transition graphs
Generalized transition graphsArham Khan G
 
Lecture 3,4
Lecture 3,4Lecture 3,4
Lecture 3,4shah zeb
 
Intro automata theory
Intro automata theory Intro automata theory
Intro automata theory Rajendran
 
TOC 1 | Introduction to Theory of Computation
TOC 1 | Introduction to Theory of ComputationTOC 1 | Introduction to Theory of Computation
TOC 1 | Introduction to Theory of ComputationMohammad Imam Hossain
 
Theory of automata and formal language
Theory of automata and formal languageTheory of automata and formal language
Theory of automata and formal languageRabia Khalid
 

What's hot (20)

Flat unit 3
Flat unit 3Flat unit 3
Flat unit 3
 
Lesson 05
Lesson 05Lesson 05
Lesson 05
 
Lesson 10
Lesson 10Lesson 10
Lesson 10
 
Lecture: Regular Expressions and Regular Languages
Lecture: Regular Expressions and Regular LanguagesLecture: Regular Expressions and Regular Languages
Lecture: Regular Expressions and Regular Languages
 
Theory of Automata
Theory of AutomataTheory of Automata
Theory of Automata
 
Theory of automata and formal language
Theory of automata and formal languageTheory of automata and formal language
Theory of automata and formal language
 
Introduction to Computer theory (Automata Theory) 2nd Edition By Denial I.A. ...
Introduction to Computer theory (Automata Theory) 2nd Edition By Denial I.A. ...Introduction to Computer theory (Automata Theory) 2nd Edition By Denial I.A. ...
Introduction to Computer theory (Automata Theory) 2nd Edition By Denial I.A. ...
 
Lecture 3,4
Lecture 3,4Lecture 3,4
Lecture 3,4
 
Theory of Computation "Chapter 1, introduction"
Theory of Computation "Chapter 1, introduction"Theory of Computation "Chapter 1, introduction"
Theory of Computation "Chapter 1, introduction"
 
FInite Automata
FInite AutomataFInite Automata
FInite Automata
 
Cfg part ii
Cfg   part iiCfg   part ii
Cfg part ii
 
Lecture 7
Lecture 7Lecture 7
Lecture 7
 
Generalized transition graphs
Generalized transition graphsGeneralized transition graphs
Generalized transition graphs
 
Lecture 3,4
Lecture 3,4Lecture 3,4
Lecture 3,4
 
Lesson 08
Lesson 08Lesson 08
Lesson 08
 
Intro automata theory
Intro automata theory Intro automata theory
Intro automata theory
 
CFG to CNF
CFG to CNFCFG to CNF
CFG to CNF
 
TOC 1 | Introduction to Theory of Computation
TOC 1 | Introduction to Theory of ComputationTOC 1 | Introduction to Theory of Computation
TOC 1 | Introduction to Theory of Computation
 
Theory of automata and formal language
Theory of automata and formal languageTheory of automata and formal language
Theory of automata and formal language
 
TOC 5 | Regular Expressions
TOC 5 | Regular ExpressionsTOC 5 | Regular Expressions
TOC 5 | Regular Expressions
 

Similar to Theory of Automata Lesson 01

Similar to Theory of Automata Lesson 01 (20)

Lesson-01-29092022-081117pm.ppt
Lesson-01-29092022-081117pm.pptLesson-01-29092022-081117pm.ppt
Lesson-01-29092022-081117pm.ppt
 
Language
LanguageLanguage
Language
 
Theory of Automata ___ Basis ...........
Theory of Automata ___ Basis ...........Theory of Automata ___ Basis ...........
Theory of Automata ___ Basis ...........
 
Lesson 01.ppt
Lesson 01.pptLesson 01.ppt
Lesson 01.ppt
 
Lesson 02
Lesson 02Lesson 02
Lesson 02
 
Lesson 02
Lesson 02Lesson 02
Lesson 02
 
L_2_apl.pptx
L_2_apl.pptxL_2_apl.pptx
L_2_apl.pptx
 
01-Introduction&Languages.pdf
01-Introduction&Languages.pdf01-Introduction&Languages.pdf
01-Introduction&Languages.pdf
 
Introduction to Automata Theory
Introduction to Automata TheoryIntroduction to Automata Theory
Introduction to Automata Theory
 
theory of computation lecture 02
theory of computation lecture 02theory of computation lecture 02
theory of computation lecture 02
 
To lec 03
To lec 03To lec 03
To lec 03
 
Regular Expression
Regular ExpressionRegular Expression
Regular Expression
 
10651372.ppt
10651372.ppt10651372.ppt
10651372.ppt
 
Final formal languages
Final formal languagesFinal formal languages
Final formal languages
 
Ch02
Ch02Ch02
Ch02
 
Ch2 automata.pptx
Ch2 automata.pptxCh2 automata.pptx
Ch2 automata.pptx
 
Lecture 6
Lecture 6Lecture 6
Lecture 6
 
Mod 2_RegularExpressions.pptx
Mod 2_RegularExpressions.pptxMod 2_RegularExpressions.pptx
Mod 2_RegularExpressions.pptx
 
Lesson 03
Lesson 03Lesson 03
Lesson 03
 
Hw2 2017-spring
Hw2 2017-springHw2 2017-spring
Hw2 2017-spring
 

Recently uploaded

Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfadityarao40181
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentInMediaRes1
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxsocialsciencegdgrohi
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaVirag Sontakke
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitolTechU
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerunnathinaik
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 

Recently uploaded (20)

Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdf
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media Component
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of India
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptx
 
ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developer
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 

Theory of Automata Lesson 01

  • 1. 1 Welcome to ! Theory Of Automata
  • 2. 2 Text and Reference Material 1. Introduction to Computer Theory, by Daniel I. Cohen, John Wiley and Sons, Inc., 1991, Second Edition 2. Introduction to Languages and Theory of Computation, by J. C. Martin, McGraw Hill Book Co., 1997, Second Edition
  • 3. 3 Grading There will be One term exam and one final exam. The final exam will be comprehensive. These will contribute the following percentages to the final grade: Mid-Term Exams. 35% Assignments 15% Final Exams. 50%
  • 4. 4 What does automata mean? It is the plural of automaton, and it means “something that works automatically”
  • 5. 5 Introduction to languages There are two types of languages Formal Languages (Syntactic languages) Informal Languages (Semantic languages)
  • 6. 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. 7 NOTE:  A certain version of language ALGOL has 113 letters Σ (alphabet) includes letters, digits and a variety of operators including sequential operators such as GOTO and IF
  • 8. 8 Strings Definition: Concatenation of finite symbols from the alphabet is called a string. Example: If Σ= {a,b} then a, abab, aaabb, ababababababababab
  • 9. 9 NOTE: 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.
  • 10. 10 Words  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
  • 11. 11 NOTE: All words are strings, but not all strings are words.
  • 12. 12 Valid/In-valid alphabets While defining an alphabet, an alphabet may contain letters consisting of group of symbols for example Σ1= {B, aB, bab, d}.  Now consider an alphabet Σ2= {B, Ba, bab, d} and a string BababB.
  • 13. 13 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}.
  • 14. 14 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.
  • 15. 15 Remarks: 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 the letter of same alphabet i.e. one letter may be the suffix of another.
  • 16. 16 Conclusion Σ1= {B, aB, bab, d} Σ2= {B, Ba, bab, d} Σ1 is a valid alphabet while Σ2 is an in-valid alphabet.
  • 17. 17 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
  • 18. 18 Example: Σ= {B, aB, bab, d} s=BaBbabBd Tokenizing=(B), (aB), (bab), (B),(d) |s|=5
  • 19. 19 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
  • 20. 20 Example: Σ= {B, aB, bab, d} s=BaBbabBd Rev(s)=dBbabaBB
  • 21. 21 Lecture 2 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.
  • 22. 22 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, …}
  • 23. 23 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,…}
  • 24. 24 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,…}
  • 25. 25 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,…}
  • 26. 26 Example: The language {an bn }, of strings defined over Σ={a,b}, as {an bn : n=1,2,3,…}, can be written as {ab, aabb, aaabbb,aaaabbbb,…} Example: The language {an bn an }, of strings defined over Σ={a,b}, as {an bn an : n=1,2,3,…}, can be written as {aba, aabbaa, aaabbbaaa,aaaabbbbaaaa,…}
  • 27. 27 Example: The language factorial, of strings defined over Σ={1,2,3,4,5,6,7,8,9} i.e. {1,2,6,24,120,…} Example: The language FACTORIAL, of strings defined over Σ={a}, as {an! : 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.
  • 28. 28 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 {an2 : n=1,2,3,…}, can be written as {a, aaaa, aaaaaaaaa,…}
  • 29. 29 Example: The language DOUBLESQUARE, of strings defined over Σ={a,b}, as {an2 bn2 : n=1,2,3,…}, can be written as {ab, aaaabbbb, aaaaaaaaabbbbbbbbb,…}
  • 30. 30 Example: The language PRIME, of strings defined over Σ={a}, as {ap : p is prime}, can be written as {aa,aaa,aaaaa,aaaaaaa,aaaaaaaaaaa…}
  • 31. 31 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, ...}
  • 32. 32 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:
  • 33. 33 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
  • 34. 34 To calculate the number of palindromes of length(2n), consider the following diagram,
  • 35. 35 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.
  • 36. 36 To calculate the number of palindromes of length (2n-1) with ‘a’ as the middle letter, consider the following diagram,
  • 37. 37 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 .
  • 38. 38 Exercise Q) Prove that there are as many palindromes of length 2n, defined over Σ = {a,b,c}, as there are of length 2n-1. Determine the number of palindromes of length 2n defined over the same alphabet as well. 
  • 39. 39 SummingUp Lecture-1 Introduction to the course title, Formal and In- formal languages, Alphabets, Strings, Null string, Words, Valid and In-valid alphabets, length of a string, Reverse of a string, Defining languages, Descriptive definition of languages, EQUAL, EVEN-EVEN, INTEGER, EVEN, { an bn}, { an bn an }, factorial, FACTORIAL, DOUBLEFACTORIAL, SQUARE, DOUBLESQUARE, PRIME, PALINDROME.