Formal Language & Automata Theory

Slides:



Advertisements
Similar presentations
Chapter 2 Revision of Mathematical Notations and Techniques
Advertisements

Equivalence Relations
Discrete Mathematics Lecture 5 Alexander Bukharovich New York University.
Basic Structures: Sets, Functions, Sequences, Sums, and Matrices
Basic Structures: Sets, Functions, Sequences, Sums, and Matrices
Relations.
Applied Discrete Mathematics Week 11: Graphs
CS5371 Theory of Computation Lecture 1: Mathematics Review I (Basic Terminology)
Costas Busch - RPI1 Mathematical Preliminaries. Costas Busch - RPI2 Mathematical Preliminaries Sets Functions Relations Graphs Proof Techniques.
Courtesy Costas Busch - RPI1 Mathematical Preliminaries.
Theoretical Computer Science COMP 335 Fall 2004
Relations Chapter 9.
1 CSCI 2400 section 3 Models of Computation Instructor: Costas Busch.
Logics for Data and Knowledge Representation Introduction to Algebra Chiara Ghidini, Luciano Serafini, Fausto Giunchiglia and Vincenzo Maltese.
Introduction Chapter 0. Three Central Areas 1.Automata 2.Computability 3.Complexity.
Properties of Relations In many applications to computer science and applied mathematics, we deal with relations on a set A rather than relations from.
CS Discrete Mathematical Structures Mehdi Ghayoumi MSB rm 132 Ofc hr: Thur, 9:30-11:30a Fall 2002KSU - Discrete Structures1.
CSCI 4325 / 6339 Theory of Computation Chapter One Zhixiang Chen Department of Computer Science University of Texas-Pan American.
INTRODUCTION TO THE THEORY OF COMPUTATION INTRODUCTION MICHAEL SIPSER, SECOND EDITION 1.
Mathematical Preliminaries Strings and Languages Preliminaries 1.
Chapter 9. Chapter Summary Relations and Their Properties Representing Relations Equivalence Relations Partial Orderings.
Chapter 9. Chapter Summary Relations and Their Properties n-ary Relations and Their Applications (not currently included in overheads) Representing Relations.
1 Chapter 1 Introduction to the Theory of Computation.
Chapter 9. Section 9.1 Binary Relations Definition: A binary relation R from a set A to a set B is a subset R ⊆ A × B. Example: Let A = { 0, 1,2 } and.
CSCI 2670 Introduction to Theory of Computing Instructor: Shelby Funk.
Mathematical Preliminaries. Sets Functions Relations Graphs Proof Techniques.
CS 103 Discrete Structures Lecture 10 Basic Structures: Sets (1)
Sets Define sets in 2 ways  Enumeration  Set comprehension (predicate on membership), e.g., {n | n  N   k  k  N  n = 10  k  0  n  50} the set.
Language: Set of Strings
Strings and Languages CS 130: Theory of Computation HMU textbook, Chapter 1 (Sec 1.5)
CompSci 102 Discrete Math for Computer Science
Theory of Computation, Feodor F. Dragan, Kent State University 1 TheoryofComputation Spring, 2015 (Feodor F. Dragan) Department of Computer Science Kent.
Mathematical Preliminaries
THEORY OF COMPUTATION Komate AMPHAWAN 1. 2.
Chapter 9. Chapter Summary Relations and Their Properties n-ary Relations and Their Applications (not currently included in overheads) Representing Relations.
1 Mathematical Preliminaries. 2 Sets Functions Relations Graphs Proof Techniques.
Copyright © Cengage Learning. All rights reserved. CHAPTER 8 RELATIONS.
RelationsCSCE 235, Spring Introduction A relation between elements of two sets is a subset of their Cartesian products (set of all ordered pairs.
Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1 Chapter 0 Introduction Some slides are in courtesy of Prof.
Set Theory Concepts Set – A collection of “elements” (objects, members) denoted by upper case letters A, B, etc. elements are lower case brackets are used.
Theory of computation Introduction theory of computation: It comprises the fundamental mathematical properties of computer hardware, software,
1 Equivalence relations Binary relations: –Let S1 and S2 be two sets, and R be a (binary relation) from S1 to S2 –Not every x in S1 and y in S2 have such.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen.
Chapter 2 1. Chapter Summary Sets (This Slide) The Language of Sets - Sec 2.1 – Lecture 8 Set Operations and Set Identities - Sec 2.2 – Lecture 9 Functions.
Chapter 1 INTRODUCTION TO THE THEORY OF COMPUTATION.
Relations Chapter 9 Copyright © McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill.
The Relation Induced by a Partition
Representing Relations Using Digraphs
Relations and Their Properties
Citra Noviyasari, S.Si, MT
Chapter 5 Relations and Operations
Introduction Chapter 0.
Equivalence Relations
Relations Chapter 9.
BCS2143 – Theory of Computer Science
Introduction to the Theory of Computation
Lecture 1 Theory of Automata
Dr. Ameria Eldosoky Discrete mathematics
CS201: Data Structures and Discrete Mathematics I
Advanced Algorithms Analysis and Design
CSCI-2400 Models of Computation.
Mathematical Preliminaries Strings and Languages
Mathematical Background 1
Mathematical Background 1
MCS680: Foundations Of Computer Science
Introduction Chapter 0.
Mathematical Background
Chapter 1 Introduction to the Theory of Computation
REVISION Relation. REVISION Relation Introduction to Relations and Functions.
Terminology and Symbols
Presentation transcript:

Formal Language & Automata Theory Shyamanta M Hazarika Computer Science & Engineering Tezpur University http://www.tezu.ernet.in/~smh/

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

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

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.

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).

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

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!

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

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

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

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

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

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

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

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

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

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

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}}

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

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

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

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

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)}