Automata
Automata
Automata
AUTOMATA AND
COMPUTABILITY
DETERMINISTIC FINITE
AUTOMATA
11
1
0,1
1
0111
111
1
0
0
1
1
0,1
1
q0
q2
0
0
q3
states
q1
0
1
q0
q2
0
0
start state (q0)
q3
states
NOTATION
An alphabet is a finite set (e.g., = {0,1})
A string over is a finite-length sequence of
elements of
* denotes the set of finite length sequences
of elements of
For x a string, |x| is the length of x
The unique string of length 0 will be denoted
by and will be called the empty or null string
A language over is a set of strings over ,
ie, a subset of *
q0
L(M) = {0,1}*
0,1
1
q0
q1
1
0,1
0
0
1
q0
q00
q001
A language L is regular if it is
recognized by a deterministic
finite automaton (DFA),
i.e. if there is a DFA M such
that L = L (M).
L = { w | w contains 001} is regular
L = { w | w has an even number of 1s} is regular
UNION THEOREM
Given two languages, L1 and L2, define
the union of L1 and L2 as
L1 L2 = { w | w L1 or w L2 }
Theorem: The union of two regular
languages is also a regular language
0
1
q0
q1
1
1
0
p0
p1
0
1
q0,p0
q1,p0
1
0
1
q0,p1
q1,p1
Intersection THEOREM
Given two languages, L1 and L2, define
the intersection of L1 and L2 as
L1 L2 = { w | w L1 and w L2 }
Theorem: The intersection of two
regular languages is also a regular
language