Jump to content

Infinite-tree automaton

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Art haali (talk | contribs) at 10:32, 25 February 2019 (Expressive power of acceptance conditions). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computer science and mathematical logic, an infinite tree automaton is a state machine that deals with infinite tree structures. It can be viewed as an extension from a finite tree automaton which accepts only finite trees. It can also be viewed as an extension of infinite-word automata such as Büchi automata and Muller automata.

A finite automaton which runs on an infinite tree was first used by Rabin[1] for proving decidability of monadic second order logic. It has been further observed that tree automaton and logical theories are closely connected and it allows decision problems in logic to be reduced into decision problems for automata.

Definition

Infinite-tree automata work on -labeled trees. There are many slightly different definitions; here is one. A (nondeterministic) infinite-tree automaton is a tuple with the following components.

  • is an alphabet. This alphabet is used to label nodes of an input tree.
  • is a finite set of allowed branching degrees in an input tree. For example, if , an input tree has to be a binary tree, or if , then each node has either 1, 2, or 3 children.
  • is a finite set of states.
  • is a transition relation that maps an automaton state , an input letter , and a degree to a set of -tuples of states.
  • is an initial state.
  • is an accepting condition.

An infinite tree automaton is deterministic if for every , , and , the transition relation has exactly one -tuple.

Run

A run of a tree automaton over a -labeled tree is a -labeled tree . Suppose that the tree automaton reached a node of an input tree and it is currently in state . Let the node be labeled with and be its branching degree. Then, the automaton proceeds by selecting a tuple from the set and splitting itself into copies. For each , one copy of the automaton proceeds into node and changes its state to . This produces a run which is a -labeled tree. Intuitively, the run replaces each node label from by a label from in a way that satisfies the transition relation of the automaton.

Formally, a run on the input tree satisfies the following two conditions.

  • .
  • For every with , there exists a such that for every , we have and .

If the automaton is nondeterministic, there may be several different runs on the same input tree; for deterministic automata, the run is unique.

Acceptance condition

In a run , an infinite path is labeled by a sequence of states. This sequence of states form an infinite word over states. If all these infinite words belong to accepting condition , then the run is accepting. Interesting accepting conditions are Büchi, Rabin, Streett, Muller, and parity. If for an input -labeled tree , there exists an accepting run, then the input tree is accepted by the automaton. The set of all accepted -labeled trees is called tree language which is recognized by the tree automaton .

Expressive power of acceptance conditions

Tree automata with Muller, parity, Rabin, or Streett acceptance recognize the same set of tree languages, and thus have the same expressive power. But tree automata with Büchi acceptance are strictly weaker, i.e., there exists a tree language that can be recognized by an automaton with Muller acceptance but cannot be recognized by any automaton with Büchi acceptance.[2]

Languages describable by tree automata with Muller acceptance are closed under union, intersection, projection, and complementation.

References

  1. ^ Rabin, M. O.: Decidability of second order theories and automata on infinite trees,Transactions of the American Mathematical Society, vol. 141, pp. 1–35, 1969.
  2. ^ Rabin, M. O.: Weakly definable relations and special automata,Mathematical logic and foundation of set theory, pp. 1–23, 1970.