Index: > A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Business Industries Finance Tax

Home > Finite state machine


First Prev [ 1 2 3 ] Next Last

In the theory of computation, a finite state machine (FSM) or finite state automaton (FSA) is an abstract machine that has only a finite, constant amount of memory. The internal states of the machine carry no further structure. This kind of model is very widely used in the study of computation and languages.

The circuit diagram for a 4 bit TTL counter, a type of state machine

1 Overview

It can be represented using a state diagram. There are finitely many states, and each state has transitions to states. There is an input string that determines which transition is followed (some transitions may be from a state to itself). Finite state machines are studied in automata theory, a subfield of theoretical computer science.

There are several types of finite state machines including

Acceptors and recognizers can be treated as the same type.

Finite automata may operate on languages of finite words (the standard case), infinite words ( Rabin automata , Büchi automata), or various types of trees ( tree automata), to name the most important cases.

A further distinction is between deterministic and nondeterministic automata. In deterministic automata, for each state there is exactly one transition for each possible input ( DFA). In non-deterministic automata, there can be none or more than one transition from a given state for a given possible input ( NFAIn the theory of computation, a nondeterministic finite state machine or nondeterministic finite automaton (NFA is a finite state machine where for each pair of state and input symbol there may be several possible next states. Formal definition A NFA is a, GNFAIn the theory of computation, a generalized nondeterministic finite state machine or generalized nondeterministic finite automaton (GNFA is a NFA where each transition may be labeled with any regular expression. The GNFA reads blocks of symbols from the i). Nondeterministic automata are usually implemented by converting them to deterministic automata—in the worst case, the generated deterministic automaton is exponentially biggerIn mathematics, a quantity that grows exponentially is one that grows at a rate proportional to its size. Anything that grows by the same percentage every year (or every month, day, hour etc. is growing exponentially. For example, if the average number of than the nondeterministic automaton (although it can usually be substantially optimised).

The standard acceptance condition for non-deterministic automata requires that some computation accepts the input. Alternating automata also provide a dual notion, where for acceptance all non-deterministic computations must accept.

Apart from theory, finite state machines occur also in hardware circuitsDigital circuits are electric circuits based on a number of discrete voltage levels. In most cases there are two voltage levels: one near to zero volts and one at a higher level depending on the supply voltage in use. These two levels are often represente, where the input, the state and the output are bit vectors of fixed size ( Moore machineIn the theory of computation, a Moore machine is a finite state automaton where the outputs are determined by the current state alone (and not on the input). The state diagram for a Moore machine will include an output signal for each state. Compare withs and Mealy machines).

Mealy machines have actions (outputs) associated with transitions and Moore machines have actions associated with states.





Non User