Finite State Machine

(redirected from Deterministic automata)
Also found in: Dictionary.

Finite State Machine

(mathematics, algorithm, theory)
(FSM or "Finite State Automaton", "transducer") An abstract machine consisting of a set of states (including the initial state), a set of input events, a set of output events, and a state transition function. The function takes the current state and an input event and returns the new set of output events and the next state. Some states may be designated as "terminal states". The state machine can also be viewed as a function which maps an ordered sequence of input events into a corresponding sequence of (sets of) output events.

A deterministic FSM (DFA) is one where the next state is uniquely determinied by a single input event. The next state of a nondeterministic FSM (NFA) depends not only on the current input event, but also on an arbitrary number of subsequent input events. Until these subsequent events occur it is not possible to determine which state the machine is in.

It is possible to automatically translate any nondeterministic FSM into a deterministic one which will produce the same output given the same input. Each state in the DFA represents the set of states the NFA might be in at a given time.

In a probabilistic FSM there is a predetermined probability of each next state given the current state and input (compare Markov chain).

The terms "acceptor" and "transducer" are used particularly in language theory where automata are often considered as abstract machines capable of recognising a language (certain sequences of input events). An acceptor has a single Boolean output and accepts or rejects the input sequence by outputting true or false respectively, whereas a transducer translates the input into a sequence of output events.

FSMs are used in computability theory and in some practical applications such as regular expressions and digital logic design.

See also state transition diagram, Turing Machine.

[J.H. Conway, "regular algebra and finite machines", 1971, Eds Chapman & Hall].

[S.C. Kleene, "Representation of events in nerve nets and finite automata", 1956, Automata Studies. Princeton].

[Hopcroft & Ullman, 1979, "Introduction to automata theory, languages and computations", Addison-Wesley].

[M. Crochemore "tranducters and repetitions", Theoritical. Comp. Sc. 46, 1986].
References in periodicals archive ?
Optimal simulation of self-verifying automata by deterministic automata.
This mistake probably stems from incorrect logical design, and not from incorrect perception of the nondeterministic mechanism, but it demonstrates that directly designing deterministic automata is complicated, and nondeterminism might help to overcome this complexity.
6]}, which are basically deterministic automata accepting the languages of all words containing ba, of all words containing ab, and of all words ending with be, respectively.
All four examples include redundant nondeterministic transitions, which do not violate the correctness of the automata but are meaningless when added to basically deterministic automata.
Such transitions are essential for deterministic automata accepting these languages but are meaningless in a nondeterministic context.
At the beginning of this process, some or all early versions are nondeterministic or almost nondeterministic (or at least have a meaningful nondeterministic portion), but as the students "improve on" the solution, they construct almost deterministic or fully deterministic automata.
A possible explanation for using the freedom of omitting necessary transitions, characteristic of the nondeterministic model, without introducing the nondeterministic transitions that enable it, is that some students find it hard to cope with nondeterministic models, but are willing to "accept" noncomplete deterministic automata.
Still, he said that for him deterministic automata were simpler.
He said that he had no problem with noncomplete deterministic automata since he knew he could add a sink state and direct all the missing transitions into the sink.

Full browser ?