CSE 311 Foundations of Computing I Lecture 24 Finite State Machines Autumn 2012 CSE 3111.
CSE 311 Foundations of Computing I Lecture 23 Finite State Machines Autumn 2012 CSE 3111.
-
Upload
imogen-jefferson -
Category
Documents
-
view
217 -
download
0
Transcript of CSE 311 Foundations of Computing I Lecture 23 Finite State Machines Autumn 2012 CSE 3111.
CSE 311 Foundations of Computing I
Lecture 23Finite State Machines
Autumn 2012
Autumn 2012 CSE 311 1
Announcements
• Reading assignments– 7th Edition, Sections 13.3 and 13.4– 6th Edition, Section 12.3 and 12.4– 5th Edition, Section 11.3 and 11.4
Autumn 2012 CSE 311 2
Lecture highlights:Database and relations
ID_Number Course
328012098 CSE311
328012098 CSE351
481080220 CSE311
238082388 CSE312
238082388 CSE344
238082388 CSE351
1727017 CSE312
348882811 CSE311
348882811 CSE312
348882811 CSE344
348882811 CSE351
2921938 CSE351
Databases consist of collection of n-ary relations
Student_Name ID_Number Office GPA
Knuth 328012098 022 4.00
Von Neuman 481080220 555 3.78
Russell 238082388 022 3.85
Einstein 238001920 022 2.11
Newton 1727017 333 3.61
Karp 348882811 022 3.98
Bernoulli 2921938 022 3.21
STUDENTTAKES
Relational algebra:
4
Relational Databases: Keys• An attribute is a key if all its values in the
database are always distinct
Autumn 2012 CSE 311
Which attribute is the key?Why is Student_Name not a key?
Student_Name ID_Number Office GPA
Knuth 328012098 022 4.00
Von Neuman 481080220 555 3.78
Russell 238082388 022 3.85
Einstein 238001920 022 2.11
Newton 1727017 333 3.61
Karp 348882811 022 3.98
Bernoulli 2921938 022 3.21
5
Relational Databases: Relationships
Autumn 2012 CSE 311
WORKS_ON is a relationship between students and project
Student_Name ID_Number Office
Knuth 328012098 022
Von Neuman 481080220 555
Russell 238082388 022
Einstein 238001920 022
Newton 1727017 333
Karp 348882811 022
Bernoulli 2921938 022
PRJ_ID Project_Name Due_date
P331 “Flying cyphers” 11/2012
P004 “Virtual induction” 12/2012
P901 “Binary bots” 12/2012
STUDENT
PROJECT
ID_Number PRJ_ID
2921938 P004
2921938 P901
1727017 P901Who works on what?
6
Types of Relationshipsin Relational Databases
• one-one:
• many-one
• many-many
123
abcd
123
abcd
123
abcd
Autumn 2012 CSE 311
What type is WORKS_ON?
ID_Number PRJ_ID
2921938 P004
2921938 P901
1727017 P901
Finite state machines
StatesTransitions on inputsStart state and final statesThe language recognized by a machine is the set of strings that reach a final state
Autumn 2012 CSE 311 7
s0 s2 s3s1111
0,1
0
0
0State 0 1
s0 s0 s1
s1 s0 s2
s2 s0 s3
s3 s3 s3
Applications of Finite State Machines (a.k.a. Finite Automata)
• Implementation of regular expression matching in programs like grep
• Control structures for sequential logic in digital circuits
• Algorithms for communication and cache-coherence protocols– Each agent runs its own FSM
• Design specifications for reactive systems– Components are communicating FSMs
Autumn 2012 CSE 311 8
Applications of Finite State Machines (a.k.a. Finite Automata)
• Formal verification of systems– Is an unsafe state reachable?
• Computer games– FSMs provide worlds to explore
• Minimization algorithms for FSMs can be extended to more general models used in– Text prediction– Speech recognition
Autumn 2012 CSE 311 9
What language does this machine recognize?
Autumn 2012 CSE 311 10
s0
s2 s3
s1
1
1
1
1
0
0
0
0
3 Bit Shift register
Autumn 2012 CSE 311 11
001 011
111
110
101010000
100
1
11 0 1
1
1
1
000 1
0
0
00
Autumn 2012 CSE 311 12
001 011
111
110
101010000
100
1
11 0 1
1
1
1
000 1
0
0
00
10
00 01 10 11
11
1
0
0 0
0 0 0 01
1
1
1
Design a DFA that accepts strings with a 1 three positions from the end
Autumn 2012 CSE 311 13
Autumn 2012 CSE 311 14
How does the size of a DFA to recognize “10th character is a 1” compare with the size of a DFA to recognize “10th character from the end is 1”?
Strings over {0, 1, 2}*
M1: Strings with an even number of 2’s
M2: Strings where the sum of digits mod 3 is 0
Autumn 2012 CSE 311 15
s0 s1
t0 t2
t1
Recognize strings with an even number of 2’s and a mod 3 sum of 0
Autumn 2012 CSE 311 16
s0t0
s1t0
s1t2
s0t1
s0t2
s1t1
State machines with output
Autumn 2012 CSE 311 17
Input Output
State L R
s1 s1 s2 Beep
s2 s1 s3
s3 s2 s4
s4 s3 s4 Beep
S3 S4S1 S2
R
L
R
L
R
L
L
R
“Tug-of-war”
Vending Machine
Autumn 2012 CSE 311 18
Enter 15 cents in dimes or nickelsPress S or B for a candy bar
Vending Machine, Version 1
0 5 10 15
D D
N N N, D
B, S
Basic transitions on N (nickel), D (dime), B (butterfinger), S (snickers)
Vending Machine, Version 2
0’ B 5 10
15
Adding output to states: N – Nickel, S – Snickers, B – Butterfinger
15’ N
0
0” S
N
N
N
N
N
B
D
D
D
D
D B
S
S
Vending Machine, Final Version
0’ B 5 10
15
Adding additional “unexpected” transitions
15’ N
0
0” S
N
N
N
N
N
B
D
D
D
D
D B
S
S
15”
DS
B
B,S
B,S
B,S
B,S B,S
N
N
N
D
D
D