AUTOMATA THEORY Reference Introduction to Automata Theory Languages and Computation Hopcraft, Ullman and Motwani.

Slides:



Advertisements
Similar presentations
CS 3240: Languages and Computation
Advertisements

Time Complexity P vs NP.
8/25/2009 Sofya Raskhodnikova Intro to Theory of Computation L ECTURE 1 Theory of Computation Course information Overview of the area Finite Automata Sofya.
CS5371 Theory of Computation
P, NP, PS, and NPS By Muhannad Harrim. Class P P is the complexity class containing decision problems which can be solved by a Deterministic Turing machine.
Finite Automata Chapter 5. Formal Language Definitions Why need formal definitions of language –Define a precise, unambiguous and uniform interpretation.
Topics Automata Theory Grammars and Languages Complexities
1.Defs. a)Finite Automaton: A Finite Automaton ( FA ) has finite set of ‘states’ ( Q={q 0, q 1, q 2, ….. ) and its ‘control’ moves from state to state.
Rosen 5th ed., ch. 11 Ref: Wikipedia
Topic #3: Lexical Analysis
1 Introduction to Automata Theory Reading: Chapter 1.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL 103.
CMPS 3223 Theory of Computation
Introduction to the Theory of Computation
CS 390 Introduction to Theoretical Computer Science.
Lecture 23: Finite State Machines with no Outputs Acceptors & Recognizers.
1 An Introduction to Formal Languages and Automata Provided by : Babak Salimi webAdd:
CS/IT 138 THEORY OF COMPUTATION Chapter 1 Introduction to the Theory of Computation.
DECIDABILITY OF PRESBURGER ARITHMETIC USING FINITE AUTOMATA Presented by : Shubha Jain Reference : Paper by Alexandre Boudet and Hubert Comon.
REGULAR LANGUAGES.
1 Unit 1: Automata Theory and Formal Languages Readings 1, 2.2, 2.3.
1 Chapter 1 Automata: the Methods & the Madness Angkor Wat, Cambodia.
Introduction to Theory of Automata
By: Er. Sukhwinder kaur.  What is Automata Theory? What is Automata Theory?  Alphabet and Strings Alphabet and Strings  Empty String Empty String 
1.Introduction a)What is Automata b)Automaton and types of automata c)History, Turing Machine d) Why study Automata Theory e)Applications & Uses Dept.
Lecture # 3 Chapter #3: Lexical Analysis. Role of Lexical Analyzer It is the first phase of compiler Its main task is to read the input characters and.
Overview of Previous Lesson(s) Over View  Symbol tables are data structures that are used by compilers to hold information about source-program constructs.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Finite State Machines 1.Finite state machines with output 2.Finite state machines with no output 3.DFA 4.NDFA.
UNIT - I Formal Language and Regular Expressions: Languages Definition regular expressions Regular sets identity rules. Finite Automata: DFA NFA NFA with.
Costas Busch - LSU1 Time Complexity. Costas Busch - LSU2 Consider a deterministic Turing Machine which decides a language.
Introduction to Automata Theory
Lecture Notes 
Lecture 14 Push Down Automata (PDA) Topics:  Definition  Moves of the PDA  Languages of the PDA  Deterministic PDA’s June 18, 2015 CSCE 355 Foundations.
Theory of computation Introduction theory of computation: It comprises the fundamental mathematical properties of computer hardware, software,
using Deterministic Finite Automata & Nondeterministic Finite Automata
1 Compiler Construction (CS-636) Muhammad Bilal Bashir UIIT, Rawalpindi.
CS 404Ahmed Ezzat 1 CS 404 Introduction to Compiler Design Lecture 1 Ahmed Ezzat.
Prof. Busch - LSU1 Time Complexity. Prof. Busch - LSU2 Consider a deterministic Turing Machine which decides a language.
Theory of Computation Automata Theory Dr. Ayman Srour.
Set, Alphabets, Strings, and Languages. The regular languages. Clouser properties of regular sets. Finite State Automata. Types of Finite State Automata.
Deterministic Finite Automata Nondeterministic Finite Automata.
Akram Salah ISSR Basic Concepts Languages Grammar Automata (Automaton)
Lecture 2 Compiler Design Lexical Analysis By lecturer Noor Dhia
Theory of Computational Complexity TA : Junichi Teruyama Iwama lab. D3
MA/CSSE 474 Theory of Computation Decision Problems, Continued DFSMs.
Computation Theory Asia Mahdi. Textbooks Programs, Machines and Computation: An Introduction to the Theory of Computing - Authors: Keith Clark and Don.
1 Chapter 2 Finite Automata (part a) Hokkaido, Japan.
  An alphabet is any finite set of symbols.  Examples: ASCII, Unicode, {0,1} ( binary alphabet ), {a,b,c}. Alphabets.
Introduction to Automata Theory
Theory of Computation Automata Theory Dr. Ayman Srour.
Topic 3: Automata Theory 1. OutlineOutline Finite state machine, Regular expressions, DFA, NDFA, and their equivalence, Grammars and Chomsky hierarchy.
Finite Automata.
Formal Foundations-II [Theory of Automata]
Welcome to Automata Theory Course
Finite State Machines Dr K R Bond 2009
Introduction to the Theory of Computation
CSc 453 Lexical Analysis (Scanning)
CIS Automata and Formal Languages – Pei Wang
Welcome to Automata Theory Course
G. Pullaiah College of Engineering and Technology
Deterministic Finite Automata
Introduction to Automata Theory
Deterministic Finite Automata
THEORY OF COMPUTATION Lecture One: Automata Theory Automata Theory.
Finite Automata with Output
Non Deterministic Automata
Automata theory and formal languages COS 3112 – AUTOMATA THEORY PRELIM PERIOD WEEK 1 AND 2.
Presentation transcript:

AUTOMATA THEORY Reference Introduction to Automata Theory Languages and Computation Hopcraft, Ullman and Motwani

Automata Theory Automata theory is the abstract computing device or machine. Finite automata involves states and transitions among states in response to inputs. Finites automata are a useful model for many important kinds of h/w and s/w.

Why Study Automata Theory?  There are several reasons why the study of automata and complexity is an important part of the core of Computer science.

Why Study Automata Theory? Some of the most important kinds : 1.Software for designing and checking the behavior of digital circuits. 2.The “lexical analyzer” of a typical compiler, that is, the compiler component that breaks the input text into logical units, such as identifiers, keywords and punctuations.

Why Study Automata Theory? 3. Software for scanning large bodies of text, such as collections of web pages, to find occurrences of words, phrases, or other patterns. 4. Software for verifying systems of all types that have a finite number of distinct states, such as communications protocols or protocols for secure exchange of information.

A finite automata modeling on/off switch The devices remember whether it is in the “on” state or “off” state and it allows the user to press a button whose effect is different. off start on push

 The states are represented by circles, In this example two states “on” and “off”.  One of the states is designated by the start states.  It is often necessary to indicate one or more states as “final” or “accepting” states. A finite automata modeling on/off switch

 This figure shows finite automation that could be part of a lexical analyzer. The job of this automation is to recognize the keyword then. A finite Automation modeling recognition of then t th the then t start he n

 A finite Automation has a set of states and its control moves from one state to another in response to external inputs.  One of the crucial distinction among classes of finite automata is whether that control is “deterministic” meaning that the automation cannot be in more than one state at one time or “nondeterministic” meaning that it may be in several states at one. Introduction to Finite Automata

 Automata and Complexity  What can a computer do? ---  Computability: decidable problems.  Studying problems which can be solved by computer, called decidable problems.  Decidability  Decidability is the main topic in computability. Automata and Complexity

 Automata and Complexity  What can a computer do efficiently? ---  Computational Complexity  Computational Complexity: tractable problems intractableproblems  Studying tractable problems solvable with some slowly growing function (like polynomial) of input size, & intractable problems solvable with fast growing function (like exponential).  Intractability  Intractability is the main topic of computational complexity. Automata and Complexity

 Three basic concepts  Alphabet  Alphabet --- a set of symbols  Strings  Strings --- a sequence of symbols from an alphabet  Language  Language --- a set of strings from the same alphabet Central Concepts of Automata Theory

 Alphabets :  finite, nonempty set of symbols.  Conventional notation ---   Ex: 1. ∑ = {0,1} the binary alphabet,  2. ∑ = {a, b, c,... z}  3. The set of all ASCII characters Central Concepts of Automata Theory

 Strings :  finite sequences of symbols chosen from some alphabet  Ex: is string from the binary alphabet ∑ = {0,1}.  Empty string   Empty string  --- a string with zero occurrences of symbols  Length |w| positions  Length |w| of string w --- the number of positions for symbols in w  Examples --- |0111|=4, |  |=0, … Contd.

 Powers of an Alphabets: ∑º={€} ∑1={0,1} ∑2={00,01,10,11} ∑3={000,001,010,011,100,101,110,111} Central Concepts of Automata Theory

 Language : A language is set of strings all of which chosen from ∑*. Example: 1.The language of all strings consisting of n 0’s followed by n 1’s: { €,01,0011,000111,….. } Central Concepts of Automata Theory

2.The set of strings of 0’s and 1’s with an equal number each: {€,01,10,0011,0101,1001…..} 3.The set of binary number whose value is prime: {10,11,101,111,1011,…..} Central Concepts of Automata Theory

 Problem:  In automata theory, a problem is the question of deciding whether a given string is a member of some particular language. Central Concepts of Automata Theory

 End of Class