Pebble automaton

From HandWiki

In computer science, a pebble automaton is any variant of an automaton which augments the original model with a finite number of "pebbles" that may be used to mark tape positions.

History

Pebble automata were introduced in 1986, when it was shown that in some cases, a deterministic transducer augmented with a pebble could achieve logarithmic space savings over even a nondeterministic log-space transducer (ie, compute in [math]\displaystyle{ \log \log n }[/math] tape cells functions for which the nondeterministic machine required [math]\displaystyle{ \log n }[/math] tape cells), with the implication that a pebble adds power to Turing machines whose functions require space between [math]\displaystyle{ \log\log n }[/math] and [math]\displaystyle{ \log n. }[/math][1] Constructions were also shown to convert a hierarchy of increasingly powerful stack machine models into equivalent deterministic finite automata with up to 3 pebbles, showing additional pebbles further increased power.

Tree-walking automata with nested pebbles

A tree-walking automaton with nested pebbles is a tree-walking automaton with an additional finite set of fixed size containing pebbles, identified with [math]\displaystyle{ \{ 1, 2, \dots, n \} }[/math]. Besides ordinary actions, an automaton can put a pebble at a currently visited node, lift a pebble from the currently visited node and perform a test "is the i-th pebble present at the current node?". There is an important stack restriction on the order in which pebbles can be put or lifted - the i+1-th pebble can be put only if the pebbles from 1st to i-th are already on the tree, and the i+1-th pebble can be lifted only if pebbles from i+2-th to n-th are not on the tree. Without this restriction, the automaton has undecidable emptiness and expressive power beyond regular tree languages.

The class of languages recognized by deterministic (resp. nondeterministic) tree-walking automata with n pebbles is denoted [math]\displaystyle{ DPA_{n} }[/math] (resp. [math]\displaystyle{ PA_{n} }[/math]). We also define [math]\displaystyle{ DPA = \bigcup_{n} DPA_{n} }[/math] and likewise [math]\displaystyle{ PA = \bigcup_{n} PA_{n} }[/math].

Properties

  • there exists a language recognized by a tree-walking automaton with 1 pebble, but not by any ordinary tree walking automaton; this implies that either [math]\displaystyle{ TWA \subsetneq DPA }[/math] or these classes are incomparable, which is an open problem
  • [math]\displaystyle{ PA \subsetneq REG }[/math], i.e. tree-walking automata augmented with pebbles are strictly weaker than branching automata
  • it is not known whether [math]\displaystyle{ DPA = PA }[/math], i.e. whether tree-walking pebble automata can be determinized
  • it is not known whether tree-walking pebble automata are closed under complementation
  • the pebble hierarchy is strict for tree-walking automata, for every n [math]\displaystyle{ PA_{n} \subsetneq PA_{n+1} }[/math] and [math]\displaystyle{ DPA_{n} \subsetneq DPA_{n+1} }[/math]

Automata and logic

Tree-walking pebble automata admit an interesting logical characterization.[2] Let [math]\displaystyle{ FO+TC }[/math] denote the set of tree properties describable in transitive closure first-order logic, and [math]\displaystyle{ FO+\text{pos}\,TC }[/math] the same for positive transitive closure logic, i.e. a logic where the transitive closure operator is not used under the scope of negation. Then it can be proved that [math]\displaystyle{ PA \subseteq FO+TC }[/math] and, in fact, [math]\displaystyle{ PA = FO+\text{pos}\,TC }[/math] - the languages recognized by tree-walking pebble automata are exactly those expressible in positive transitive closure logic.

See also

References

  1. Chang, Jik; Ibarra, Oscar; Palis, Michael; Ravikumar, B (November 1986). "On Pebble Automata". Theoretical Computer Science 44. doi:10.1016/0304-3975(86)90112-X. 
  2. Engelfriet, Joost; Hoogeboom, Hendrik Jan (26 April 2007). "Automata with Nested Pebbles Capture First-Order Logic with Transitive Closure". Logical Methods in Computer Science 3 (2). doi:10.2168/LMCS-3(2:3)2007.