Download presentation
Presentation is loading. Please wait.
1
Discrete Mathematics and its Applications
1/14/2019 §13.2 – Finite State Machines with Output Instructor: Longin Jan Latecki, Temple University some slides by Dr. Michael P. Frank, Univ. of Florida (c) , Michael P. Frank
2
Discrete Mathematics and its Applications
1/14/2019 Remember the general picture of a computer as being a transition function T:S×I→S×O? If the state set S is finite (not infinite), we call this system a finite state machine. If the domain S×I 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. (c) , Michael P. Frank
3
Discrete Mathematics and its Applications
1/14/2019 Size 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 CPU’s internal state), is then roughly ~512× ×233 = 519,691,042,816 b. How many states would be needed to write out the machine’s entire transition function graph? 2519,691,042,816 = A number having >1.7 trillion decimal digits! (c) , Michael P. Frank
4
One Problem with FSMs as Models
Discrete Mathematics and its Applications 1/14/2019 One 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. (c) , Michael P. Frank
5
Other Problems with FSM Model
Discrete Mathematics and its Applications 1/14/2019 Other Problems with FSM Model It ignores many important physical realities: How is the transition function’s structure to be encoded in physical hardware? How much hardware complexity is required to do this? How close in physical space is one bit’s worth of the machine’s 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 machine’s performance? (c) , Michael P. Frank
6
Vending Machine Example
Discrete Mathematics and its Applications 1/14/2019 Vending Machine Example Suppose a certain vending machine accepts nickels, dimes, and quarters. If >30¢ is deposited, change is immediately returned. If the “coke” button is pressed, the machine drops a coke. It can then accept a new payment. Ignore any other buttons, bills, out of change, etc. (c) , Michael P. Frank
7
Discrete Mathematics and its Applications
1/14/2019 Modeling 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. (c) , Michael P. Frank
8
Transition Function Table
Discrete Mathematics and its Applications 1/14/2019 Transition Function Table Old state Input New state Output n 5 d 10 q 25 b 15 30 Old state Input New state Output 10 n 15 d 20 q 30 5¢ b 25 10¢ 5 (c) , Michael P. Frank
9
Transition Function Table cont.
Discrete Mathematics and its Applications 1/14/2019 Transition Function Table cont. Old state Input New state Output 20 n 25 d 30 q 15¢ b 5¢ 20¢ Old state Input New state Output 30 n 5¢ d 10¢ q 25¢ b coke (c) , Michael P. Frank
10
Another Format: State Table
Discrete Mathematics and its Applications 1/14/2019 Another Format: State Table Each pair shows new state, output symbol Old state Input Symbol n d q b 5, 10, 25, 0, 5 15, 30, 10 20, 30,5¢ 15 30,10¢ 20 30,15¢ 25 30,20¢ 30 30,25¢ 0,coke (c) , Michael P. Frank
11
Directed-Graph State Diagram
Discrete Mathematics and its Applications 1/14/2019 Directed-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 5 10 15 20 25 30 n,5¢ b b b b b b d,10¢ q,15¢ q,25¢ b,coke q,10¢ (c) , Michael P. Frank
12
Discrete Mathematics and its Applications
1/14/2019 Formalizing 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:S×I→S is the state transition function g:S×I→O is the output function s0 is the initial state. Our transition function from before is T = (f,g). (c) , Michael P. Frank
13
Discrete Mathematics and its Applications
1/14/2019 Construct a state table for the finite-state machine in Fig. 3. Find the output string for the input (c) , Michael P. Frank
14
Discrete Mathematics and its Applications
1/14/2019 A 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 (c) , Michael P. Frank
15
Discrete Mathematics and its Applications
1/14/2019 Language recognizer: Construct a finite-state machine that outputs 1 iff the input string read so far ends with 111 otherwise it outputs 0. (c) , Michael P. Frank
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.