# Pebble automaton

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 $\log \log n$ tape cells functions for which the nondeterministic machine required $\log n$ tape cells), with the implication that a pebble adds power to Turing machines whose functions require space between $\log \log n$ and $\log n.$ 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 $\{1,2,\dots ,n\}$. 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 $DPA_{n}$ (resp. $PA_{n}$). We also define $DPA=\bigcup _{n}DPA_{n}$ and likewise $PA=\bigcup _{n}PA_{n}$.

## 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 $TWA\subsetneq DPA$ or these classes are incomparable, which is an open problem
* $PA\subsetneq REG$, i.e. tree-walking automata augmented with pebbles are strictly weaker than branching automata
* it is not known whether $DPA=PA$, 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 $PA_{n}\subsetneq PA_{n+1}$ and $DPA_{n}\subsetneq DPA_{n+1}$

## Automata and logic

Tree-walking pebble automata admit an interesting logical characterization. Let $FO+TC$ denote the set of tree properties describable in transitive closure first-order logic, and $FO+{\text{pos}}\,TC$ 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 $PA\subseteq FO+TC$ and, in fact, $PA=FO+{\text{pos}}\,TC$ - the languages recognized by tree-walking pebble automata are exactly those expressible in positive transitive closure logic.