1 Introduction to Automata Theory Reading: Chapter 1.

Slides:



Advertisements
Similar presentations
CS 3240: Languages and Computation
Advertisements

CS 345: Chapter 9 Algorithmic Universality and Its Robustness
Chapter Chapter Summary Languages and Grammars Finite-State Machines with Output Finite-State Machines with No Output Language Recognition Turing.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Fall 2008.
Fall 2005 CSE 467/567 1 Formal languages regular expressions regular languages finite state machines.
Linear Bounded Automata LBAs
Topics Automata Theory Grammars and Languages Complexities
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
Lee CSCE 314 TAMU 1 CSCE 314 Programming Languages Syntactic Analysis Dr. Hyunyoung Lee.
CMPS 3223 Theory of Computation Automata, Computability, & Complexity by Elaine Rich ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Slides provided.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL 103.
UofH - COSC Dr. Verma COSC 3340: Introduction to Theory of Computation Rakesh Verma Computer Science Department University of Houston URL:
Welcome to Honors Intro to CS Theory Introduction to CS Theory (Honors & Traditional): - formalization of computation - various models of computation (increasing.
CS/IT 138 THEORY OF COMPUTATION Chapter 1 Introduction to the Theory of Computation.
Basic Concepts and Formal Language theory Unit –I By T.H. Gurav 8 October 2015.
AUTOMATA THEORY Reference Introduction to Automata Theory Languages and Computation Hopcraft, Ullman and Motwani.
1 Unit 1: Automata Theory and Formal Languages Readings 1, 2.2, 2.3.
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 
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.
Lecture 1 Computation and Languages CS311 Fall 2012.
CS 3813: Introduction to Formal Languages and Automata
Welcome to Honors Intro to CS Theory Introduction to CS Theory (Honors & Traditional): - formalization of computation - various models of computation (increasing.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL.
نظام المحاضرات الالكترونينظام المحاضرات الالكتروني 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.
UNIT - I Formal Language and Regular Expressions: Languages Definition regular expressions Regular sets identity rules. Finite Automata: DFA NFA NFA with.
Introduction to Automata Theory
Theory of computation Introduction theory of computation: It comprises the fundamental mathematical properties of computer hardware, software,
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata (LBAs) are the same as Turing Machines with one difference: The input string tape space is the.
1 Course Overview Why this course “formal languages and automata theory?” What do computers really do? What are the practical benefits/application of formal.
Introduction Why do we study Theory of Computation ?
C Sc 132 Computing Theory Professor Meiliu Lu Computer Science Department.
CS 404Ahmed Ezzat 1 CS 404 Introduction to Compiler Design Lecture 1 Ahmed Ezzat.
1 Theory of Computation Introduction Text Book: Michael Sipser. Introduction to the Theory of Computation. 2nd ed. Boston, MA: Thomson Course Technology,
Set, Alphabets, Strings, and Languages. The regular languages. Clouser properties of regular sets. Finite State Automata. Types of Finite State Automata.
Lecture 2 Compiler Design Lexical Analysis By lecturer Noor Dhia
Theory of Computation. Introduction to The Course Lectures: Room ( Sun. & Tue.: 8 am – 9:30 am) Instructor: Dr. Ayman Srour (Ph.D. in Computer Science).
Introduction Why do we study Theory of Computation ?
Introduction to Automata Theory
Topic 3: Automata Theory 1. OutlineOutline Finite state machine, Regular expressions, DFA, NDFA, and their equivalence, Grammars and Chomsky hierarchy.
Review : Theory of Computation. Regular Language and Finite Automata Context-free Language and Pushdown Automata Turing Machine and Recursive Enumerable.
Why Study Automata Theory and Formal Languages?
Welcome to Automata Theory Course
Why Study Automata? What the Course is About Administrivia
Why do we study Theory of Computation ?
Lecture 1 Theory of Automata
CIS Automata and Formal Languages – Pei Wang
Compilers Welcome to a journey to CS419 Lecture5: Lexical Analysis:
Course 1 Introduction to Formal Languages and Automata Theory (part 1)
Welcome to Automata Theory Course
PROGRAMMING LANGUAGES
Review : Theory of Computation
Linear Bounded Automata LBAs
Theory of Computation Theory of computation is mainly concerned with the study of how problems can be solved using algorithms.  Therefore, we can infer.
G. Pullaiah College of Engineering and Technology
Formal Language Theory
Jaya Krishna, M.Tech, Assistant Professor
Introduction to Automata Theory
CSE322 The Chomsky Hierarchy
Why do we study Theory of Computation ?
Regular Expressions
COSC 3340: Introduction to Theory of Computation
Sub: Theoretical Foundations of Computer Sciences
The Chomsky Hierarchy Costas Busch - LSU.
Automata theory and formal languages COS 3112 – AUTOMATA THEORY PRELIM PERIOD WEEK 1 AND 2.
Presentation transcript:

1 Introduction to Automata Theory Reading: Chapter 1

2 What is Automata Theory? Study of abstract computing devices, or “machines” Automaton = an abstract computing device – Note: A “device” need not even be a physical hardware! A fundamental question in computer science: – Find out what different models of machines can do and cannot do – The theory of computation Computability vs. Complexity

3 Alan Turing ( ) Father of Modern Computer Science English mathematician Studied abstract machines called Turing machines even before computers existed Heard of the Turing test? (A pioneer of automata theory)

4 Theory of Computation: A Historical Perspective 1930s Alan Turing studies Turing machines Decidability Halting problem s “Finite automata” machines studied Noam Chomsky proposes the “Chomsky Hierarchy” for formal languages 1969 Cook introduces “intractable” problems or “NP-Hard” problems Modern computer science: compilers, computational & complexity theory evolve

5 Languages & Grammars Or “words” Image source: Nowak et al. Nature, vol 417, 2002 Languages: “A language is a collection of sentences of finite length all constructed from a finite alphabet of symbols” Grammars: “A grammar can be regarded as a device that enumerates the sentences of a language” - nothing more, nothing less N. Chomsky, Information and Control, Vol 2, 1959

6 The Chomsky Hierachy Regular (DFA) Context- free (PDA) Context- sensitive (LBA) Recursively- enumerable (TM) A containment hierarchy of classes of formal languages

7 The Central Concepts of Automata Theory

8 Alphabet An alphabet is a finite, non-empty set of symbols We use the symbol ∑ (sigma) to denote an alphabet Examples: – Binary: ∑ = {0,1} – All lower case letters: ∑ = {a,b,c,..z} – Alphanumeric: ∑ = {a-z, A-Z, 0-9} – DNA molecule letters: ∑ = {a,c,g,t} – …

9 Strings A string or word is a finite sequence of symbols chosen from ∑ Empty string is  (or “epsilon”) Length of a string w, denoted by “|w|”, is equal to the number of (non-  ) characters in the string – E.g., x = |x| = 6 – x = 01  0  1  00  |x| = ? – xy = concatentation of two strings x and y

10 Powers of an alphabet Let ∑ be an alphabet. – ∑ k = the set of all strings of length k – ∑* = ∑ 0 U ∑ 1 U ∑ 2 U … – ∑ + = ∑ 1 U ∑ 2 U ∑ 3 U …

11 Languages L is a said to be a language over alphabet ∑, only if L  ∑*  this is because ∑* is the set of all strings (of all possible length including 0) over the given alphabet ∑ Examples: 1.Let L be the language of all strings consisting of n 0’s followed by n 1’s: L = { ,01,0011,000111,…} 2.Let L be the language of all strings of with equal number of 0’s and 1’s: L = { ,01,10,0011,1100,0101,1010,1001,…} Definition:Ø denotes the Empty language Let L = {  }; Is L=Ø? NO

12 The Membership Problem Given a string w  ∑*and a language L over ∑, decide whether or not w  L. Example: Let w = Q) Is w  the language of strings with equal number of 0s and 1s?

13 Finite Automata Some Applications – Software for designing and checking the behavior of digital circuits – Lexical analyzer of a typical compiler – Software for scanning large bodies of text (e.g., web pages) for pattern finding – Software for verifying systems of all types that have a finite number of states (e.g., stock market transaction, communication/network protocol)

14 Finite Automata : Examples On/Off switch Modeling recognition of the word “then” Start state Final stateTransitionIntermediate state action state

15 Structural expressions Grammars Regular expressions – E.g., unix style to capture city names such as “Palo Alto CA”: [A-Z][a-z]*([ ][A-Z][a-z]*)*[ ][A-Z][A-Z] Start with a letter A string of other letters (possibly empty) Other space delimited words (part of city name) Should end w/ 2-letter state code