Definition
Automaton
An automaton is a formal mathematical model of a computational system, typically defined as a quintuple:
where:
- is a set of states,
- is the input alphabet,
- : is the transition function,
- is the set of initial states, and
- is the set of accepting (final) states (subset of ).
It processes input symbols (or strings) by transitioning between states according to and determines acceptance based on whether the final state is in .
Example:
Note that the example is a deterministic finite automata.
Transition Function
Transition Function
The transition function is a function that takes a state and an input symbol and returns the next state .
Extended Transition Function
Extended Transition Function
The extended transition function is a function that takes a state and an input string and returns the next state .
Empty Word
Empty Word
The empty word is the empty string .
All strings contain an infinite number of empty words, for example:
Language
Language
The language of an automaton is the set of all strings such that .
An input is called a valid string if , meaning that the string is part of the language of the automata .
Equivalence
Equivalence of Automata
Two automata and are equivalent if they accept the same language.
Types
There are different types of automata:
Deterministic Finite Automaton
Definition
Link to originalDeterministic Finite Automaton
A deterministic finite automaton (DFA) is a automaton that has a finite number of states and the transition function is deterministic.
where:
- is a finite set of states,
- is the input alphabet,
- is the transition function
- is the initial state, and
- is the set of accepting (final) states (subset of ).
It processes input symbols (or strings) by transitioning between states according to and determines acceptance based on whether the final state is in .
All deterministic finite automata are Nondeterministic Finite Automaton.
Nondeterministic Finite Automaton
Definition
Link to originalNondeterministic Finite Automaton
A Nondeterministic Finite Automaton (NFA) is a finite automaton that has a nondeterministic transition function.
A nondeterministic transition function is a function that takes a state and an input symbol and returns a set of possible next states.
where:
- is a finite set of states,
- is the input alphabet,
- is the transition function (power set of )
- is the initial state, and
- is the set of accepting (final) states (subset of ).
It processes input symbols (or strings) by transitioning between states according to and determines acceptance based on whether the final state is in .
Transducer
Definition
Link to originalTransducer
A transducer is an automaton that processes input strings and produces corresponding output strings, effectively mapping one sequence to another.
Formally, a finite-state transducer can be defined as a tuple:
where:
- is a set of states
- is the input alphabet
- is the output alphabet
- : is the transition function
- : is the output function
- is the set of initial states
- is the set of accepting (final) states.
For each input symbol in a state, a next state, using the transition function , and an output symbol, using the output function , are produced by the transducer.