NFAs accept the Regular Languages
Post on 06-Feb-2016
37 Views
Preview:
DESCRIPTION
Transcript
1
NFAs accept the Regular Languages
2
Equivalence of Machines
Definition:
Machine is equivalent to machine
if
1M 2M
21 MLML
3
Example of equivalent machines
0q 1q
0
1
0q 1q 2q
0
11
0
1,0
NFA
FA
*}10{1 ML
*}10{2 ML
1M
2M
4
We will prove:
Languages acceptedby NFAs
RegularLanguages
NFAs and FAs have the same computation power
Languages acceptedby FAs
5
Languages acceptedby NFAs
RegularLanguages
Languages acceptedby NFAs
RegularLanguages
We will show:
6
Languages acceptedby NFAs
RegularLanguages
Proof-Step 1
Proof: Every FA is trivially an NFA
Any language accepted by a FAis also accepted by an NFA
L
7
Languages acceptedby NFAs
RegularLanguages
Proof-Step 2
Proof: Any NFA can be converted to anequivalent FA
Any language accepted by an NFAis also accepted by a FA
L
8
NFA to FA: Remarks
We are given an NFA
We want to convert it to an equivalent FA
With
M
M
)(MLML
9
If the NFA has states
the FA has states in the powerset
,...,, 210 qqq
,....,,,,,,, 7432110 qqqqqqq
10
Procedure NFA to FA
1. Initial state of NFA:
Initial state of FA:
0q
0q
11
Example
a
b
a
0q 1q 2q
NFA
FA
0q
M
M
12
Procedure NFA to FA
2. For every FA’s state
Compute in the NFA
Add transition to FA
},...,,{ mji qqq
...
,,*
,,*
aq
aq
j
i
},...,,{ mji qqq
},...,,{},,...,,{ mjimji qqqaqqq
13
Example
a
b
a
0q 1q 2q
NFA
0q 21,qqa
FA
},{),(* 210 qqaq
210 ,, qqaq
M
M
14
Procedure NFA to FA
Repeat Step 2 for all letters in alphabet,
untilno more transitions can be added.
15
Convert NFA to FA
),(* 0 bq
a
b
a
0q 1q 2q
NFA
FA
0q 21,qqa
b
M
M
16
Example
)},({* 2,1 aqq
a
b
a
0q 1q 2q
NFA
FA
0q 21,qqa
b
ab
M
M
21,qq
)},({* 2,1 bqq 0q
17
Example
a
b
a
0q 1q 2q
NFA
FA
0q 21,qqa
b
ab
ba,
M
M
18
Procedure NFA to FA
3. For any FA state
If is accepting state in NFA
Then, is accepting state in FA
},...,,{ mji qqq
jq
},...,,{ mji qqq
19
Example
a
b
a
0q 1q 2q
NFA
FA
0q 21,qqa
b
ab
ba,
Fq 1
Fqq 21,
M
M
20
Convert NFA to FA
a
b
a
0q 1q 2q
NFA
FA
0q
M
M
21
Convert NFA to FA
a
b
a
0q 1q 2q
NFA
FA
0q 21,qqa
M
M
22
Convert NFA to FA
a
b
a
0q 1q 2q
NFA
FA
0q 21,qqa
b
M
M
23
Convert NFA to FA
a
b
a
0q 1q 2q
NFA
FA
0q 21,qqa
b
a
M
M
24
Convert NFA to FA
a
b
a
0q 1q 2q
NFA
FA
0q 21,qqa
b
ab
M
M
25
Convert NFA to FA
a
b
a
0q 1q 2q
NFA
FA
0q 21,qqa
b
ab
ba,
M
M
26
Convert NFA to FA
a
b
a
0q 1q 2q
NFA
FA
0q 21,qqa
b
ab
ba,
M
M
)(MLML
27
Theorem Take NFA M
Apply procedure to obtain FA M
Then and are equivalent :M M
MLML
28
Proof
MLML
MLML MLML AND
29
MLML First we show:
)(MLwTake arbitrary:
We will prove: )(MLw
30
)(MLw
w
kw 21
0q fq:M
:M 0q fq1 2 k
31
i
i
denotes
iq jq
iq jq
32
0q fq
kw 211 2 k
:M
}{ 0q
1 2 k:M
},{ fq
)(MLw
)(MLw
We will show that if
then
33
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)
then
34
0q 1a:M
}{ 0q
1a:M },{ iq
iq
Proof by induction on
Induction Basis: 1av
|| v
Is true by construction of :M
35
Induction hypothesis: kv ||1
0q dq1a 2a ka:M iq jq cq
}{ 0q
1a 2a ka:M },{ iq },{ jq },{ cq },{ dq
kaaav 21
36
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
37
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
1ka
},{ eq
eq1ka
38
0q fq
kw 211 2 k
:M
}{ 0q
1 2 k:M
},{ fq
)(MLw
)(MLw
Therefore if
then
39
We have shown: MLML
We also need to show: MLML
(proof is similar)
40
Single Accepting State for NFAs
41
Any NFA can be converted
to an equivalent NFA
with a single accepting state
42
a
b
b
aNFA
Equivalent NFA
a
b
b
a
Example
43
NFAIn General
Equivalent NFA
Singleacceptingstate
44
Extreme Case
NFA without accepting state
Add an accepting statewithout transitions
45
Properties of Regular Languages
46
1L 2L
21LLConcatenation:
*1LStar:
21 LL Union:
Are regularLanguages
For regular languages and we will prove that:
1L
21 LL
Complement:
Intersection:
RL1Reversal:
47
We say: Regular languages are closed under
21LLConcatenation:
*1LStar:
21 LL Union:
1L
21 LL
Complement:
Intersection:
RL1Reversal:
48
1LRegular language
11 LML
1M
Single accepting state
NFA 2M
2L
Single accepting state
22 LML
Regular language
NFA
49
Example
baL 2ab
2M
}{1 baL na
b
1M0n
50
UnionNFA for
1M
2M
21 LL
51
Example
a
b
ab
}{1 baL n
}{2 baL
}{}{21 babaLL n NFA for
52
Concatenation
NFA for 21LL
1M 2M
53
Example NFA for
a
b ab
}{1 baL n}{2 baL
}{}}{{21 bbaababaLL nn
54
Star OperationNFA for *1L
1M
*1L
55
Example
NFA for *}{*1 baL n
a
b
}{1 baL n
1
21
Lw
wwww
i
k
56
Reverse
1M
RL1NFA for
1M
1. Reverse all transitions
2. Make initial state accepting state and vice versa
1L
57
Example
}{1 baL na
b
1M
1M
}{1nR baL
a
b
58
Complement
1. Take the FA that accepts 1L
1M1L
2. Make final states non-final, and vice-versa
1M1L
59
Example
}{1 baL n
a
b
1M
ba,
ba,
}{*},{1 babaL n a
b
1M
ba,
ba,
60
Intersection
1L regular
2L regular
We show 21 LL
regular
61
DeMorgan’s Law: 2121 LLLL
21 , LL regular
21 , LL regular
21 LL regular
21 LL regular
21 LL regular
62
Example
}{1 baL n
},{2 baabL
regular
regular
}{21 abLL
regular
63
1Lfor for 2LFA
1M
FA
2M
Construct a new FA that accepts
Machine Machine
M 21 LL
Msimulates in parallel and 1M 2M
Another Proof for Intersection Closure
64
States in M
ji pq ,
1M 2MState in State in
65
1M 2M
1q 2qa
transition
1p 2pa
transition
FA FA
11, pq a
transition
MFA
22 , pq
66
0q
initial state
0p
initial state
Initial state
00 , pq
1M 2MFA FA
MFA
67
iq
accept state
jp
accept states
accept states
ji pq ,
kp
ki pq ,
1M 2MFA FA
MFA
Both constituents must be accepting states
68
Example:
}{1 baL n
a
b
1M
0n
}{2mabL
b
b
2M
0q 1q 0p 1p
0m
2q 2pa
a
ba, ba,
ba,
69
00, pq
Automaton for intersection
}{}{}{ ababbaL nn
10, pqa
21, pq
b
ab 11, pq
20, pq
a
12, pq
22, pq
b
ba,
a
b
ba,
b
a
70
M simulates in parallel and 1M 2M
M accepts string w if and only if
accepts string and w1M
accepts string w2M
)()()( 21 MLMLML
top related