Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String...
-
Upload
heather-farmer -
Category
Documents
-
view
226 -
download
1
Transcript of Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String...
![Page 1: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/1.jpg)
Costas Busch - RPI 1
Finite Automata
![Page 2: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/2.jpg)
Costas Busch - RPI 2
Finite Automaton
Input
String
Output
String
FiniteAutomaton
![Page 3: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/3.jpg)
Costas Busch - RPI 3
Finite Accepter
Input
“Accept” or“Reject”
String
FiniteAutomaton
Output
![Page 4: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/4.jpg)
Costas Busch - RPI 4
Transition Graph
initialstate
final state“accept”state
transition
Abba -Finite Accepter
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
![Page 5: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/5.jpg)
Costas Busch - RPI 5
Initial Configuration
1q 2q 3q 4qa b b a
5q
a a bb
ba,
Input Stringa b b a
ba,
0q
![Page 6: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/6.jpg)
Costas Busch - RPI 6
Reading the Input
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b b a
ba,
![Page 7: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/7.jpg)
Costas Busch - RPI 7
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b b a
ba,
![Page 8: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/8.jpg)
Costas Busch - RPI 8
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b b a
ba,
![Page 9: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/9.jpg)
Costas Busch - RPI 9
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b b a
ba,
![Page 10: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/10.jpg)
Costas Busch - RPI 10
0q 1q 2q 3q 4qa b b a
Output: “accept”
5q
a a bb
ba,
a b b a
ba,
Input finished
![Page 11: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/11.jpg)
Costas Busch - RPI 11
Rejection
1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b a
ba,
0q
![Page 12: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/12.jpg)
Costas Busch - RPI 12
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b a
ba,
![Page 13: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/13.jpg)
Costas Busch - RPI 13
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b a
ba,
![Page 14: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/14.jpg)
Costas Busch - RPI 14
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b a
ba,
![Page 15: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/15.jpg)
Costas Busch - RPI 15
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
Output:“reject”
a b a
ba,
Input finished
![Page 16: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/16.jpg)
Costas Busch - RPI 16
Another Rejection
1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
0q
![Page 17: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/17.jpg)
Costas Busch - RPI 17
1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
0q
Output:“reject”
![Page 18: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/18.jpg)
Costas Busch - RPI 18
Another Example
a
b ba,
ba,
0q 1q 2q
a ba
![Page 19: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/19.jpg)
Costas Busch - RPI 19
a
b ba,
ba,
0q 1q 2q
a ba
![Page 20: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/20.jpg)
Costas Busch - RPI 20
a
b ba,
ba,
0q 1q 2q
a ba
![Page 21: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/21.jpg)
Costas Busch - RPI 21
a
b ba,
ba,
0q 1q 2q
a ba
![Page 22: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/22.jpg)
Costas Busch - RPI 22
a
b ba,
ba,
0q 1q 2q
a ba
Output: “accept”
Input finished
![Page 23: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/23.jpg)
Costas Busch - RPI 23
Rejection
a
b ba,
ba,
0q 1q 2q
ab b
![Page 24: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/24.jpg)
Costas Busch - RPI 24
a
b ba,
ba,
0q 1q 2q
ab b
![Page 25: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/25.jpg)
Costas Busch - RPI 25
a
b ba,
ba,
0q 1q 2q
ab b
![Page 26: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/26.jpg)
Costas Busch - RPI 26
a
b ba,
ba,
0q 1q 2q
ab b
![Page 27: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/27.jpg)
Costas Busch - RPI 27
a
b ba,
ba,
0q 1q 2q
ab b
Output: “reject”
Input finished
![Page 28: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/28.jpg)
Costas Busch - RPI 28
FormalitiesDeterministic Finite Accepter (DFA)
FqQM ,,,, 0
Q
0q
F
: set of states
: input alphabet
: transition function
: initial state
: set of final states
![Page 29: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/29.jpg)
Costas Busch - RPI 29
Input Alphabet
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
ba,
![Page 30: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/30.jpg)
Costas Busch - RPI 30
Set of States
Q
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
543210 ,,,,, qqqqqqQ
ba,
![Page 31: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/31.jpg)
Costas Busch - RPI 31
Initial State
0q
1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
0q
![Page 32: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/32.jpg)
Costas Busch - RPI 32
Set of Final States
F
0q 1q 2q 3qa b b a
5q
a a bb
ba,
4qF
ba,
4q
![Page 33: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/33.jpg)
Costas Busch - RPI 33
Transition Function
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
QQ :
ba,
![Page 34: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/34.jpg)
Costas Busch - RPI 34
10 , qaq
2q 3q 4qa b b a
5q
a a bb
ba,
ba,
0q 1q
![Page 35: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/35.jpg)
Costas Busch - RPI 35
50 , qbq
1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
0q
![Page 36: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/36.jpg)
Costas Busch - RPI 36
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
32 , qbq
![Page 37: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/37.jpg)
Costas Busch - RPI 37
Transition Function
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b
0q
1q
2q
3q
4q
5q
1q 5q
5q 2q
5q 3q
4q 5q
ba,5q5q5q5q
![Page 38: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/38.jpg)
Costas Busch - RPI 38
Extended Transition Function
*
QQ *:*
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
![Page 39: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/39.jpg)
Costas Busch - RPI 39
20 ,* qabq
3q 4qa b b a
5q
a a bb
ba,
ba,
0q 1q 2q
![Page 40: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/40.jpg)
Costas Busch - RPI 40
40 ,* qabbaq
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
![Page 41: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/41.jpg)
Costas Busch - RPI 41
50 ,* qabbbaaq
1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
0q
![Page 42: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/42.jpg)
Costas Busch - RPI 42
qwq ,*
Observation: There is a walk from to with label
q qw
q qw
q qkw 21
1 2 k
![Page 43: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/43.jpg)
Costas Busch - RPI 43
50 ,* qabbbaaq
1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
0q
Example: There is a walk from to with label
0qabbbaa
5q
![Page 44: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/44.jpg)
Costas Busch - RPI 44
Recursive Definition )),,(*(,*
,*
wqwq
q qw1q
qwq
),(
,*
1
1
1
,*
),(,*
qwq
qwq
)),,(*(,* wqwq
![Page 45: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/45.jpg)
Costas Busch - RPI 45
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
2
1
0
0
0
0
,
,,
,,,*
),,(*
,*
q
bq
baq
baq
baq
abq
![Page 46: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/46.jpg)
Costas Busch - RPI 46
Languages Accepted by DFAsTake DFA
Definition:The language contains all input strings accepted by
= { strings that drive to a final state}
M
MLM
M ML
![Page 47: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/47.jpg)
Costas Busch - RPI 47
Example
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
abbaML M
accept
![Page 48: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/48.jpg)
Costas Busch - RPI 48
Another Example
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
abbaabML ,, M
acceptacceptaccept
![Page 49: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/49.jpg)
Costas Busch - RPI 49
Formally
For a DFA
Language accepted by :
FqQM ,,,, 0
M
FwqwML ,*:* 0
0q qw Fq
![Page 50: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/50.jpg)
Costas Busch - RPI 50
ObservationLanguage rejected by :
FwqwML ,*:* 0
M
0q qw Fq
![Page 51: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/51.jpg)
Costas Busch - RPI 51
More Examples
a
b ba,
ba,
0q 1q 2q
}0:{ nbaML n
accept trap state
![Page 52: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/52.jpg)
Costas Busch - RPI 52
ML = { all strings with prefix }ab
a b
ba,
0q 1q 2q
accept
ba,3q
ab
![Page 53: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/53.jpg)
Costas Busch - RPI 53
ML = { all strings without substring }001
0 00 001
1
0
1
10
0 1,0
![Page 54: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/54.jpg)
Costas Busch - RPI 54
Regular Languages
A language is regular if there is a DFA such that
All regular languages form a language family
LM MLL
![Page 55: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/55.jpg)
Costas Busch - RPI 55
abba abbaab,, }0:{ nban
{ all strings with prefix }ab
{ all strings with prefix }ab
{ all strings without substring }001
Examples of regular languages:
There exist automata that accept theseLanguages (see previous slides).
![Page 56: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/56.jpg)
Costas Busch - RPI 56
Another ExampleThe languageis regular:
*,: bawawaL
a
b
ba,
a
b
ba
0q 2q 3q
4q
MLL
![Page 57: Costas Busch - RPI1 Finite Automata. Costas Busch - RPI2 Finite Automaton Input String Output String Finite Automaton.](https://reader031.fdocuments.us/reader031/viewer/2022032105/56649d825503460f94a67452/html5/thumbnails/57.jpg)
Costas Busch - RPI 57
There exist languages which are not Regular:
}0:{ nbaL nn
There is no DFA that accepts such a language
(we will prove this later in the class)
Example: