CS411 Database Systems Kazuhiro Minami 02: The Entity-Relationship Model.
CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory...
Transcript of CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory...
![Page 1: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/1.jpg)
Automata TheoryCS411 20145-03
Determinisitic Finite Automata
David Galles
Department of Computer Science
University of San Francisco
![Page 2: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/2.jpg)
03-0: Generators vs. Checkers
Regular expressions are one way to specify aformal language
String Generator Generates strings in thelanguage
Deterministic Finite Automata (DFA) areanother way to specify a language
String Checker Given any string, determinesif that string is in the language or not
![Page 3: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/3.jpg)
03-1: DFA Example
Example Deterministic Finite Automaton
a
a,b
b
a,b
0
1
2
![Page 4: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/4.jpg)
03-2: DFA Example
DFA for all strings over {a,b} that contain exactly 2 a’s
![Page 5: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/5.jpg)
03-3: DFA Example
DFA for all strings over {a,b} that contain exactly 2 a’s
a
b
0a
b
1a
b
2
a,b
3
![Page 6: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/6.jpg)
03-4: DFA Example
All strings over a, b that have length 3.
![Page 7: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/7.jpg)
03-5: DFA Example
All strings over a, b that have length 3.
a,b0
a,b1
a,b2 3
a,b
a,b
3
![Page 8: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/8.jpg)
03-6: DFA Components
What makes up a DFA?
a
b
0a
b
1a
b
2
a,b
3
![Page 9: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/9.jpg)
03-7: DFA Components
What makes up a DFA?
a
b
0a
b
1a
b
2
a,b
3
States
![Page 10: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/10.jpg)
03-8: DFA Components
What makes up a DFA?
a
b
0a
b
1a
b
2
a,b
3
Alphabet (characters than can occur in stringsaccepted by DFA)
![Page 11: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/11.jpg)
03-9: DFA Components
What makes up a DFA?
a
b
0a
b
1a
b
2
a,b
3
Transitions
![Page 12: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/12.jpg)
03-10: DFA Components
What makes up a DFA?
a
b
0a
b
1a
b
2
a,b
3
Initial State
![Page 13: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/13.jpg)
03-11: DFA Components
What makes up a DFA?
a
b
0a
b
1a
b
2
a,b
3
Final State(s) (there can be > 1)
![Page 14: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/14.jpg)
03-12: DFA Definition
A DFA is a 5-tuple M = (K,Σ, δ, s, F )
K Set of states
Σ Alphabet
δ : (K × Σ) 7→ K is a Transition function
s ∈ K Initial state
F ⊆ K Final states
![Page 15: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/15.jpg)
03-13: DFA Definition
a
b
0a
b
1a
b
2
a,b
3
K = {q0, q1, q2, q3}
Σ = {a, b}
δ ={((q0, a), q1), ((q0, b), q0), ((q1, a), q2), ((q1, b), q1),((q2, a), q3), ((q2, b), q2), ((q3, a), q3), ((q3, b), q3)}
s = q0
F = {q2}
![Page 16: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/16.jpg)
03-14: Fun with DFA
Create a DFA for:
All strings over {0, 1} that contain the substring1001
![Page 17: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/17.jpg)
03-15: Fun with DFA
Create a DFA for:
All strings over {0, 1} that contain the substring1001
1
0
00
1
10
2 3 41
10
0,1
![Page 18: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/18.jpg)
03-16: Fun with DFA
Create a DFA for:
All strings over {0, 1} that end with 111
![Page 19: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/19.jpg)
03-17: Fun with DFA
Create a DFA for:
All strings over {0, 1} that end with 111
01 1
11
2 3
0 0 0
0 1
![Page 20: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/20.jpg)
03-18: Fun with DFA
Create a DFA for:
All strings over {0, 1} that begin with 111
![Page 21: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/21.jpg)
03-19: Fun with DFA
Create a DFA for:
All strings over {0, 1} that begin with 111
10
11
12 3
0,1
4
00
0
0,1
![Page 22: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/22.jpg)
03-20: Fun with DFA
Create a DFA for:
All strings over {0, 1} that begin or end with 111
![Page 23: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/23.jpg)
03-21: Fun with DFA
Create a DFA for:
All strings over {0, 1} that begin or end with 111
10
11
12 3
0,1
41 1
51
6 7
0 0
0 0 0
1
0
0
![Page 24: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/24.jpg)
03-22: Fun with DFA
Create a DFA for:
All strings over {0, 1} that begin and end with 111
![Page 25: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/25.jpg)
03-23: Fun with DFA
Create a DFA for:
All strings over {0, 1} that begin and end with 111
10
11
12 3
1
41 1
51
6 7
0
0 0 0
1
0
8
00
0
0,1
![Page 26: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/26.jpg)
03-24: Fun with DFA
Create a DFA for:
All strings over {0, 1} that contain 1001 or 0110
![Page 27: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/27.jpg)
03-25: Fun with DFA
Create a DFA for:
All strings over {0, 1} that contain 1001 or 0110
0
1
01 12
0
03
14 05
16
1
0
1
0
0
1
0,17
![Page 28: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/28.jpg)
03-26: Fun with DFA
Create a DFA for:
All strings over {a, b} that begin and end with thesame letter
![Page 29: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/29.jpg)
03-27: Fun with DFA
Create a DFA for:
All strings over {a, b} that begin and end with thesame letter
0
1 2
b
a b
1 2
a
b a
a
b
a
b
![Page 30: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/30.jpg)
03-28: Why DFA?
Why are these machines called “DeterministicFinite Automata”
Deterministic Each transition is completelydetermined by the current state and next inputsymbol. That is, for each state / symbol pair,there is exactly one state that is transitioned to
Finite Every DFA has a finite number of states
Automata (singular automaton) means“machine”(From Merriam-Webster Online Dictionary, definition 2: A machine or control
mechanism designed to follow automatically a predetermined sequence of
operations or respond to encoded instructions)
![Page 31: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/31.jpg)
03-29: DFA Configuration & ⊢M
Way to describe the computation of a DFA
Configuration: What state the DFA is currentlyin, and what string is left to process
∈ K × Σ∗
(q2, abba) Machine is in state q2, has abba left toprocess
(q8, bba) Machine is in state q8, has bba left toprocess
(q4, ǫ) Machine is in state q4 at the end of thecomputation (accept iff q4 ∈ F )
![Page 32: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/32.jpg)
03-30: DFA Configuration & ⊢M
Way to describe the computation of a DFA
Configuration: What state the DFA is currentlyin, and what string is left to process
∈ K × Σ∗
Binary relation ⊢M : What machine M yields in onestep
⊢M⊆ (K × Σ∗)× (K × Σ∗)
⊢M= {((q1, aw), (q2, w)) : q1, q2 ∈ KM , w ∈Σ∗
M, a ∈ ΣM , ((q1, a), q2) ∈ δM}
![Page 33: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/33.jpg)
03-31: DFA Configuration & ⊢M
Given the following machine M :
a
a,b
b
a,b
0
1
2
((q0, abba), (q2, bba)) ∈⊢M
can also be written (q0, abba) ⊢M (q2, bba)
![Page 34: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/34.jpg)
03-32: DFA Configuration & ⊢M
01 1
11
2 3
0 0 0
0 1
(q0, 11101) ⊢M (q1, 1101)
⊢M (q2, 101)
⊢M (q3, 01)
⊢M (q0, 1)
⊢M (q1, ǫ)
![Page 35: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/35.jpg)
03-33: DFA Configuration & ⊢M
01 1
11
2 3
0 0 0
0 1
(q0, 10111) ⊢M (q1, 0111)
⊢M (q0, 111)
⊢M (q1, 11)
⊢M (q2, 1)
⊢M (q3, ǫ)
![Page 36: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/36.jpg)
03-34: DFA Configuration & ⊢∗M
⊢∗
Mis the reflexive, transitive closure of ⊢M
Smallest superset of ⊢M that is both reflexiveand transitive
“yields in 0 or more steps”
Machine M accepts string w if:
(sM , w) ⊢∗
M(f, ǫ) for some f ∈ FM
![Page 37: CS411 20145-03 Determinisitic Finite Automatagalles/cs411/lecture/lecture3.pdf · Automata Theory CS411 20145-03 Determinisitic Finite Automata David Galles Department of Computer](https://reader030.fdocuments.in/reader030/viewer/2022040905/5e79ee0090b60c5fb42afb22/html5/thumbnails/37.jpg)
03-35: DFA & Languages
Language accepted by a machine M = L[M ]
{w : (sM , w) ⊢∗
M(f, ǫ) for some f ∈ FM}
DFA Languages, LDFA
Set of all languages that can be defined by aDFA
LDFA = {L : ∃M,L[M ] = L}
To think about: How does LDFA relate to LREG