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