formal languages nfas accept the regular languages
DESCRIPTION
Formal Languages NFAs Accept the Regular Languages. Equivalence of Machines. Definition: Machine is equivalent to machine if. Example of equivalent machines. NFA. FA. We will prove:. Languages accepted by NFAs. Regular Languages. Languages accepted by FAs. - PowerPoint PPT PresentationTRANSCRIPT
Fall 2004 Costas Busch - RPI
Formal Languages
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?
7
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
8
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
9
Convert NFA to FA
a
b
a
0q 1q 2q
NFA
FA
0q
M
M
10
Convert NFA to FA
a
b
a
0q 1q 2q
NFA
FA
0q 21,qqa
M
M
11
Convert NFA to FA
a
b
a
0q 1q 2q
NFA
FA
0q 21,qqa
b
M
M
12
Convert NFA to FA
a
b
a
0q 1q 2q
NFA
FA
0q 21,qqa
b
a
M
M
13
Convert NFA to FA
a
b
a
0q 1q 2q
NFA
FA
0q 21,qqa
b
ab
M
M
14
Convert NFA to FA
a
b
a
0q 1q 2q
NFA
FA
0q 21,qqa
b
ab
ba,
M
M
15
Convert NFA to FA
a
b
a
0q 1q 2q
NFA
FA
0q 21,qqa
b
ab
ba,
M
M
)(MLML
16
NFA to FA Conversion
We are given an NFA
We want to convert it to an equivalent FA
With
M
M
)(MLML
17
What we need to construct Finite Automaton (FA)
FqQM ,,,, 0
Q
0q
F
: set of states
: input alphabet
: transition function
: initial state
: set of accepting states
18
If the NFA has states
the FA has states in the power set
,...,, 210 qqq
,....,,,,,,, 7432110 qqqqqqq
19
Procedure NFA to FA
1. Initial state of NFA:
Initial state of FA:
0q
0q
20
Example
a
b
a
0q 1q 2q
NFA
FA
0q
M
M
21
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
22
Example
a
b
a
0q 1q 2q
NFA
0q 21,qqa
FA
},{),(* 210 qqaq
210 ,, qqaq
M
M
23
Procedure NFA to FA
Repeat Step 2 for all letters in alphabet,
untilno more transitions can be added.
24
Example
a
b
a
0q 1q 2q
NFA
FA
0q 21,qqa
b
ab
ba,
M
M
Done?
25
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
26
Example
a
b
a
0q 1q 2q
NFA
FA
0q 21,qqa
b
ab
ba,
Fq 1
Fqq 21,
M
M
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
eq1ka
1ka
},{ eq
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
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
All cases covered?
41
Single Accepting State for NFAs
42
Any NFA can be converted
to an equivalent NFA
with a single accepting state
43
a
b
b
aNFA
Equivalent NFAwith single accepting state?
Example
44
a
b
b
aNFA
Equivalent NFA
a
b
b
a
Example
45
NFAIn General
Equivalent NFA
Singleacceptingstate
46
Extreme Case
NFA without accepting state
Add an accepting statewithout transitions
47
Properties of Regular Languages
48
1L 2L
21LLConcatenation:
*1LStar:
21 LL Union:
Are regularLanguages
For regular languages and we will prove that:
1L
21 LL
Complement:
Intersection:
RL1Reversal:
49
We say: Regular languages are closed under
21LLConcatenation:
*1LStar:
21 LL Union:
1L
21 LL
Complement:
Intersection:
RL1Reversal:
50
1LRegular language
11 LML
1M
Single accepting state
NFA 2M
2L
Single accepting state
22 LML
Regular language
NFA
51
Example
}{1 baL na
b
1M
baL 2ab
2M
0n
52
UnionNFA for
1M
2M
21 LL
53
Example
a
b
ab
}{1 baL n
}{2 baL
}{}{21 babaLL n NFA for
54
Concatenation
NFA for 21LL
1M 2M
55
Example NFA for
a
b ab
}{1 baL n}{2 baL
}{}}{{21 bbaababaLL nn
56
How do we construct automata for theremaining operations?
21LLConcatenation:
*1LStar:
21 LL Union:
1L
21 LL
Complement:
Intersection:
RL1Reversal:
57
Star OperationNFA for *1L
1M
*1L
58
Example
NFA for *}{*1 baL n
a
b
}{1 baL n
1
21
Lw
wwww
i
k
59
Reverse
RL1
1M
NFA for
1M
1. Reverse all transitions
2. Make initial state accepting state and vice versa
1L
60
Example
}{1 baL na
b
1M
}{1nR baL
a
b
1M
61
Complement
1. Take the FA that accepts 1L
1M1L
1M1L
2. Make final states non-final, and vice-versa
Why not NFA?
62
Example
}{1 baL n
a
b
1M
ba,
ba,
}{*},{1 babaL n a
b
1M
ba,
ba,
63
Intersection
1L regular
2L regular
We show 21 LL
regular
64
DeMorgan’s Law: 2121 LLLL
21 , LL regular
21 , LL regular
21 LL regular
21 LL regular
21 LL regular
65
Example
}{1 baL n
},{2 baabL
regular
regular
}{21 abLL
regular
66
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
67
States in M
ji pq ,
1M 2MState in State in
68
1M 2M
1q 2qa
transition
1p 2pa
transition
FA FA
11, pq a
transition
MFA
22 , pq
69
0q
initial state
0p
initial state
Initial state
00 , pq
1M 2MFA FA
MFA
70
iq
accept state
jp
accept states
accept states
ji pq ,
kp
ki pq ,
1M 2MFA FA
MFA
Both constituents must be accepting states
71
M simulates in parallel and 1M 2M
M accepts string w if and only if
accepts string and w1M
accepts string w2M
)()()( 21 MLMLML
72
Example:
}{1 baL n
a
b
1M
0n
}{2mabL
b
b
2M
0q 1q 0p 1p
0m
2q 2pa
a
ba, ba,
ba,
73
Construct machine for intersection
74
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
75
Note how easy it was to prove closure under union, star,
concatenation with NFAs. Would be much harder with DFAs.