CSE 311 Foundations of Computing I Lecture 23 Finite State Machines Autumn 2012 CSE 3111
Announcements Reading assignments – 7 th Edition, Sections 13.3 and 13.4 – 6 th Edition, Section 12.3 and 12.4 – 5 th Edition, Section 11.3 and 11.4 Autumn 2012CSE 3112
Lecture highlights: Database and relations ID_NumberCourse CSE CSE CSE CSE CSE CSE CSE CSE CSE CSE CSE CSE351 Databases consist of collection of n-ary relations Student_NameID_NumberOfficeGPA Knuth Von Neuman Russell Einstein Newton Karp Bernoulli STUDENT TAKES
Relational Databases: Keys An attribute is a key if all its values in the database are always distinct Autumn 2012CSE 3114 Which attribute is the key? Why is Student_Name not a key? Student_NameID_NumberOfficeGPA Knuth Von Neuman Russell Einstein Newton Karp Bernoulli
Relational Databases: Relationships Autumn 2012CSE 3115 WORKS_ON is a relationship between students and project Student_NameID_NumberOffice Knuth Von Neuman Russell Einstein Newton Karp Bernoulli PRJ_IDProject_NameDue_date P331“Flying cyphers”11/2012 P004“Virtual induction”12/2012 P901“Binary bots”12/2012 STUDENT PROJECT ID_NumberPRJ_ID P P P901 Who works on what?
Types of Relationships in Relational Databases one-one: many-one many-many abcdabcd abcdabcd abcdabcd Autumn 2012CSE 3116 What type is WORKS_ON? ID_NumberPRJ_ID P P P901
Finite state machines States Transitions on inputs Start state and final states The language recognized by a machine is the set of strings that reach a final state Autumn 2012 CSE s0s0 s2s2 s3s3 s1s , State01 s0s0 s0s0 s1s1 s1s1 s0s0 s2s2 s2s2 s0s0 s3s3 s3s3 s3s3 s3s3
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 2012CSE 3118
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 2012CSE 3119
What language does this machine recognize? Autumn 2012CSE s0s0 s2s2 s3s3 s1s
3 Bit Shift register Autumn 2012CSE
Autumn 2012CSE
Design a DFA that accepts strings with a 1 three positions from the end Autumn 2012CSE 31113
Autumn 2012CSE How does the size of a DFA to recognize “10 th character is a 1” compare with the size of a DFA to recognize “10 th character from the end is 1”?
Strings over {0, 1, 2}* M 1 : Strings with an even number of 2’s M 2 : Strings where the sum of digits mod 3 is 0 Autumn 2012CSE s0s0 s1s1 t0t0 t2t2 t1t1
Recognize strings with an even number of 2’s and a mod 3 sum of 0 Autumn 2012CSE s0t0s0t0 s1t0s1t0 s1t2s1t2 s0t1s0t1 s0t2s0t2 s1t1s1t1
State machines with output Autumn 2012CSE InputOutput StateLR s1s1 s1s1 s2s2 Beep s2s2 s1s1 s3s3 s3s3 s2s2 s4s4 s4s4 s3s3 s4s4 S3S3 S4S4 S1S1 S2S2 R L R L R L L R “Tug-of-war”
Vending Machine Autumn 2012CSE Enter 15 cents in dimes or nickels Press S or B for a candy bar
Vending Machine, Version DD N N N, D B, S Basic transitions on N (nickel), D (dime), B (butterfinger), S (snickers)
Vending Machine, Version 2 0’ B 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 DB S S
Vending Machine, Final Version 0’ B Adding additional “unexpected” transitions 15’ N 0 0” S N N N N N B D D D D D B S S 15” D S B B,S N N N D D D