# Finite State Machines: Timed and Hybrid Automata

## Finite State Machines

A finite state machine (FSM) can be used as a formal representation of an even-driven (reactive) system. An FSM has a finite set of states S = [s_{0},s_{1}, ... , *s _{N}],* an input alphabet I, an output alphabet O, and a state transition function d:S x I ^ S. At any time, the FSM is in exactly one state,

*s.*Initially, the FSM is in the start state, s

_{0}. A subset of the states can be defined as

*accepting states.*The transition function,

*d,*determines the next state

*s.*for a given state

*s*e S and a given input

_{t}*k e*I. The notation d(s

_{i},k) =

*s.*means if the FSM is in state

*s*and reads input k, then it will move to state

_{t }*s.*

A state machine is *deterministic,* if the transition function specifies exactly one next state for every pair of current state and input. If there are pairs of current state and input for which the transition function specifies two or more next states or no next state at all, the state machine is nondeterministic.* A nondeterministic FSM can be transformed into an equivalent deterministic FSM.

Depending on the purpose of their use, different classes of FSMs are distinguished: acceptors and recognizers, and transducers.