Lecture 1 Theory of Automata

Slides:



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

YES-NO machines Finite State Automata as language recognizers.
Basic Structures: Sets, Functions, Sequences, Sums, and Matrices
Basic Structures: Sets, Functions, Sequences, Sums, and Matrices
Sets Definition of a Set: NAME = {list of elements or description of elements} i.e. B = {1,2,3} or C = {x  Z + | -4 < x < 4} Axiom of Extension: A set.
Languages, grammars, and regular expressions
CS5371 Theory of Computation Lecture 1: Mathematics Review I (Basic Terminology)
Sets 1.
Sets 1.
Topics Automata Theory Grammars and Languages Complexities
Regular Languages A language is regular over  if it can be built from ;, {  }, and { a } for every a 2 , using operators union ( [ ), concatenation.
Theory Of Automata By Dr. MM Alam
1 Introduction to Automata Theory Reading: Chapter 1.
::ICS 804:: Theory of Computation - Ibrahim Otieno SCI/ICT Building Rm. G15.
CS490 Presentation: Automata & Language Theory Thong Lam Ran Shi.
Lecture # 1 (Automata Theory)
Theory of Automata.
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,
CS/IT 138 THEORY OF COMPUTATION Chapter 1 Introduction to the Theory of Computation.
L ECTURE 1 T HEORY OF C OMPUTATION Yasir Imtiaz Khan.
Module 2 How to design Computer Language Huma Ayub Software Construction Lecture 7 1.
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 
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,
1 Chapter 1 Introduction to the Theory of Computation.
Grammars CPSC 5135.
Sets Defined A set is an object defined as a collection of other distinct objects, known as elements of the set The elements of a set can be anything:
Module 2 How to design Computer Language Huma Ayub Software Construction Lecture 8.
CS 103 Discrete Structures Lecture 10 Basic Structures: Sets (1)
Strings and Languages CS 130: Theory of Computation HMU textbook, Chapter 1 (Sec 1.5)
Mathematical Proofs. Chapter 1 Sets 1.1 Describing a Set 1.2 Subsets 1.3 Set Operations 1.4 Indexed Collections of Sets 1.5 Partitions of Sets.
Chapter 2: Basic Structures: Sets, Functions, Sequences, and Sums (1)
Section 2.1. Section Summary Definition of sets Describing Sets Roster Method Set-Builder Notation Some Important Sets in Mathematics Empty Set and Universal.
ELEMENTARY SET THEORY.
Chapter 2 With Question/Answer Animations. Section 2.1.
Introduction Episode 0 What is TOC (Theory of Computation) about? Giorgi Japaridze Theory of Computability Subject: The fundamental mathematical properties.
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.
نظام المحاضرات الالكترونينظام المحاضرات الالكتروني Theory of Automata We will arrive at what we may believe to be the most powerful machine possible. When.
CSC312 Automata Theory Lecture # 26 Chapter # 12 by Cohen Context Free Grammars.
Lecture # Book Introduction to Theory of Computation by Anil Maheshwari Michiel Smid, 2014 “Introduction to computer theory” by Daniel I.A. Cohen.
Theory of computation Introduction theory of computation: It comprises the fundamental mathematical properties of computer hardware, software,
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.
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.
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.
Week 14 - Friday.  What did we talk about last time?  Simplifying FSAs  Quotient automata.
Lecture 01: Theory of Automata:2013 Asif Nawaz Theory of Automata.
Introduction to Automata Theory
Topic 3: Automata Theory 1. OutlineOutline Finite state machine, Regular expressions, DFA, NDFA, and their equivalence, Grammars and Chomsky hierarchy.
Introduction Chapter 0.
CSNB 143 Discrete Mathematical Structures
Introduction to the Theory of Computation
Set, Combinatorics, Probability & Number Theory
Taibah University College of Computer Science & Engineering Course Title: Discrete Mathematics Code: CS 103 Chapter 2 Sets Slides are adopted from “Discrete.
Jaya Krishna, M.Tech, Assistant Professor
CS100: Discrete structures
2.1 Sets Dr. Halimah Alshehri.
Teori Bahasa dan Automata Lecture 1: Course Overview and Introduction
INTRODUCTION TO THE THEORY OF COMPUTATION
Discrete Mathematics CS 2610
Teori Bahasa dan Automata Lecture 1: Course Overview and Introduction
Introduction Chapter 0.
Chapter 1 Introduction to the Theory of Computation
Sets & Set Operations.
CSC312 Automata Theory Lecture # 2 Languages.
CSC312 Automata Theory Lecture # 3 Languages-II.
Welcome to ! Theory Of Automata Irum Feroz
Terminology and Symbols
Presentation transcript:

Lecture 1 Theory of Automata

Pragmatics Pre-Requisites Text book Quizzes No Pre-Requisite Introduction to Computer Theory by Daniel I.A. Cohen Quizzes Roughly once every week Marks Distribution Theoretical Course 25% Mid-term, 50% Final, 10% Quizzes, 10% assignments & 5% class behaviour

Course Objectives The major objective of this course is to introduce the student to the concepts of theory of automata in computer science. The student should acquire insights into the relationship among formal languages, formal grammars, and automata. Upon successful completion of this course, students will be able to: Understand the equivalence between Nondeterministic Finite State Automata and Deterministic Finite State Automata. Understand the equivalence between Context-Free Grammars and Nondeterministic Pushdown Automata. Appreciate the power of the Turing Machine, as an abstract automaton, that describes computation, effectively and efficiently.

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

Automata Theory Deals with the definitions and properties of mathematical model of computation. Examples: Finite automata, Context free grammars. Finite Automaton: Text Processing, Compilers Context Free grammars: Programming languages, AI

History In 1930’s, before the advent of computers, Alan Turing gave the idea of Turing machine (abstract computing machine) that has all the capabilities (computation) of today’s real computers. In 1940’s and 50’s more simpler kind of computing machine (Finite Automata) were suggested by researchers. Finite Automata was about the modeling of the brain’s functioning.

History In 1950’s Noam Chomsky introduced the idea of Context-Free Grammar (Formal grammar). There is a close relationship between context-free grammar and automata. The idea of Finite Automata and Formal grammar are used in the design and construction of different softwares, and Turing Machine helps us in understanding what to expect from software

Formal language A formal language is a set of strings of symbols where symbols are chosen from a set (alphabet). The key concepts in formal language are Alphabets, Strings, Empty String, length of string, power of alphabet, and the language itself.

Sets (Preliminaries) A set is a group of objects, called elements (or members) of this set. For example, the students in this room form a set. A set can be defined by listing all its elements inside braces, e.g.: S ={ 7,21,57} The order of elements in sets do not matter – in particular, S={7,21,57} = {21,57,7}

Sets Continued… The set are also represented by Venn Diagram. For two sets A and B, A is said to be subset of B if every element of A is found in B, and written as A ⊆ B. Set A is said to be proper subset of B if A is subset of B and not equal to B, written as A ⊂ B. Thus the empty set, φ, is a proper subset of every non-empty subset

Examples of Sets The set with no elements is called the empty set and denoted by Λ The empty set is a subset of every set. The set of natural numbers N (or N): N = {1, 2, 3, . . .} The set of integers Z (or Z): Z = {. . ., -2,-1, 0, 1, 2,…} It is clear that N subset of Z

The union of two sets A and B, written AUB, is a new set containing all the elements of A and B. The intersection of two sets A and B, written A⋂B, is a new set containing the common elements of A and B. The complement of a set A, written A, is a new set containing no elements of A depending on universal set. The difference of two set A and B, written A–B, is a new set containing all the elements of A that are not found in B.

Set Operations

The power set of A is the set of all the subsets of A. Thus a set can be a member of another set. The cartesian product or cross product of two sets A and B, written AxB, is a new set of all pairs such that the first element belongs to A and the second belongs to B. We can have the cross product of a set with itself. The cardinality of a set is the number of elements in that set and denoted by ||.

Sequence and Tuple A sequence is a collection of objects in some order. Unlike the sets, repetition and order of elements are very important in sequence and usually written within parentheses for example (21, 17, 4, 12) , (17, 4 , 21, 12) , (21, 17, 4, 4, 12) Are different sequences. A finite sequence is often called a tuple. So a sequence with k elements is a k-tuple and 2-tuple is also called pair.

Languages In English, we distinguish 3 different entities: letters, words, and sentences. Groups of letters make up words and groups of words make up sentences. However, not all collections of letters form valid words, and not all collections of words form valid sentences. This situation also exists with computer languages. Certain (but not all) strings of characters are recognizable words (e.g., IF, ELSE, FOR, WHILE …).

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

Strings Concatenation of finite symbols from the alphabet is called a string. Example: If Σ= {a,b} then a, abab, aaabb, ababababababababab

Words 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

EMPTY STRING or NULL STRING We shall allow a string to have no letters. We call this empty string or null string, and denote it by the symbol Λ. For all languages, the null word, if it is a word in the language, is the word that has no letters. We also denote the null word by Λ.

String Operations Concatenation

Reverse

String Length Length: Examples:

Defining Languages Example: Consider this alphabet with only one letter ∑ = { x } We can define a language by saying that any nonempty string of alphabet letters is a word L1 = { x, xx, xxx, xxxx, … } or L1 = { xn for n = 1, 2, 3, … } Note that because of the way we have defined it, the language L1 does not include the null word Λ.

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

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

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