Title: by Dr. Michael P. Frank, University of Florida Modified by Longin Jan Latecki, Temple University
1by Dr. Michael P. Frank, University of Florida
Modified by Longin Jan Latecki, Temple
University
11.2 Finite State Machines with Output
2- Remember the general picture of a computer as
being a transition function TSI?SO? - If the state set S is finite (not infinite), we
call this system a finite state machine. - If the domain SI is reasonably small, then we
can specify T explicitly by writing out its
complete graph. - However, this is practical only for machines that
have a very small information capacity.
3Size of FSMs
- The information capacity of an FSM is C log
S. - Thus, if we represent a machine having an
information capacity of C bits as an FSM, then
its state transition graph will have S 2C
nodes. - E.g. suppose your desktop computer has a 512MB
memory, and 60GB hard drive. - Its information capacity, including the hard
drive and memory (and ignoring the CPUs internal
state), is then roughly 512223 60233
519,691,042,816 b. - How many states would be needed to write out the
machines entire transition function graph?
2519,691,042,816 A number having gt1.7 trillion
decimal digits!
4One Problem with FSMs as Models
- The FSM diagram of a reasonably-sized computer is
more than astronomically huge. - Yet, we are able to design and build these
computers using only a modest amount of
industrial resources. - Why is this possible?
- Answer A real computer has regularities in its
transition function that are not captured if we
just write out its FSM transition function
explicitly. - I.e., a transition function can have a small,
simple, regular description, even if its domain
is enormous.
5Other Problems with FSM Model
- It ignores many important physical realities
- How is the transition functions structure to be
encoded in physical hardware? - How much hardware complexity is required to do
this? - How close in physical space is one bits worth of
the machines information capacity to another? - How long does it take to communicate information
from one part of the machine to another? - How much energy gets dissipated to heat when the
machine updates its state? - How fast can the heat be removed, and how much
does this impact the machines performance?
6Vending Machine Example
- Suppose a certain vending machine accepts
nickels, dimes, and quarters. - If gt30 is deposited, change isimmediately
returned. - If the coke button is pressed,the machine
drops a coke. - It can then accept a new payment.
Ignore any otherbuttons, bills,out of
change,etc.
7Modeling the Machine
- Input symbol set I nickel, dime, quarter,
button - We could add nothing or ? as an additional
input symbol if we want. - Representing no input at a given time.
- Output symbol set O ?, 5, 10, 15, 20,
25, coke. - State set S 0, 5, 10, 15, 20, 25, 30.
- Representing how much money has been taken.
8Transition Function Table
Old state Input New state Output
0 n 5 ?
0 d 10 ?
0 q 25 ?
0 b 0 ?
5 n 10 ?
5 d 15 ?
5 q 30 ?
5 b 5 ?
Old state Input New state Output
10 n 15 ?
10 d 20 ?
10 q 30 5
10 b 10 ?
15 n 20 ?
15 d 25 ?
15 q 30 10
15 b 5 ?
9Transition Function Table cont.
Old state Input New state Output
20 n 25 ?
20 d 30 ?
20 q 30 15
20 b 20 ?
25 n 30 ?
25 d 30 5
25 q 30 20
25 b 25 ?
Old state Input New state Output
30 n 30 5
30 d 30 10
30 q 30 25
30 b 0 coke
10Another Format State Table
Each pair showsnew state,output symbol
Old state Input Symbol Input Symbol Input Symbol Input Symbol
Old state n d q b
0 5,? 10,? 25,? 0,?
5 10,? 15,? 30,? 5,?
10 15,? 20,? 30,5 10,?
15 20,? 25,? 30,10 15,?
20 25,? 30,? 30,15 20,?
25 30,? 30,5 30,20 25,?
30 30,5 30,10 30,25 0,coke
11Directed-Graph State Diagram
- As you can see, these can get kind of busy.
q,5
d,5
q
q
q,20
d
d
d
n
n
n
n
n
n
0
5
10
15
20
25
30
n,5
b
b
b
b
b
b
d,10
q,25
q,15
b,coke
q,10
12Formalizing FSMs
- Just like the general transition-function
definition from earlier, but with the output
function separated from the transition function,
and with the various sets added in, along with an
initial state. - A finite-state machine M(S, I, O, f, g, s0)
- S is the state set.
- I is the alphabet (vocabulary) of input symbols
- O is the alphabet (vocabulary) of output symbols
- f is the state transition function
- g is the output function
- s0 is the initial state.
- Our transition function from before is T (f,g).
13Construct a state table for the finite-state
machine in Fig. 3.
Find the output string for the input 101011
14A unit-delay machine Construct a finite-state
machine that delays an input string by one unit
of time Input x1x2 xk-1xk Output
0x1x2 xk-1
Language recognizer Construct a finite-state
machine that outputs 1 iff the input string read
so far ends with 111.