(Translated by https://www.hiragana.jp/)
ω-automaton - Wikipedia Jump to content

ωおめが-automaton

From Wikipedia, the free encyclopedia
(Redirected from Rabin automaton)

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.

Deterministic ωおめが-automata

[edit]

Formally, a deterministic ωおめが-automaton is a tuple A = (Q,Σしぐま,δでるた,Q0,Acc) that consists of the following components:

  • Q is a finite set. The elements of Q are called the states of A.
  • Σしぐま is a finite set called the alphabet of A.
  • δでるたQ × Σしぐま → Q is a function, called the transition function of A.
  • Q0 is an element of Q, called the initial state.
  • Acc is the acceptance condition, formally a subset of Qωおめが.

An input for A is an infinite string over the alphabet Σしぐま, i.e. it is an infinite sequence αあるふぁ = (a1,a2,a3,...). The run of A on such an input is an infinite sequence ρろー = (r0,r1,r2,...) of states, defined as follows:

  • r0 = q0.
  • r1 = δでるた(r0,a1).
  • r2 = δでるた(r1,a2).
...
  • that is, for every i: ri = δでるた(ri-1,ai).

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 rn and the input is accepted if and only if rn 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 Acc. The set of accepted input ωおめが-words is called the recognized ωおめが-language by the automaton, which is denoted as L(A).

The definition of Acc as a subset of Qωおめが 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 Acc of Qωおめが as finite sets, and therefore in which such subsets they can encode.

Nondeterministic ωおめが-automata

[edit]

Formally, a nondeterministic ωおめが-automaton is a tuple A = (Q,Σしぐま,Δでるた,Q0,Acc) that consists of the following components:

  • Q is a finite set. The elements of Q are called the states of A.
  • Σしぐま is a finite set called the alphabet of A.
  • Δでるた is a subset of Q × Σしぐま × Q and is called the transition relation of A.
  • Q0 is a subset of Q, called the initial set of states.
  • Acc is the acceptance condition, a subset of Qωおめが.

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 : Q × Σしぐま → P(Q) from Q × Σしぐま to the power set P(Q). Thus, given a state qn and a symbol an, the next state qn+1 is not necessarily determined uniquely, rather there is a set of possible next states.

A run of A on the input αあるふぁ = (a1,a2,a3,...) is any infinite sequence ρろー = (r0,r1,r2,...) of states that satisfies the following conditions:

  • r0 is an element of Q0.
  • r1 is an element of Δでるた(r0,a1).
  • r2 is an element of Δでるた(r1,a2).
...
  • that is, for every i: ri is an element of Δでるた(ri-1,ai).

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 Acc, 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

[edit]

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 Inf(ρろー) 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.

  • A Büchi automaton is an ωおめが-automaton A that uses the following acceptance condition, for some subset F of Q:
Büchi condition
A accepts exactly those runs ρろー for which Inf(ρろー) ∩ F is not empty, i.e. there is an accepting state that occurs infinitely often in ρろー.
  • A Rabin automaton is an ωおめが-automaton A that uses the following acceptance condition, for some set Ωおめが of pairs (Bi,Gi) of sets of states:
Rabin condition
A accepts exactly those runs ρろー for which there exists a pair (Bi,Gi) in Ωおめが such that Bi ∩ Inf(ρろー) is empty and Gi ∩ Inf(ρろー) is not empty.
  • A Streett automaton is an ωおめが-automaton A that uses the following acceptance condition, for some set Ωおめが of pairs (Bi,Gi) of sets of states:
Streett condition
A accepts exactly those runs ρろー such that for all pairs (Bi,Gi) in Ωおめが, Bi ∩ Inf(ρろー) is empty or Gi ∩ Inf(ρろー) is not empty.
  • A parity automaton is an automaton A whose set of states is Q = {0,1,2,...,k} for some natural number k, and that has the following acceptance condition:
Parity condition
A accepts ρろー if and only if the smallest number in Inf(ρろー) is even.
  • A Muller automaton is an ωおめが-automaton A that uses the following acceptance condition, for a subset F of P(Q) (the power set of Q):
Muller condition
A accepts exactly those runs ρろー for which Inf(ρろー) is an element of F.

Every Büchi automaton can be regarded as a Muller automaton. It suffices to replace F by F' consisting of all subsets of Q that contain at least one element of F. Similarly every Rabin, Streett or parity automaton can also be regarded as a Muller automaton.

Example

[edit]
A non-deterministic Büchi automaton that recognizes (0∪1)*0ωおめが

The following ωおめが-language L over the alphabet Σしぐま = {0,1}, which can be recognized by a nondeterministic Büchi automaton: L consists of all ωおめが-words in Σしぐまωおめが in which 1 occurs only finitely many times. A non-deterministic Büchi automaton recognizing L needs only two states q0 (the initial state) and q1. Δでるた consists of the triples (q0,0,q0), (q0,1,q0), (q0,0,q1) and (q1,0,q1). F = {q1}. For any input αあるふぁ in which 1 occurs only finitely many times, there is a run that stays in state q0 as long as there are 1s to read, and goes to state q1 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 q0. (Once the machine has left q0 and reached q1, 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.

Expressive power of ωおめが-automata

[edit]

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 A (with the same alphabet) if it is the set of all ωおめが-words accepted by A. 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.[1] 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.

Conversion between ωおめが-automata

[edit]

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.

  • Clearly, any deterministic automaton can be viewed as a nondeterministic one.
  • with no blow-up in the state space.
  • with a polynomial blow-up in the state space, i.e., the number of states in the resulting NB is , where is the number of states in the NB and is the number of Rabin acceptance pairs (see, for example, [2]).
  • with exponential blow-up in the state space.
  • with exponential blow-up in the state space. This determinization result uses Safra's construction.

A comprehensive overview of translations can be found on the referenced web source. [3]

Applications to decidability

[edit]

ωおめが-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.

Further reading

[edit]
  • Farwer, Berndt (2002), "ωおめが-Automata", in Grädel, Erich; Thomas, Wolfgang; Wilke, Thomas (eds.), Automata, Logics, and Infinite Games, Lecture Notes in Computer Science, Springer, pp. 3–21, ISBN 978-3-540-00388-5.
  • Perrin, Dominique; Pin, Jean-Éric (2004), Infinite Words: Automata, Semigroups, Logic and Games, Elsevier, ISBN 978-0-12-532111-2
  • Thomas, Wolfgang (1990), "Automata on infinite objects", in van Leeuwen, Jan (ed.), Handbook of Theoretical Computer Science, vol. B, MIT Press, pp. 133–191, ISBN 978-0-262-22039-2
  • Bakhadyr Khoussainov; Anil Nerode (6 December 2012). Automata Theory and its Applications. Springer Science & Business Media. ISBN 978-1-4612-0171-7.


References

[edit]
  1. ^ Safra, S. (1988), "On the complexity of ωおめが-automata", Proceedings of the 29th Annual Symposium on Foundations of Computer Science (FOCS '88), Washington, DC, USA: IEEE Computer Society, pp. 319–327, doi:10.1109/SFCS.1988.21948.
  2. ^ Esparza, Javier (2017), Automata Theory: An Algorithmic Approach (PDF)
  3. ^ Boker, Udi (18 April 2018). "Word-Automata Translations". Udi Boker's webpage. Retrieved 30 March 2019.