Presentation is loading. Please wait.

Presentation is loading. Please wait.

Formal Language & Automata Theory

Similar presentations


Presentation on theme: "Formal Language & Automata Theory"— Presentation transcript:

1 Formal Language & Automata Theory
Shyamanta M Hazarika Computer Science & Engineering Tezpur University

2 Introduction What is Theoretical Computer Science?
Theoretical computer science is a formal, i.e. mathematical investigation of general questions raised in the study of algorithmic processes. Micheal Arbib in his book Theories of Abstract Automata

3 Introduction What is an algorithmic process?
The term algorithmic process is universal and there is hardly any aspect of information processing that is not covered by it. Any sequence of steps to solve a given problem can be termed an algorithmic process

4 Objectives This course will give an introduction to formal languages and automata theory. Automata and formal languages appear (possibly in various disguises) in almost every branch of computer science. A formal language is a set of strings where a string is a finite sequence of symbols. An example of a formal language is the set of all ``syntactically correct'' Pascal programs.

5 Objectives Discuss how to define infinite language in a finite way.
construct an algorithm that can decide whether a string is in the language or not. Practical importance: for constructing compilers and design of programming languages. Introduce the basics of the theory of computability. Show that there exist uncomputable functions and some tasks are unsolvable (i.e. no algorithm exists).

6 Objectives Goals of this course?
Understanding the notion of effective computability Emphasise the engineering applications of the theory developed Getting students to appreciate the central issues by semiformal intuitive reasoning Develop the ability to apply the ideas and proof techniques in varied environments

7 Introduction Caution ! No previous training (in Maths or Comp Sc.) prepares you for the types of reasoning skills required! Everything requires detailed construction and long inductive proof which at times I may not do. Detailed proofs are all in the book and you need to read them!

8 Textbooks Introduction to Automata Theory, Languages and Computation
John E Hopcroft , Matwani & Jeffery D. Ullman Introduction to Languages and the Theory of Computation John C. Martin 3. Elements of the Theory of Computation Lewis & Papadimitriou

9 Evaluation Plan Mid Term 30 Marks | 60 Marks Assignment I 25 Marks
End Term Marks | 100 Marks Class Average: B Above 85: A ; Above 90: A+

10 Strings, Alphabet & Languages
Symbol is an abstract entity String is a finite sequence of symbols a, b and c are symbols abcb is a string Prefix - any number of leading symbol Suffix - any number of trailing symbol

11 Strings, Alphabet & Languages
An alphabet is a finite set of symbols Formal Language set of strings of symbols from some one alphabet Empty set  and {} are languages

12 Graphs A graph denoted G = {V, E } consist of a finite set of vertices V and a set of pair of vertices E called edges 2 1 3 5 4

13 Graphs 1 3 4 2 5 V={1, 2, 3, 4, 5} E={(n,m)| n+m = 4 or n+m =7}

14 Directed Graphs A directed graph denoted G = {V, E } consist of a finite set of vertices V and a set of ordered pair of vertices E called edges 1 2 3 4

15 Directed Graphs 1 2 3 4 ({1, 2, 3, 4},{i j | i < j})

16 Set Notation Set Collection of objects (members of the set) without repetition. Specify sets by a set former e.g {x| P(x)}

17 Operations on Sets Union in A or in B Intersection in A and in B
Difference in A and not in B Cartesian Product ordered pairs Power Set all subsets of A

18 Operations on Sets Let A = {a,b} and B = {b,c} A  B = {a,b,c}
A  B = {b} A – B = {a} A x B = {(a,b),(a,c),(b,b),(b,c)} 2A = { , {a},{b},{a,b}}

19 Relations A binary relation is a set of pairs
First component is chosen from a set called the domain Second component is chosen from a (possibly different) set called the range In case the domain and range are same set S the relation is on S

20 Properties of Relations
Reflexive aRa for all a in S Irreflexive aRa is false for all a in S Transitive aRb and bRc imply aRc Symmetric aRb imply bRa Asymmetric aRb implies bRa is false

21 Equivalence Relations
A relation R that is reflexive, symmetric and transitive is an equivalence relation. R partitions S into disjoint nonempty equivalence classes Si  Sj =  a and b in Si aRb is true a in Si and b in Sj aRb is false

22 Closure of Relations Suppose P is a set of properties of relations. The P -closure of a relation R is the smallest relation R/ that includes all the pairs of R and possesses the properties in P

23 Closure of Relations Let R = {(1, 2), (2, 2), (2, 3)}
Transitive Closure of R be R/ R/ = {(1, 2), (2, 2), (2, 3), (3, 3)}


Download ppt "Formal Language & Automata Theory"

Similar presentations


Ads by Google