Lecture 02
Lecture 02
Finite
Automata
COMPSCI 102 Lecture 2
Let me show you a
machine so simple
that you can
understand it in
less than two
minutes
11 1
0
0,1
1
0111 111 1
0 0
0 0
q0 q12
q1 1
0
0,1
1
q0 q2
0 0
The alphabet of a finite automaton is the
set where the symbols come from: 1
{0,1}
q3
The language of a finite automaton is the
set of strings that it accepts
Steven Rudich: www.cs.cmu.edu/~ru
dich rudich0123456789
q0 0,1
L(M) =All
strings of 0s and 1s
1
q0 q1
1
0
q1
0,1
1
*
q0
0
q0
1
q1
1
q1 q2 q2
q0
M q2
0 0 q2 q3 q2
1 q3 q0 q2
q3
Steven Rudich: www.cs.cmu.edu/~ru
dich rudich0123456789
Build an automaton that accepts all and
only those strings that contain 001
0,1
1 0
0 0 1
q q0 q00 q001
1
1
q0 q1
1 1
1
0
p0 p1
Steven Rudich: www.cs.cmu.edu/~ru
0
dich rudich0123456789
Automaton for Union
1
q0,p0 q1,p0
1
0 0
0 0
1
q0,p1 q1,p1
1
0 0
0 0
1
q0,p1 q1,p1
1
Intersection: A B = { w | w A and w B }
Negation: A = { w | w A }
Concatenation: A B = { vw | v A and w B }
Coke Machines
Thermostats (fridge)
Elevators
b a
a
b
b
Letterbox principle:
If the average number
of letters per box is x,
then some box will
have at least x letters
(similarly, some box
has at most x)
Theorem: L= {anbn | n > 0 } is not regular
Proof (by contradiction):
Assume that L is regular
Then there exists a machine M with k
states that accepts L
For each 0 i k, let Si be the state M is
in after reading ai
i,j k such that Si = Sj, but i j
M will do the same thing on aibi and ajbi
But a valid M must reject ajbi and accept aibi
Deterministic Finite
Automata
• Definition
• Testing if they accept a
string
• Building automata
Regular Languages
• Definition
Here’s
• Closed Under Union,
What You
Need to Intersection, Negation
Know… • Using Pigeonhole Principle to
show language ain’t regular