slides section 2.1

A play of tennis
game, set, match
love, 15, 30, 40, game
winning also requires at least two scores more
deuce, advantage-in, advantage-out
A tennis automaton
love
A tennis automaton
s
15-love
love
o
love-15
A tennis automaton
s
s
love
30-love
15-love
o
s
15-all
o
love-15
o
love-30
A tennis automaton
s
s
40-love
30-love
o
s
love
15-love
s
o
s
o
30-15
15-all
o
love-15
s
15-30
o
love-30
o
love-40
A tennis automaton
s
s
s
game-in
40-love
30-love
o
s
love
15-love
s
o
s
o
30-15
15-all
o
love-15
s
15-30
o
love-30
o
love-40
o
game-out
A tennis automaton
s
s
game-in
40-love
o
s
30-love
s
40-15
o
s
love
15-love
s
o
s
o
30-15
o
15-all
s
30-all
o
love-15
s
o
15-30
o
love-30
s
15-40
o
love-40
o
game-out
A tennis automaton
game-in
s
s
s
40-love
s
o
s
30-love
s
40-15
o
s
love
15-love
s
o
s
o
o
30-15
s
o
15-all
s
s
o
o
30-all
o
love-15
40-30
s
o
15-30
s
30-40
o
love-30
s
15-40
o
o
love-40
o
o
game-out
deuce
A tennis automaton
game-in
s
s
s
40-love
s
o
s
30-love
s
40-15
o
s
love
15-love
s
o
s
o
30-15
s
o
15-all
s
s
o
s
40-30
o
30-all
o
love-15
adv-in
o
s
o
15-30
s
30-40
deuce
o
o
love-30
s
15-40
adv-out
o
o
love-40
o
o
game-out
A tennis automaton
game-in
s
s
s
40-love
s
o
s
30-love
s
40-15
o
s
love
15-love
s
o
s
o
30-15
s
o
15-all
s
s
o
adv-in
o
o
40-30
s
o
15-30
s
s
o
30-all
o
love-15
s
30-40
deuce
o
s
o
love-30
s
15-40
adv-out
o
o
love-40
o
o
o
game-out
Adding a sink state
game-in
s
s
s
40-love
s
o
s
s
30-love
s
o
15-love
s
love
s
o
40-15
s
15-all
s
s
o
o
40-30
o
s
o
30-all
o
love-15
adv-in
o
30-15
o
s,o
s
s
o
15-30
s
30-40
deuce
o
sink
s
o
love-30
o
s
15-40
adv-out
o
love-40
o
o
o
game-out
s,o
s,o
A tennis automaton (cont.)
game-in
s
s
s
40-love
s
o
s
30-love
s
40-15
o
s
15-love
love
s
o
30-15
s
s
15-all
s
o
40-30
o
30-all
s
o
15-30
s
o
s
o
o
love-15
adv-in
o
o
s,o
s
s
30-40
deuce
o
sink
s
o
love-30
s
15-40
adv-out
o
o
love-40
o
o
o
game-out
single initial state
zero or more final states
many labeled transitions
for each state and symbol exactly one transition
s,o
s,o
A tennis automaton (cont.)
game-in
s
s
s
40-love
s
o
s
30-love
s
40-15
o
s
love
15-love
s
o
s
o
30-15
s
o
s
s
o
o
40-30
s
o
15-30
s
s
o
30-all
o
love-15
adv-in
o
15-all
s,o
s
30-40
deuce
o
sink
s
o
love-30
s
15-40
adv-out
o
o
love-40
o
o
o
game-out
accepted strings like sososs and soossosooo
s,o
s,o
Question?
Which string is not accepted by the tennis automaton?
game-in
s
s
s
s
40-love
s
o
30-love
s
40-15
o
s
15-love
s
love
s
o
30-15
s
15-all
s
A. sossooososoo
o
B. ssssos
C. ooosssss
D. all are accepted
s
love-30
o
40-30
o
30-all
s
o
15-30
s
o
s
s
o
o
love-15
adv-in
o
o
s,o
s
30-40
15-40
deuce
o
sink
s
adv-out
o
o
love-40
o
o
o
game-out
s,o
s,o
Deterministic Finite Automata
2IT70 Finite Automata and Process Theory
Quartile 2, 2014-2015
Deterministic finite automaton
DFA D
ˆ
Q, Σ, δ, q0 , F 
Q finite set of states
Σ finite alphabet
δ Q Σ
Q transition function
q0 > Q initial state
F b Q set of final states
2 IT70 (2014) Section 2.1
8 / 19
The tennis example
game-in
s
s
s
40-love
s
o
s
30-love
s
40-15
o
s
love
15-love
s
o
s
o
30-15
s
o
s
s
o
s
o
15-30
s
s
o
30-40
deuce
o
sink
s,o
s
o
love-30
s
15-40
adv-out
o
o
love-40
o
o
2 IT70 (2014) Section 2.1
o
40-30
30-all
o
love-15
adv-in
o
15-all
s,o
s
o
s,o
game-out
9 / 19
An example DFA?
game-in
s
s
s
40-love
30-love
s
s
40-15
o
s
love
15-love
s
o
s
o
s
o
s
s
o
o
40-30
s
o
15-30
s
s
o
30-all
o
love-15
adv-in
o
30-15
15-all
s,o
s
s
o
30-40
deuce
o
sink
s,o
s
o
love-30
s
15-40
adv-out
o
o
love-40
o
o
o
s,o
game-out
set of states ˜ love, 15–love, love–15, . . . 
game-in, game-out, deuce, adv-in, adv-out 
alphabet ˜s, o 
s
o
transitions love
15–love, love
love–15, . . .
initial state love
set of final states ˜ game-in, game-out 
2 IT70 (2014) Section 2.1
10 / 19
one-step and multi-step yield
configuration ˆq, w  for state q and string w
2 IT70 (2014) Section 2.1
11 / 19
one-step and multi-step yield
configuration ˆq, w  for state q and string w
one-step yield
œ œ
ˆq, w 
D ˆq , w 
Ø
2 IT70 (2014) Section 2.1
iff
§
aw
aw œ , δˆq, a
qœ
11 / 19
one-step and multi-step yield
configuration ˆq, w  for state q and string w
one-step yield
œ œ
ˆq, w 
D ˆq , w 
Ø
iff
§
aw
aw œ , δˆq, a
qœ
multi-step yield
‡
œ œ
ˆq, w 
D ˆq , w 
Ø
2 IT70 (2014) Section 2.1
11 / 19
one-step and multi-step yield
configuration ˆq, w  for state q and string w
one-step yield
œ œ
ˆq, w 
D ˆq , w 
Ø
iff
multi-step yield
‡
œ œ
ˆq, w 
D ˆq , w 
Ø
§
aw œ , δˆq, a
aw
qœ
iff
n E 0 §w0 , . . . , wn > Σ‡ §q0 , . . . , qn > Q §
q, w 
ˆ
ˆ
q0 , w0 ,
qi 1 , wi 1 
ˆ
ØD
qn , wn 
ˆ
2 IT70 (2014) Section 2.1
qi , wi , for i
ˆ
1..n
œ œ
ˆq , w 
11 / 19
one-step and multi-step yield
configuration ˆq, w  for state q and string w
one-step yield
œ œ
ˆq, w 
D ˆq , w 
Ø
iff
multi-step yield
‡
œ œ
ˆq, w 
D ˆq , w 
Ø
§
aw œ , δˆq, a
aw
qœ
iff
n E 0 §w0 , . . . , wn > Σ‡ §q0 , . . . , qn > Q §
q, w 
ˆ
ˆ
q0 , w0 ,
qi 1 , wi 1 
ˆ
ØD
qn , wn 
ˆ
Ø
Ø
qi , wi , for i
ˆ
q, w  ˆq0 , w0  D ˆq1 , w1  D for suitable n, w0 , . . . , wn , q0 , . . . , qn
ˆ
2 IT70 (2014) Section 2.1
1..n
œ œ
ˆq , w 
ØD
qn , wn 
ˆ
qœ, w œ
ˆ
11 / 19
Another example DFA
b
a, b
a
a
q0
a
q1
b
q2
q3
b
Ø q1 , baa Ø q0 , aa
q0 , bbaa Ø q0 , baa Ø q0 , aa
q1 , aa ؇ q2 , ε and q1 , aaaa
q0 , aab ؇ q3 , ε ,
q0 , baab
‡
q0 , baaaabaabb Ø q3 , ε
q0 , abaa
ˆ
ˆ

ˆ

ˆ
2 IT70 (2014) Section 2.1

ˆ

ˆ

ˆ

ˆ

ˆ
ˆ

ˆ


ˆ

ˆ

ˆ
Ø q1 , a Ø q2 , ε
Ø q1 , a Ø q2 , ε
؇ q2 , ε
؇ q3 , ε , and
ˆ

ˆ

ˆ

ˆ

ˆ

ˆ


12 / 19
Language accepted by DFA
L
D
ˆ
2 IT70 (2014) Section 2.1
˜
w > Σ‡ S § q > F ˆq0 , w 
ØD‡
q, ε 
ˆ
13 / 19
Language accepted by DFA
L
D
ˆ
˜
w > Σ‡ S § q > F ˆq0 , w 
ØD‡
b
a
a
q0
q1
a
q2
q, ε 
ˆ
a, b
b
q3
b
accepted language ˜ w > ˜a, b ‡ S w has a substring aab 
2 IT70 (2014) Section 2.1
13 / 19
Question
Which language is the language accepted by this automaton?
a
ee
oe
a
b
b
b
b
a
eo
oo
a
A. ˜a, b, aba, bab 
B.
˜
C.
˜
D.
˜
aˆbb n S n E 0  8 ˜ b ˆaan S n E 0 
w > ˜a, b ‡ S #a ˆw  is odd 
w > ˜a, b ‡ S #a ˆw  #b ˆw  is odd 
2 IT70 (2014) Section 2.1
14 / 19
Path sets
DFA D, state q
pathset D ˆq 
2 IT70 (2014) Section 2.1
˜
w > Σ ‡ S ˆq 0 , w 
؇D
q, ε 
ˆ
15 / 19
Path sets
DFA D, state q
pathset D ˆq 
˜
w > Σ ‡ S ˆq 0 , w 
؇D
q, ε 
ˆ
a
even
odd
a
pathset D ˆeven
pathset D ˆodd 
2 IT70 (2014) Section 2.1
an S n E 0, n even 
n
˜a
S n E 0, n odd 
˜
15 / 19
Yet another example DFA
0, 1
0
1
q0
q1
1
q2
0
L
state
˜
w > ˜0, 1‡ S w has no substring 11 
pathset
regular expressions
q0
no substring 11 and no last symbol 1
0‡ ˆ1 0 ‡
q1
no substring 11 and last symbol 1
0‡ ˆ1 0 ‡ 1
q2
substring 11
ˆ
0 1‡ 11 ˆ0 1‡
regular expressions will be explained later
2 IT70 (2014) Section 2.1
16 / 19
Another example DFA (rev.)
a
ee
state pathset
oe
a
b
b
b
b
a
eo
oo
a
L
2 IT70 (2014) Section 2.1
ˆ
D
ee
˜
w S #a ˆw  even, #b ˆw  even 
oe
˜
w S #a ˆw  odd, #b ˆw  even 
eo
˜
w S #a ˆw  even, #b ˆw  odd 
oo
˜
w S #a ˆw  odd, #b ˆw  odd 
pathset D ˆeo  8 pathset D ˆoe 
˜
w S #a ˆw  odd, #b ˆw  even  8
˜
w S #a ˆw  even, #b ˆw  odd 
˜
w S #a ˆw  #b ˆw  odd 
˜
w
S S
w S odd 
17 / 19
Language accepted by DFA (revisited)
b
a, b
a
a
q0
q1
a
q2
b
q3
b
state
pathset
q0
˜
w S no substring aab, not ending in a 
q1
˜
w S no substring aab, ending in a, but not in aa 
q2
˜
w S no substring aab, ending in aa 
q3
˜
w S substring aab 
accepted language ˜ w > ˜a, b‡ S w has a substring aab 
2 IT70 (2014) Section 2.1
18 / 19
Question
Why does the following not represent a DFA?
1
q0
2
0
q1
3
0
q2
A. The alphabet has more than 2 letters.
B. It accepts the empty string ε.
C. It has a transition relation, but not a transition function.
D. It does represent a DFA.
2 IT70 (2014) Section 2.1
19 / 19