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 real 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 1970Cook introduces “intractable” problems or “NP-Hard” problems Modern computer science: compilers. computational & complexity theory evolve 4 .

Nature.nothing more.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 less N. Chomsky. 1959 Image source: Nowak et al. Information and Control. Vol 2. 2002 5 . vol 417.

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

. stock market transaction.. web pages) for pattern finding Software for verifying systems of all types that have a finite number of states (e.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. communication/network protocol) 7 .g.g.

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

The Central Concepts of Automata Theory 9 .

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

Strings A string or word is a finite sequence of symbols chosen from ∑ Empty string is ε (or “epsilon”) Length of a string w is |w| = number of characters in the string Powers of an alphabet ∑k = the set of all strings of length k ∑* = ∑0 U ∑1 U ∑2 U … ∑+ = ∑1 U ∑2 U ∑3 U … xy = concatentation of two strings x and y 11 .

0011.10.…} The set of strings of with equal number of 0’s and 1’s: {ε.1010. 01. if L is a subset of strings in ∑* Examples: The language of all strings consisting of n 0’s followed by n 1’s: {ε.000111.0101.1001.1100.Languages L is a said to be a language over alphabet ∑. Is L=Ø? no 12 .01.…} Ø = Empty language Let L = {ε}.0011.

The Membership Problem Given a string w in ∑*and a language L over ∑. decide whether or not w is in L. Example: Let w = 100011 Q) Is w ∈ Language of equal number of 0s and 1s? 13 .

. 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) 14 .Structural expressions Grammars Regular expressions E.g.

Formal Proofs 15 .

to a conclusion statement (what we want to prove) Logical progression by direct implications Theorem 1: If x≥4. then 2x≥x2 16 . then 2x≥x2.Deductive Proofs From the hypothesis or the given statement. hypothesis conclusion Theorem 2: If x is the sum of the squares of 4 positive integers.

then 2x≥x2 Proof: 1) 2) 3) 4) 5) Given: x = a2 + b2 + c2 + d2 Given: a≥1.Example: Deductive proof Theorem: If x is the sum of the squares of four positive integers. c≥1. c2≥1. d2≥1 (by 2) x≥4 (by 1 & 3) 2x ≥ x2 (by 4 and previous theorem) “implies” or “follows” 17 . d≥1 a2≥1. b2≥1. b≥1.

.Quantifiers “For all” or “For every” Universal proofs Notation=? “There exists” Used in existential proofs Notation=? Other notation: Implication is denoted by => E. “IF A THEN B” can also be written as “A=>B” 18 .g.

inductive step By contrapositive statement If A then B == If not B then not A 19 . we could start with: A and B and not(C or D) … and show that could never happen By induction (3 steps) Basis.. inductive hypothesis.Proving techniques By contradiction Start with a contradictory statement E. To prove (A and B => C or D).g.

an example that satisfied that claim is not a proof 20 .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.

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

“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. Proofs for iff have two parts One for the “if part” & another for the “only if part” 22 . Then floor of x = ceiling of x if and only if x is an integer.e.. “A iff B” Example: Theorem: Let x be a real number.

languages Membership problem Proofs: Deductive. contrapositive. counterexample If and only if Read chapter 1 for more examples and exercises Gradiance homework 1 23 .Summary Automata theory & a historical perspective Chomsky hierarchy Finite automata Alphabets. contradiction. induction. strings/words/sentences.

Sign up to vote on this title
UsefulNot useful