In automata theory, a branch of theoretical computer science, an ÃÂ-automaton (or stream automaton) is a variation of a finite automaton that runs on infinite, rather than finite, strings as input. Since ÃÂ-automata do not stop, they have a variety of acceptance conditions rather than simply a set of accepting states.
ÃÂ-automata are useful for specifying behavior of systems that are not expected to terminate, such as hardware, operating systems and control systems. For such systems, one may want to specify a property such as "for every request, an acknowledge eventually follows", or its negation "there is a request that is not followed by an acknowledge". The former is a property of infinite words: one cannot say of a finite sequence that it satisfies this property.
Classes of ÃÂ-automata include the Büchi automata, Rabin automata, Streett automata, parity automata and Muller automata, each deterministic or non-deterministic. These classes of ÃÂ-automata differ only in terms of acceptance condition. They all recognize precisely the regular ÃÂ-languages except for the deterministic Büchi automata, which is strictly weaker than all the others. Although all these types of automata recognize the same set of ÃÂ-languages, they nonetheless differ in succinctness of representation for a given ÃÂ-language.
Formally, a deterministic ÃÂ-automaton is a tuple that consists of the following components:
An input for is an infinite string over the alphabet , i.e. it is an infinite sequence . The run of on such an input is an infinite sequence of states, defined as follows:
The main purpose of an ÃÂ-automaton is to define a subset of the set of all inputs: The set of accepted inputs. Whereas in the case of an ordinary finite automaton every run ends with a state and the input is accepted if and only if is an accepting state, the definition of the set of accepted inputs is more complicated for ÃÂ-automata. Here we must look at the entire run . The input is accepted if the corresponding run is in . The set of accepted input ÃÂ-words is called the recognized ÃÂ-language by the automaton, which is denoted as .
The definition of as a subset of is purely formal and not suitable for practice because normally such sets are infinite. The difference between various types of ÃÂ-automata (Büchi, Rabin etc.) consists in how they encode certain subsets of as finite sets, and therefore in which such subsets they can encode.
Formally, a nondeterministic ÃÂ-automaton is a tuple that consists of the following components:
Unlike a deterministic ÃÂ-automaton, which has a transition function , the non-deterministic version has a transition relation . Note that can be regarded as a function from to the power set . Thus, given a state and a symbol , the next state is not necessarily determined uniquely, rather there is a set of possible next states.
A run of on the input is any infinite sequence of states that satisfies the following conditions:
A nondeterministic ÃÂ-automaton may admit many different runs on any given input, or none at all. The input is accepted if at least one of the possible runs is accepting. Whether a run is accepting depends only on , as for deterministic ÃÂ-automata. Every deterministic ÃÂ-automaton can be regarded as a nondeterministic ÃÂ-automaton by taking to be the graph of . The definitions of runs and acceptance for deterministic ÃÂ-automata are then special cases of the nondeterministic cases.
Acceptance conditions may be infinite sets of ÃÂ-words. However, people mostly study acceptance conditions that are finitely representable. The following lists a variety of popular acceptance conditions.
Before discussing the list, let's make the following observation. In the case of infinitely running systems, one is often interested in whether certain behavior is repeated infinitely often. For example, if a network card receives infinitely many ping requests, then it may fail to respond to some of the requests but should respond to an infinite subset of received ping requests. This motivates the following definition: For any run , let be the set of states that occur infinitely often in . This notion of certain states being visited infinitely often will be helpful in defining the following acceptance conditions.
Every Büchi automaton can be regarded as a Muller automaton. It suffices to replace by consisting of all subsets of that contain at least one element of . Similarly every Rabin, Streett or parity automaton can also be regarded as a Muller automaton.
The following ÃÂ-language over the alphabet , which can be recognized by a nondeterministic Büchi automaton: consists of all ÃÂ-words in in which 1 occurs only finitely many times. A non-deterministic Büchi automaton recognizing needs only two states (the initial state) and . consists of the triples , , and . . For any input in which 1 occurs only finitely many times, there is a run that stays in state as long as there are 1s to read, and goes to state afterwards. This run is successful. If there are infinitely many 1s, then there is only one possible run: the one that always stays in state . (Once the machine has left and reached , it cannot return. If another 1 is read, there is no successor state.)
Notice that above language cannot be recognized by a deterministic Büchi automaton, which is strictly less expressive than its non-deterministic counterpart.
An ÃÂ-language over a finite alphabet is a set of ÃÂ-words over , i.e. it is a subset of . An ÃÂ-language over is said to be recognized by an ÃÂ-automaton (with the same alphabet) if it is the set of all ÃÂ-words accepted by . The expressive power of a class of ÃÂ-automata is measured by the class of all ÃÂ-languages that can be recognized by some automaton in the class.
The nondeterministic Büchi, parity, Rabin, Streett, and Muller automata, respectively, all recognize exactly the same class of ÃÂ-languages. These are known as the ÃÂ-Kleene closure of the regular languages or as the regular ÃÂ-languages. Using different proofs it can also be shown that the deterministic parity, Rabin, Streett, and Muller automata all recognize the regular ÃÂ-languages. It follows from this that the class of regular ÃÂ-languages is closed under complementation. However, the example above shows that the class of deterministic Büchi automata is strictly weaker.
Because nondeterministic Muller, Rabin, Streett, parity, and Büchi automata are equally expressive, they can be translated to each other. Let us use the following abbreviation : for example, NB stands for nondeterministic Büchi ÃÂ-automaton, while DP stands for deterministic parity ÃÂ-automaton. Then the following holds.
A comprehensive overview of translations can be found on the referenced web source.
ÃÂ-automata can be used to prove decidability of S1S, the monadic second-order (MSO) theory of natural numbers under successor. Infinite-tree automata extend ÃÂ-automata to infinite trees and can be used to prove decidability of S2S, the MSO theory with two successors, and this can be extended to the MSO theory of graphs with bounded (given a fixed bound) treewidth.