A finite-state machine (FSM) or finite-state automaton (FSA, plural: "automata"), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number of "states" at any given time. The FSM can change from one state to another in response to some inputs; the change from one state to another is called a "transition". An FSM is defined by a list of its states, its initial state, and the inputs that trigger each transition. Finite-state machines are of two types—deterministic finite-state machines and non-deterministic finite-state machines. A deterministic finite-state machine can be constructed equivalent to any non-deterministic one.