Introduction to Automata
Theoryy
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
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
Theoryy of Computation:
p 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” p
problems
1970- Modern computer science: compilers,
computational & complexity theory evolve
4
Languages & Grammars
Languages: “A language is a
Or “words” collection of sentences of
finite length all constructed
f
from a finite
fi it alphabet
l h b t off
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
t i t hierarchy
hi h off classes
l off fformall llanguages
Regular
g Context-
(DFA) Context-
C t t
free Recursively-
sensitive
(PDA) enumerable
(LBA) (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
L th off a string
t i w, denoted
d t db by “|
“|w|”,
|” is
i
equal to the number of (non- ) characters in the
string
g
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
th sett off allll strings
ti off length
l th 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
g including
length g 0)) over the g
given alphabet
p ∑
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,…}
{ 01 10 0011 1100 0101 1010 1001 }
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
off digital
di it l circuits
i it
Lexical analyzer of a typical compiler
Software
So a e for
o sca
scanning
g large
a ge bod
bodies
es o of text
e (e(e.g.,
g,
web pages) for pattern finding
Software for verifying systems of all types that
have a finite number of states (e(e.g.,
g stock market
transaction, communication/network protocol)
13
Finite Automata : Examples
action
On/Off switch state
Modeling recognition of the word “then”
Start state Transition Intermediate Final state
state
14
Structural expressions
Grammars
Regular expressions
E.g., unix style to capture city names such
as “Palo
Palo Alto CA”:
CA :
[A-Z][a-z]*([ ][A-Z][a-z]*)*[ ][A-Z][A-Z]
Start with a letter
A string of other
letters (p
(possibly
y Should end w/ 2-letter state code
empty)
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
y≥4,, then 2y≥yy2.”
given conclusion
(there are other ways of writing this).
17
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
Gi d assuming
i that
th t Claim
Cl i 1 is
i true,
t prove that
th t 2x≥x
≥ 2
Proof:
1) Given: x = a2 + b2 + c2 + d2
2) Given: a≥1, b≥1, c≥1, d≥1
3) a2≥1, b2≥1, c2≥1, d2≥1 (by 2)
4) x≥4 (by 1 & 3)
5) 2x ≥ x2 (by 4 and Claim 1)
“implies” or “follows”
18
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”
*Iwasn’t able to locate the symbol for these notation in powerpoint. Sorry!
Please follow the standard notation for these quantifiers.
19
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
20
Proving techniques…
By counter-example
Show an example that disproves the claim
Note: There is no such thing called a
“proof
p by
y example”!
p
So when asked to prove a claim, an example that
satisfied that claim is not a proof
21
Different ways of saying the same
thing
“If H then C”:
i. H implies
p C
ii. H => C
iii. C if H
iv. H only if C
v. Whenever H holds, C follows
22
“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
If and only if”
if is abbreviated as “iff”
iff
i.e., “A iff B”
Example:
p
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”
23
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
24