Introduction to Automata Theory

Slides:



Advertisements
Similar presentations
Lecture 24 MAS 714 Hartmut Klauck
Advertisements

CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
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.
Finite Automata Great Theoretical Ideas In Computer Science Anupam Gupta Danny Sleator CS Fall 2010 Lecture 20Oct 28, 2010Carnegie Mellon University.
Regular Languages Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 3 Comments, additions and modifications.
CS5371 Theory of Computation Lecture 5: Automata Theory III (Non-regular Language, Pumping Lemma, Regular Expression)
Regular Languages Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 3 Comments, additions and modifications.
CS 454 Theory of Computation Sonoma State University, Fall 2011 Instructor: B. (Ravi) Ravikumar Office: 116 I Darwin Hall Original slides by Vahid and.
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
 2004 SDU Introduction to the Theory of Computation My name: 冯好娣 My office: 计算中心 430
1 Introduction to Automata Theory Reading: Chapter 1.
Introduction to Automata The methods and the madness.
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:
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.
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.
1 Chapter 1 Introduction to the Theory of Computation.
1 Undecidability Reading: Chapter 8 & 9. 2 Decidability vs. Undecidability There are two types of TMs (based on halting): (Recursive) TMs that always.
Mathematical Preliminaries (Hein 1.1 and 1.2) Sets are collections in which order of elements and duplication of elements do not matter. – {1,a,1,1} =
Lecture 1 Computation and Languages CS311 Fall 2012.
Theory of Computation, Feodor F. Dragan, Kent State University 1 TheoryofComputation Spring, 2015 (Feodor F. Dragan) Department of Computer Science Kent.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL.
Specifying Languages Our aim is to be able to specify languages for use in the computer. The sketch of an FSA is easy for us to understand, but difficult.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
Classifications LanguageGrammarAutomaton Regular, right- linear Right-linear, left-linear DFA, NFA Context-free PDA Context- sensitive LBA Recursively.
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.
Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1 Chapter 0 Introduction Some slides are in courtesy of Prof.
Theory of computation Introduction theory of computation: It comprises the fundamental mathematical properties of computer hardware, software,
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
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 ?
Chapter 5 Finite Automata Finite State Automata n Capable of recognizing numerous symbol patterns, the class of regular languages n Suitable for.
1 Formal Proofs. 2 Deductive Proofs From the given statement(s) to a conclusion statement (what we want to prove) Logical progression by direct implications.
C Sc 132 Computing Theory Professor Meiliu Lu Computer Science Department.
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.
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.
Computability Joke. Context-free grammars Parsing. Chomsky
Why Study Automata Theory and Formal Languages?
Welcome to Automata Theory Course
Why Study Automata? What the Course is About Administrivia
Introduction to the Theory of Computation
Why do we study Theory of Computation ?
Lecture 1 Theory of Automata
CIS Automata and Formal Languages – Pei Wang
Course 1 Introduction to Formal Languages and Automata Theory (part 1)
Welcome to Automata Theory Course
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.
Jaya Krishna, M.Tech, Assistant Professor
Introduction to Automata Theory
Why do we study Theory of Computation ?
CS 3304 Comparative Languages
Chapter 1 Introduction to the Theory of Computation
Cpt S 317: Spring 2009 Reading: Chapter 8 & 9
COSC 3340: Introduction to Theory of Computation
More Undecidable Problems
Presentation transcript:

Introduction to Automata Theory Cpt S 317: Spring 2009 Introduction to Automata Theory Reading: Chapter #1 By Dr.Hamed Alrjoub د.حامد الرجوب Dr. Hamed Alrjoub School of EECS, WSU

What is Automata Theory? Cpt S 317: Spring 2009 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 Dr. Hamed Alrjoub School of EECS, WSU

Alan Turing (1912-1954) (A pioneer of automata theory) Cpt S 317: Spring 2009 (A pioneer of automata theory) Alan Turing (1912-1954) Father of Modern Computer Science English mathematician Studied abstract machines called Turing machines even before computers existed Heard of the Turing test? Dr. Hamed Alrjoub School of EECS, WSU

Theory of Computation: A Historical Perspective Cpt S 317: Spring 2009 Theory of Computation: A Historical Perspective 1930s Alan Turing studies Turing machines Decidability Halting problem 1940-1950s “Finite automata” machines studied Noam Chomsky proposes the “Chomsky Hierarchy” for formal languages 1969 Cook introduces “intractable” problems or “NP-Hard” problems 1970- Modern computer science: compilers, computational & complexity theory evolve Dr. Hamed Alrjoub School of EECS, WSU

Cpt S 317: Spring 2009 Languages & Grammars 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 Or “words” Dr. Hamed Alrjoub Image source: Nowak et al. Nature, vol 417, 2002 School of EECS, WSU

Cpt S 317: Spring 2009 The Chomsky Hierachy A containment hierarchy of classes of formal languages Recursively- enumerable (TM) Context- sensitive (LBA) Context- free (PDA) Regular (DFA) Dr. Hamed Alrjoub School of EECS, WSU

The Central Concepts of Automata Theory Cpt S 317: Spring 2009 The Central Concepts of Automata Theory Hamed Alrjoub د.حامد الرجوب Dr. Hamed Alrjoub School of EECS, WSU

Alphabet An alphabet is a finite, non-empty set of symbols Cpt S 317: Spring 2009 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} … Dr. Hamed Alrjoub School of EECS, WSU

Strings A string or word is a finite sequence of symbols chosen from ∑ Cpt S 317: Spring 2009 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 = 010100 |x| = 6 x = 01  0  1  00  |x| = ? xy = concatenation of two strings x and y Dr. Hamed Alrjoub School of EECS, WSU

Powers of an alphabet Let ∑ be an alphabet. Cpt S 317: Spring 2009 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 … Dr. Hamed Alrjoub School of EECS, WSU

Cpt S 317: Spring 2009 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: Let L be the language of all strings consisting of n 0’s followed by n 1’s: L = {,01,0011,000111,…} 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 Dr. Hamed Alrjoub School of EECS, WSU

The Membership Problem Cpt S 317: Spring 2009 The Membership Problem Given a string w ∑*and a language L over ∑, decide whether or not w L. Example: Let w = 100011 Q) Is w  the language of strings with equal number of 0s and 1s? Dr. Hamed Alrjoub School of EECS, WSU

Finite Automata Some Applications Cpt S 317: Spring 2009 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) Dr. Hamed Alrjoub School of EECS, WSU

Finite Automata : Examples Cpt S 317: Spring 2009 Finite Automata : Examples action On/Off switch Modeling recognition of the word “then” state Start state Final state Transition Intermediate state Dr. Hamed Alrjoub School of EECS, WSU

Structural expressions Cpt S 317: Spring 2009 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) Should end w/ 2-letter state code Other space delimited words (part of city name) Dr. Hamed Alrjoub School of EECS, WSU

Formal Proofs Cpt S 317: Spring 2009 School of EECS, WSU Dr. Hamed Alrjoub School of EECS, WSU

Cpt S 317: Spring 2009 Deductive Proofs From the given statement(s) to a conclusion statement (what we want to prove) Logical progression by direct implications Example for parsing a statement: “If y≥4, then 2y≥y2.” (there are other ways of writing this). given conclusion Dr. Hamed Alrjoub School of EECS, WSU

Example: Deductive proof Cpt S 317: Spring 2009 Example: Deductive proof Let Claim 1: If y≥4, then 2y≥y2. Let x be any number which is obtained by adding the squares of 4 positive integers. Given x and assuming that Claim 1 is true, prove that 2x≥x2 Proof: Given: x = a2 + b2 + c2 + d2 Given: a≥1, b≥1, c≥1, d≥1  a2≥1, b2≥1, c2≥1, d2≥1 (by 2)  x ≥ 4 (by 1 & 3)  2x ≥ x2 (by 4 and Claim 1) “implies” or “follows” Dr. Hamed Alrjoub School of EECS, WSU

Quantifiers Implication is denoted by => “For all” or “For every” Cpt S 317: Spring 2009 Quantifiers “For all” or “For every” Universal proofs Notation*=? “There exists” Used in existential proofs Implication is denoted by => E.g., “IF A THEN B” can also be written as “A=>B” *I wasn’t able to locate the symbol for these notation in powerpoint. Sorry! Please follow the standard notation for these quantifiers. Dr. Hamed Alrjoub School of EECS, WSU

Proving techniques By contradiction By induction Cpt S 317: Spring 2009 Proving techniques By contradiction Start with the statement contradictory to the given statement E.g., To prove (A => B), we start with: (A and ~B) … and then show that could never happen What if you want to prove that “(A and B => C or D)”? By induction (3 steps) Basis, inductive hypothesis, inductive step By contra positive statement If A then B ≡ If ~B then ~A Dr. Hamed Alrjoub School of EECS, WSU

مثال :اذا كان x عددا طبيعيا زوجيا فان مربعه x2 هو عدد طبيعي زوجي : x even so x=2n الفرضيه X2 is even : النتيجه X2 not even so its odd number so x2=2m+1: نفترض صحه نفي النتيجه From this x=sqrt(2m+1). we know x=2n so 2n=sqrt(2m+1), بتربيع الطرفين نحصل على 4n2=2m+1 4n2=2(2n2) وهذه المساواه تناقض لانها عدد زوجي يجب اعطاء مثال استقراء *حموز 196 Dr. Hamed Alrjoub

Proving techniques… By counter-example Cpt S 317: Spring 2009 Proving techniques… By counter-example Show an example that disproves the claim Note: There is no such thing called a “proof by example”! So when asked to prove a claim, an example that satisfied that claim is not a proof Dr. Hamed Alrjoub School of EECS, WSU

Different ways of saying the same thing Cpt S 317: Spring 2009 Different ways of saying the same thing “If H then C”: H implies C H => C C if H H only if C Whenever H holds, C follows Dr. Hamed Alrjoub School of EECS, WSU

“If-and-Only-If” statements Cpt S 317: Spring 2009 “If-and-Only-If” statements “A if and only if B” (A <==> B) (if part) if B then A ( <= ) (only if part) A only if B ( => ) (same as “if A then B”) “If and only if” is abbreviated as “iff” i.e., “A iff B” Example: Theorem: Let x be a real number. Then floor of x = ceiling of x if and only if x is an integer. Proofs for iff have two parts One for the “if part” & another for the “only if part” Dr. Hamed Alrjoub School of EECS, WSU

Summary Automata theory & a historical perspective Chomsky hierarchy Cpt S 317: Spring 2009 Summary Automata theory & a historical perspective Chomsky hierarchy Finite automata Alphabets, strings/words/sentences, languages Membership problem Proofs: Deductive, induction, contrapositive, contradiction, counterexample If and only if Read chapter 1 for more examples and exercises Gradiance homework 1 Dr. Hamed Alrjoub School of EECS, WSU