Introduction to Automata Theory. Reading: Chapter 1

Similar documents
Automata Theory. Şubat 2006 Tuğrul Yılmaz Ankara Üniversitesi

The Halting Problem is Undecidable

Finite Automata. Reading: Chapter 2

Overview of E0222: Automata and Computability

Turing Machines: An Introduction

Handout #1: Mathematical Reasoning

Compiler Construction

Finite Automata and Formal Languages

Full and Complete Binary Trees

Model 2.4 Faculty member + student

Automata and Computability. Solutions to Exercises

Automata and Formal Languages

Finite Automata. Reading: Chapter 2

3515ICT Theory of Computation Turing Machines

CS 3719 (Theory of Computation and Algorithms) Lecture 4

Introduction to Turing Machines

CS5236 Advanced Automata Theory

Honors Class (Foundations of) Informatics. Tom Verhoeff. Department of Mathematics & Computer Science Software Engineering & Technology

Computability Theory

(IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems.

Regular Languages and Finite State Machines

Mathematical Induction. Lecture 10-11

Reading 13 : Finite State Automata and Regular Expressions

SRM UNIVERSITY FACULTY OF ENGINEERING & TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF SOFTWARE ENGINEERING COURSE PLAN

Regular Languages and Finite Automata

Computational Models Lecture 8, Spring 2009

CSE 135: Introduction to Theory of Computation Decidability and Recognizability

Introduction to Theory of Computation

Lecture 2: Universality

Models of Sequential Computation

Informatique Fondamentale IMA S8

24 Uses of Turing Machines

Pushdown Automata. place the input head on the leftmost input symbol. while symbol read = b and pile contains discs advance head remove disc from pile

Pushdown automata. Informatics 2A: Lecture 9. Alex Simpson. 3 October, School of Informatics University of Edinburgh als@inf.ed.ac.

T Reactive Systems: Introduction and Finite State Automata

Deterministic Finite Automata

6.2 Permutations continued

Philadelphia University Faculty of Information Technology Department of Computer Science First Semester, 2007/2008.

Automata on Infinite Words and Trees

Formal Grammars and Languages

Regular Expressions with Nested Levels of Back Referencing Form a Hierarchy

Genetic programming with regular expressions

Chapter 3. Cartesian Products and Relations. 3.1 Cartesian Products

Quantum and Non-deterministic computers facing NP-completeness

The P versus NP Solution

Computer Architecture Syllabus of Qualifying Examination

Elementary Number Theory and Methods of Proof. CSE 215, Foundations of Computer Science Stony Brook University

Chapter 7 Uncomputability

Discrete Mathematics and Probability Theory Fall 2009 Satish Rao, David Tse Note 2

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, Class 4 Nancy Lynch

CSC4510 AUTOMATA 2.1 Finite Automata: Examples and D efinitions Definitions

6.080/6.089 GITCS Feb 12, Lecture 3

Cartesian Products and Relations

CAs and Turing Machines. The Basis for Universal Computation

THE TURING DEGREES AND THEIR LACK OF LINEAR ORDER

Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson

CHAPTER 7 GENERAL PROOF SYSTEMS

The Optimum One-Pass Strategy for Juliet

Two-dimensional Languages

Follow links for Class Use and other Permissions. For more information send to:

THEORY of COMPUTATION

Lemma 5.2. Let S be a set. (1) Let f and g be two permutations of S. Then the composition of f and g is a permutation of S.

CS154. Turing Machines. Turing Machine. Turing Machines versus DFAs FINITE STATE CONTROL AI N P U T INFINITE TAPE. read write move.

CS 301 Course Information

Scanner. tokens scanner parser IR. source code. errors

Fundamentele Informatica II

CS 103X: Discrete Structures Homework Assignment 3 Solutions

Page 331, 38.4 Suppose a is a positive integer and p is a prime. Prove that p a if and only if the prime factorization of a contains p.

The Classes P and NP

Implementation of Recursively Enumerable Languages using Universal Turing Machine in JFLAP

C H A P T E R Regular Expressions regular expression

Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.

Increasing Interaction and Support in the Formal Languages and Automata Theory Course

Finite Automata and Regular Languages

Pushdown Automata. International PhD School in Formal Languages and Applications Rovira i Virgili University Tarragona, Spain

Omega Automata: Minimization and Learning 1

I. GROUPS: BASIC DEFINITIONS AND EXAMPLES

Testing LTL Formula Translation into Büchi Automata

Solutions for Practice problems on proofs

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

SECTION 10-2 Mathematical Induction

Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

A first step towards modeling semistructured data in hybrid multimodal logic

Course Manual Automata & Complexity 2015

CMPSCI 250: Introduction to Computation. Lecture #19: Regular Expressions and Their Languages David Mix Barrington 11 April 2013

Today s Topics. Primes & Greatest Common Divisors

Degrees that are not degrees of categoricity

136 CHAPTER 4. INDUCTION, GRAPHS AND TREES

Fast nondeterministic recognition of context-free languages using two queues

Solutions to In-Class Problems Week 4, Mon.

Cardinality. The set of all finite strings over the alphabet of lowercase letters is countable. The set of real numbers R is an uncountable set.

NP-Completeness and Cook s Theorem

CHAPTER 3. Methods of Proofs. 1. Logical Arguments and Formal Proofs

Introduction. Appendix D Mathematical Induction D1

Semantic Analysis: Types and Type Checking

Transcription:

Introduction to Automata Theory Reading: Chapter 1 1

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 2

(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? 3

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 4

Languages & Grammars Or words 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 Image source: Nowak et al. Nature, vol 417, 2002 5

The Chomsky Hierachy A containment hierarchy of classes of formal languages Regular (DFA) Contextfree (PDA) Contextsensitive (LBA) Recursivelyenumerable (TM) 6

The Central Concepts of Automata Theory 7

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

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 = concatentation of two strings x and y 9

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 10

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, } Canonical ordering of strings in the language Definition: Ø denotes the Empty language Let L = {ε}; Is L=Ø? NO 11

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? 12

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

Finite Automata : Examples On/Off switch action state Modeling recognition of the word then Start state Transition Intermediate state Final state 14

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

Formal Proofs 16

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 2 y y 2. given conclusion (there are other ways of writing this). 17

Example: Deductive proof Let Claim 1: If y 4, then 2 y y 2. Let x be any number which is obtained by adding the squares of 4 positive integers. Claim 2: Given x and assuming that Claim 1 is true, prove that 2 x x 2 Proof: 1) Given: x = a 2 + b 2 + c 2 + d 2 2) Given: a 1, b 1, c 1, d 1 3) a 2 1, b 2 1, c 2 1, d 2 1 (by 2) 4) x 4 (by 1 & 3) 5) 2 x x 2 (by 4 and Claim 1) implies or follows 18

On Theorems, Lemmas and Corollaries We typically refer to: A major result as a theorem An intermediate result that we show to prove a larger result as a lemma A result that follows from an already proven result as a corollary An example: Theorem: The height of an n-node binary tree is at least floor(lg n) Lemma: Level i of a perfect binary tree has 2 i nodes. Corollary: A perfect binary tree of height h has 2 h+1-1 nodes. 19

Quantifiers For all or For every Universal proofs Notation * =? There exists Used in existential proofs Notation * =? 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. These will be presented in class. 20

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 contrapositive statement If A then B If ~B then ~A 21

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 22

Different ways of saying the same thing If H then C : i. H implies C ii. iii. iv. H => C C if H H only if C v. Whenever H holds, C follows 23

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 24

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 25