| Finite state machines | ||||||||||||||
| Finite state machine (FSM) with output | ||||||||||||||
| Q, a set of states | ||||||||||||||
| S, a single state which is an element of Q. This is the start state. | ||||||||||||||
| Sigma, the input alphabet | ||||||||||||||
| Pi, the output alphabet | ||||||||||||||
| delta, a transition function that maps a state and a letter from the input alphabet, | ||||||||||||||
| to a state and a letter from the output alphabet | ||||||||||||||
| Primary differences with FSA: | ||||||||||||||
| No final state | ||||||||||||||
| Transition function generates output as well as determining next state | ||||||||||||||
| Purpose is not to recognize strings, but to generate set of outputs | ||||||||||||||
| Describes how inputs and current state generate outputs | ||||||||||||||
| For circuits: | ||||||||||||||
| Input alphabet: set of k-bit strings | ||||||||||||||
| Output alphabet: set of m-bit strings | ||||||||||||||
| Transitions from a given state must be: | ||||||||||||||
| Mutually exclusive: only 1 choice for any single input value | ||||||||||||||
| Exhaustive: all possible inputs have a transition | ||||||||||||||
| "Nothing happens": remain in same state | ||||||||||||||