Post on 15-Jan-2016
description
transcript
Fall 2004 COMP 335 1
Another NFA Example
0q 1q 2q0
11,0
Fall 2004 COMP 335 2
{ }{ } *10=
...,101010,1010,10,λ=)(ML
0q 1q 2q0
11,0
Language accepted
(redundant state)
Fall 2004 COMP 335 3
Remarks:
•The symbol never appears on the input tape
0q2M
0q1M
{}=)M(L 1 }λ{=)M(L 2
•Simple automata:
Fall 2004 COMP 335 4
0q
2q
1qa
a
a
0q 1qa
}{=)( 1 aML
2M1M
}{=)( 2 aML
NFA DFA
•NFAs are interesting because we can express languages easier than DFAs
Fall 2004 COMP 335 5
Formal Definition of NFAs FqQM ,,,, 0
:Q
::0q
:F
Set of states, i.e. 210 ,, qqq
: Input aphabet, i.e. ba,
Transition function
Initial state
Final states
Fall 2004 COMP 335 6
10 1, qq
0
11,0
Transition Function
0q 1q 2q
Fall 2004 COMP 335 7
0q
0
11,0
},{)0,( 201 qqq
1q 2q
Fall 2004 COMP 335 8
0q
0
11,0
1q 2q
},{),( 200 qqq
Fall 2004 COMP 335 9
0q
0
11,0
1q 2q
)1,( 2q
Fall 2004 COMP 335 10
Extended Transition Function
*
0q
5q4q
3q2q1qa
aa
b
10 ,* qaq
Fall 2004 COMP 335 11
540 ,,* qqaaq
0q
5q4q
3q2q1qa
aa
b
Fall 2004 COMP 335 12
0320 ,,,* qqqabq
0q
5q4q
3q2q1qa
aa
b
Fall 2004 COMP 335 13
Formally
wqq ij ,* : there is a walk from to with label
iq jqw
iq jq
w
kw 211 2 k
iq jq
Fall 2004 COMP 335 14
The Language of an NFA
0q
5q4q
3q2q1qa
aa
b
540 ,,* qqaaq
M
)(MLaa
50 ,qqF
F
Fall 2004 COMP 335 15
0q
5q4q
3q2q1qa
aa
b
0320 ,,,* qqqabq MLab
50 ,qqF
F
Fall 2004 COMP 335 16
0q
5q4q
3q2q1qa
aa
b
50 ,qqF
540 ,,* qqabaaq )(MLabaaF
Fall 2004 COMP 335 17
0q
5q4q
3q2q1qa
aa
b
50 ,qqF
10 ,* qabaq MLabaF
Fall 2004 COMP 335 18
0q
5q4q
3q2q1qa
aa
b
}{*}{* aaababML
Fall 2004 COMP 335 19
FormallyThe language accepted by NFA is:
where
and there is some
M
,...,, 321 wwwML
},,...,,{),(* 0 kjim qqqwq
Fqk (final state)
Fall 2004 COMP 335 20
0q kq
w
w
w
),(* 0 wq MLw
Fqk
iq
jq
Fall 2004 COMP 335 21
NFA accept Regular Languages
Fall 2004 COMP 335 22
Equivalence of FA
Definition:
An FA is equivalent to FA
if that is if both accept the same language.
1M 2M
21 MLML
Fall 2004 COMP 335 23
Example of equivalent FA
0q 1q
0
1
0q 1q 2q
0
11
0
1,0
NFA
DFA
*}10{1 ML
*}10{2 ML
1M
2M
Fall 2004 COMP 335 24
We will prove:
Languages acceptedby NFA
RegularLanguages
That is, NFA and DFA have the same computation power
Languages acceptedby DFA
Fall 2004 COMP 335 25
Languages acceptedby NFA
RegularLanguages
Step 1
Proof: Every DFA is trivially an NFA
Any language accepted by a DFAis also accepted by an NFA
L
Fall 2004 COMP 335 26
Languages acceptedby NFA
RegularLanguages
Step 2
Proof: Any NFA can be converted into anequivalent DFA
Any language accepted by an NFAis also accepted by a DFA
Fall 2004 COMP 335 27
Convert NFA to DFA
a
b
a
0q 1q 2q
NFA
DFA
0q
M
M
Fall 2004 COMP 335 28
Convert NFA to DFA
a
b
a
0q 1q 2q
NFA
DFA
0q 21,qqa
M
M
Fall 2004 COMP 335 29
Convert NFA to DFA
a
b
a
0q 1q 2q
NFA
DFA
0q 21,qqa
b
M
M
Fall 2004 COMP 335 30
Convert NFA to DFA
a
b
a
0q 1q 2q
NFA
DFA
0q 21,qqa
b
a
M
M
Fall 2004 COMP 335 31
Convert NFA to DFA
a
b
a
0q 1q 2q
NFA
DFA
0q 21,qqa
b
ab
M
M
Fall 2004 COMP 335 32
Convert NFA to DFA
a
b
a
0q 1q 2q
NFA
DFA
0q 21,qqa
b
ab
ba,
M
M
Fall 2004 COMP 335 33
Convert NFA to DFA
a
b
a
0q 1q 2q
NFA
DFA
0q 21,qqa
b
ab
ba,
M
M
)(MLML
Fall 2004 COMP 335 34
NFA to DFA: Remarks
We are given an NFA
We want to convert it into an equivalent DFA
That is,
M
M
)(MLML
Fall 2004 COMP 335 35
If the NFA has states
Then the DFA has states in the powerset
,...,, 210 qqq
,....,,,, 2110 qqqq
Fall 2004 COMP 335 36
Procedure NFA to DFA
1. Initial state of NFA:
Initial state of DFA:
0q
0q
Fall 2004 COMP 335 37
Example
a
b
a
0q 1q 2q
NFA
DFA
0q
M
M
Fall 2004 COMP 335 38
Procedure NFA to DFA
2. For every DFA’s state
Compute in the NFA
Add the following transition to the DFA
},...,,{ mji qqq
...
,,*
,,*
aq
aq
j
i
},...,,{ mji qqq
},...,,{},,...,,{ mjimji qqqaqqq
Fall 2004 COMP 335 39
Example
a
b
a
0q 1q 2q
NFA
0q 21,qqa
DFA
},{),(* 210 qqaq
210 ,, qqaq
M
M
Fall 2004 COMP 335 40
Procedure NFA to DFA
Repeat step 2 for all symbols in the alphabet ∑, until no more transitions can be added.
Fall 2004 COMP 335 41
Example
a
b
a
0q 1q 2q
NFA
DFA
0q 21,qqa
b
ab
ba,
M
M
Fall 2004 COMP 335 42
Procedure NFA to DFA
3. For any DFA state:
If some is a final state in the NFA
Then, is a final state in the DFA
},...,,{ mji qqq
jq
},...,,{ mji qqq
Fall 2004 COMP 335 43
Example
a
b
a
0q 1q 2q
NFA
DFA
0q 21,qqa
b
ab
ba,
Fq 1
Fqq 21,
M
M
Fall 2004 COMP 335 44
Theorem Take NFA M
Apply the procedure to obtain DFA M
Then, and are equivalent:M M
MLML
Fall 2004 COMP 335 45
Proof
MLML
MLML MLML AND
Fall 2004 COMP 335 46
MLML First we show:
)(MLwTake arbitrary string :
We will prove: )(MLw
Fall 2004 COMP 335 47
)(MLw
0q fq
w
kw 211 2 k
0q fq:M
:M
Fall 2004 COMP 335 48
0q fq
kw 211 2 k
:M
}{ 0q
1 2 k:M
},{ fq
)(MLw
)(MLw
We will show that if
Fall 2004 COMP 335 49
0q mq
naaav 211a 2a na:M
}{ 0q
1a 2a na:M },{ iq
iq jq lq
},{ jq },{ lq },{ mq
More generally, we will show that if in :M
(arbitrary string)
Fall 2004 COMP 335 50
0q 1a:M
}{ 0q
1a:M },{ iq
iq
Proof by induction on
The basis case: 1av
|| v
Fall 2004 COMP 335 51
Induction hypothesis: kv ||1
0q dq1a 2a ka:M iq jq cq
}{ 0q
1a 2a ka:M },{ iq },{ jq },{ cq },{ dq
kaaav 21
Fall 2004 COMP 335 52
Induction Step: 1|| kv
0q dq1a 2a ka:M iq jq cq
}{ 0q
1a 2a ka:M },{ iq },{ jq },{ cq },{ dq
1121
kk
v
k avaaaav
v
v
Fall 2004 COMP 335 53
Induction Step: 1|| kv
0q dq1a 2a ka:M iq jq cq
}{ 0q
1a 2a ka:M },{ iq },{ jq },{ cq },{ dq
1121
kk
v
k avaaaav
v
v
eq1ka
1ka
},{ eq
Fall 2004 COMP 335 54
0q fq
kw 211 2 k
:M
}{ 0q
1 2 k:M
},{ fq
)(MLw
)(MLw
Therefore if
Fall 2004 COMP 335 55
We have shown: MLML
We also need to show: MLML
(proof is similar)