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,

Slides:



Advertisements
Similar presentations
Properties of Regular Languages
Advertisements

COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf of Monash University.
Regular Grammars Formal definition of a regular expression.
Regular Languages Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 3 Comments, additions and modifications.
COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf of Monash University.
Regular Languages Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 3 Comments, additions and modifications.
COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf of Monash University.
Topics Automata Theory Grammars and Languages Complexities
Theory Of Automata By Dr. MM Alam
Lexical Analysis CSE 340 – Principles of Programming Languages Fall 2015 Adam Doupé Arizona State University
1 Syntax Specification Regular Expressions. 2 Phases of Compilation.
Theory Of Automata By Dr. MM Alam
Lecture # 1 (Automata Theory)
Theory of Automata.
Module 2 How to design Computer Language Huma Ayub Software Construction Lecture 7 1.
CSC312 Automata Theory Lecture # 2 Languages.
CSC312 Automata Theory Lecture # 2 Languages.
L ECTURE 1 T HEORY OF A UTOMATA. P RAGMATICS  Pre-Requisites  No Pre-Requisite  Text book  Introduction to Computer Theory by Daniel I.A. Cohen 
Formal Methods in SE Theory of Automata Qasiar Javaid Assistant Professor Lecture # 06.
Lecture Two: Formal Languages Formal Languages, Lecture 2, slide 1 Amjad Ali.
Introduction to Theory of Automata
1 Language Definitions Lecture # 2. Defining Languages The languages can be defined in different ways, such as Descriptive definition, Recursive definition,
Recap Lecture-2 Kleene Star Closure, Plus operation, recursive definition of languages, INTEGER, EVEN, factorial, PALINDROME, {anbn}, languages of strings.
1 Chapter 1 Introduction to the Theory of Computation.
Lecture # 3 Regular Expressions 1. Introduction In computing, a regular expression provides a concise and flexible means to "match" (specify and recognize)
Module 2 How to design Computer Language Huma Ayub Software Construction Lecture 8.
Lecture-2 Recap Lecture-1
L ECTURE 3 Chapter 4 Regular Expressions. I MPORTANT T ERMS Regular Expressions Regular Languages Finite Representations.
Introduction to Theory of Automata By: Wasim Ahmad Khan.
Context Free Grammars.
Recursive Definitions & Regular Expressions (RE)
Lecture 02: Theory of Automata:08 Theory of Automata.
CSC312 Automata Theory Lecture # 3 Languages-II. Formal Language A formal language is a set of words—that is, strings of symbols drawn from a common alphabet.
Recursive Definations Regular Expressions Ch # 4 by Cohen
Lecture # Book Introduction to Theory of Computation by Anil Maheshwari Michiel Smid, 2014 “Introduction to computer theory” by Daniel I.A. Cohen.
Lecture # 4.
Mathematical Foundations of Computer Science Chapter 3: Regular Languages and Regular Grammars.
Lecture 2 Theory of AUTOMATA
1 Strings and Languages Lecture 2-3 Ref. Handout p12-17.
Lecture 02: Theory of Automata:2014 Asif Nawaz Theory of Automata.
Set, Alphabets, Strings, and Languages. The regular languages. Clouser properties of regular sets. Finite State Automata. Types of Finite State Automata.
Lecture 03: Theory of Automata:2014 Asif Nawaz Theory of Automata.
CHAPTER TWO LANGUAGES By Dr Zalmiyah Zakaria.
By Dr.Hamed Alrjoub. 1. Introduction to Computer Theory, by Daniel I. Cohen, John Wiley and Sons, Inc., 1991, Second Edition 2. Introduction to Languages.
Lecture 01: Theory of Automata:2013 Asif Nawaz Theory of Automata.
Recap Lecture 3 RE, Recursive definition of RE, defining languages by RE, { x}*, { x}+, {a+b}*, Language of strings having exactly one aa, Language of.
Lecture 17: Theory of Automata:2014 Context Free Grammars.
Chapter 1 INTRODUCTION TO THE THEORY OF COMPUTATION.
Advanced Theory of Computation Lecture # 1-2 Muhammad Ahmad Jan 1.
Pumping Lemma.
Theory of Computation Lecture #
Lecture # 2.
Lexical Analysis CSE 340 – Principles of Programming Languages
Lecture 1 Theory of Automata
Theory of Automata Course: Theory of Automata
Theory of Automata.
Regular Expressions (Examples)
LANGUAGES Prepared by: Paridah Samsuri Dept. of Software Engineering
CSC312 Automata Theory Lecture # 4 Languages-III.
Recap lecture 29 Example of prefixes of a language, Theorem: pref(Q in R) is regular, proof, example, Decidablity, deciding whether two languages are equivalent.
Pumping Lemma.
Recap Lecture-2 Kleene Star Closure, Plus operation, recursive definition of languages, INTEGER, EVEN, factorial, PALINDROME, {anbn}, languages of strings.
Chapter 1 Introduction to the Theory of Computation
CSC312 Automata Theory Lecture # 5 Chapter # 4 Cont…
Recap Lecture-2 Kleene Star Closure, Plus operation, recursive definition of languages, INTEGER, EVEN, factorial, PALINDROME, {anbn}, languages of strings.
CSC312 Automata Theory Lecture # 2 Languages.
CSC312 Automata Theory Lecture # 3 Languages-II.
Welcome to ! Theory Of Automata Irum Feroz
Recap Lecture 3 RE, Recursive definition of RE, defining languages by RE, { x}*, { x}+, {a+b}*, Language of strings having exactly one aa, Language of.
Prepared by- Patel priya( ) Guided by – Prof. Archana Singh Gandhinagar Institute of Technology SUBJECT - CD ( ) Introcution to Regular.
Presentation transcript:

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% Assignments15% Final Exams.50%

4 What does automata mean? zIt is the plural of automaton, and it means “something that works automatically”

5 Introduction to languages zThere are two types of languages yFormal Languages (Syntactic languages) yInformal Languages (Semantic languages)

6 Alphabets zDefinition: A finite non-empty set of symbols (letters), is called an alphabet. It is denoted by Σ ( Greek letter sigma). zExample: Σ={a,b} Σ={0,1} //important as this is the language //which the computer understands. Σ={i,j,k}

7 NOTE: z 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 zDefinition: Concatenation of finite symbols from the alphabet is called a string. zExample: If Σ= {a,b} then a, abab, aaabb, ababababababababab

9 NOTE: EMPTY STRING or NULL STRING zSometimes 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 z Definition: Words are strings belonging to some language. Example: If Σ= {x} then a language L can be defined as L={x n : n=1,2,3,…..} or L={x,xx,xxx,….} Here x,xx,… are the words of L

11 NOTE: zAll words are strings, but not all strings are words.

12 Valid/In-valid alphabets zWhile defining an alphabet, an alphabet may contain letters consisting of group of symbols for example Σ 1 = {B, aB, bab, d}. z Now consider an alphabet Σ 2 = {B, Ba, bab, d} and a string BababB.

13 This string can be tokenized in two different ways y(Ba), (bab), (B) y (B), (abab), (B) Which shows that the second group cannot be identified as a string, defined over Σ = {a, b}.

14 zAs 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: zWhile 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 zΣ 1 = {B, aB, bab, d} zΣ 2 = {B, Ba, bab, d} Σ 1 is a valid alphabet while Σ 2 is an in-valid alphabet.

17 Length of Strings zDefinition: The length of string s, denoted by |s|, is the number of letters in the string. zExample: Σ={a,b} s=ababa |s|=5

18 zExample: Σ= {B, aB, bab, d} s=BaBbabBd Tokenizing=(B), (aB), (bab), (d) |s|=4

19 Reverse of a String zDefinition: The reverse of a string s denoted by Rev(s) or s r, is obtained by writing the letters of s in reverse order. zExample: If s=abc is a string defined over Σ={a,b,c} then Rev(s) or s r = cba

20 zExample: Σ= {B, aB, bab, d} s=BaBbabBd Rev(s)=dBbabaBB

21 Lecture 2 Defining Languages zThe 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 zExample: The language L of strings of odd length, defined over Σ={a}, can be written as L={a, aaa, aaaaa,…..} zExample: 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 zExample: 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} zExample: 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 zExample: 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,…} zExample: 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 zExample: 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,…} zExample: 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 zExample: The language {a n b n }, of strings defined over Σ={a,b}, as {a n b n : n=1,2,3,…}, can be written as {ab, aabb, aaabbb,aaaabbbb,…} zExample: The language {a n b n a n }, of strings defined over Σ={a,b}, as {a n b n a n : n=1,2,3,…}, can be written as {aba, aabbaa, aaabbbaaa,aaaabbbbaaaa,…}

27 zExample: The language factorial, of strings defined over Σ={1,2,3,4,5,6,7,8,9} i.e. {1,2,6,24,120,…} zExample: The language FACTORIAL, of strings defined over Σ={a}, as {a n! : 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 zExample: The language DOUBLEFACTORIAL, of strings defined over Σ={a, b}, as {a n! b n! : n=1,2,3,…}, can be written as {ab, aabb, aaaaaabbbbbb,…} zExample: The language SQUARE, of strings defined over Σ={a}, as {a n 2 : n=1,2,3,…}, can be written as {a, aaaa, aaaaaaaaa,…}

29 zExample: The language DOUBLESQUARE, of strings defined over Σ={a,b}, as {a n 2 b n 2 : n=1,2,3,…}, can be written as {ab, aaaabbbb, aaaaaaaaabbbbbbbbb,…}

30 zExample: The language PRIME, of strings defined over Σ={a}, as {a p : p is prime}, can be written as {aa,aaa,aaaaa,aaaaaaa,aaaaaaaaaaa…}

31 An Important language zPALINDROME: 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. zExample:For Σ={a,b}, PALINDROME={Λ, a, b, aa, bb, aaa, aba, bab, bbb,...}

32 Remark zThere 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 zNumber of strings of length ‘m’ defined over alphabet of ‘n’ letters is n m. zExamples: yThe language of strings of length 2, defined over Σ={a,b} is L={aa, ab, ba, bb} i.e. number of strings = 2 2 yThe 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 3

34 zTo 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 2 n.

36 zTo 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 2 n-1. Similarly the number of palindromes of length 2n-1, with ‘ b ’ as middle letter, will be 2 n-1 as well. Hence the total number of palindromes of length 2n-1 will be 2 n n-1 = 2 (2 n-1 )= 2 n.

38 Exercise zQ) 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. z

39 SummingUp Lecture-1 zIntroduction 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, { a n b n }, { a n b n a n }, factorial, FACTORIAL, DOUBLEFACTORIAL, SQUARE, DOUBLESQUARE, PRIME, PALINDROME.