Tree stack automaton
   HOME

TheInfoList



OR:

A tree stack automaton (plural: tree stack automata) is a formalism considered in
automata theory Automata theory is the study of abstract machines and automata, as well as the computational problems that can be solved using them. It is a theory in theoretical computer science with close connections to cognitive science and mathematical l ...
. It is a
finite-state automaton A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number o ...
with the additional ability to manipulate a
tree In botany, a tree is a perennial plant with an elongated stem, or trunk, usually supporting branches and leaves. In some usages, the definition of a tree may be narrower, e.g., including only woody plants with secondary growth, only ...
-shaped
stack Stack may refer to: Places * Stack Island, an island game reserve in Bass Strait, south-eastern Australia, in Tasmania’s Hunter Island Group * Blue Stack Mountains, in Co. Donegal, Ireland People * Stack (surname) (including a list of people ...
. It is an automaton with storageScott, Dana (1967). ''Some Definitional Suggestions for Automata Theory''. Journal of Computer and System Sciences, Vol. 1(2), pages 187–212
doi:10.1016/s0022-0000(67)80014-x
whose storage roughly resembles the configurations of a thread automaton. A restricted class of tree stack automata recognises exactly the
languages Language is a structured system of communication that consists of grammar and vocabulary. It is the primary means by which humans convey meaning, both in spoken and signed forms, and may also be conveyed through writing. Human language is ch ...
generated by multiple
context-free grammar In formal language theory, a context-free grammar (CFG) is a formal grammar whose production rules can be applied to a nonterminal symbol regardless of its context. In particular, in a context-free grammar, each production rule is of the fo ...
sDenkinger, Tobias (2016). ''An automata characterisation for multiple context-free languages''. Proceedings of the 20th International Conference on Developments in Language Theory (DLT 2016). Lecture Notes in Computer Science, Vol. 9840, pages 138–150
doi:10.1007/978-3-662-53132-7_12
(or linear context-free rewriting systems).


Definition


Tree stack

For a finite and non-empty set , a ''tree stack over '' is a tuple where * is a
partial function In mathematics, a partial function from a set to a set is a function from a subset of (possibly the whole itself) to . The subset , that is, the '' domain'' of viewed as a function, is called the domain of definition or natural domain ...
from strings of positive integers to the set with
prefix A prefix is an affix which is placed before the stem of a word. Particularly in the study of languages, a prefix is also called a preformative, because it alters the form of the word to which it is affixed. Prefixes, like other affixes, can b ...
-closed
domain A domain is a geographic area controlled by a single person or organization. Domain may also refer to: Law and human geography * Demesne, in English common law and other Medieval European contexts, lands directly managed by their holder rather ...
(called ''tree''), * (called ''bottom symbol'') is not in and appears exactly at the root of , and * is an element of the domain of (called ''stack pointer''). The set of all tree stacks over is denoted by . The set of ''predicates'' on , denoted by , contains the following unary predicates: * which is true for any tree stack over , * which is true for tree stacks whose stack pointer points to the bottom symbol, and * which is true for some tree stack if , for every . The set of ''instructions'' on , denoted by , contains the following partial functions: * which is the identity function on , * which adds for a given tree stack a pair to the tree and sets the stack pointer to (i.e. it pushes to the -th child position) if is not yet in the domain of , * which replaces the current stack pointer by (i.e. it moves the stack pointer to the -th child position) if is in the domain of , * which removes the last symbol from the stack pointer (i.e. it moves the stack pointer to the parent position), and * which replaces the symbol currently under the stack pointer by , for every positive integer and every .


Tree stack automata

A ''tree stack automaton'' is a 6-tuple where * , , and are finite sets (whose elements are called ''states'', ''stack symbols'', and ''input symbols'', respectively), * (the ''initial state''), * (whose elements are called ''transitions''), and * (whose elements are called ''final states''). A ''configuration of '' is a tuple where * is a state (the ''current state''), * is a tree stack (the ''current tree stack''), and * is a word over (the ''remaining word'' to be read). A transition is ''applicable'' to a configuration if * , * is true on , * is defined for , and * is a prefix of . The ''transition relation of '' is the
binary relation In mathematics, a binary relation associates some elements of one Set (mathematics), set called the ''domain'' with some elements of another set called the ''codomain''. Precisely, a binary relation over sets X and Y is a set of ordered pairs ...
on configurations of that is the union of all the relations for a transition where, whenever is applicable to , we have and is obtained from by removing the prefix . The ''language of '' is the set of all words for which there is some state and some tree stack such that where * is the
reflexive transitive closure In mathematics, a subset of a given set is closed under an operation on the larger set if performing that operation on members of the subset always produces a member of that subset. For example, the natural numbers are closed under addition, but ...
of and * such that assigns for the symbol and is undefined otherwise.


Related formalisms

Tree stack automata are equivalent to
Turing machines A Turing machine is a mathematical model of computation describing an abstract machine that manipulates symbols on a strip of tape according to a table of rules. Despite the model's simplicity, it is capable of implementing any computer alg ...
. A tree stack automaton is called ''-restricted'' for some positive natural number if, during any run of the automaton, any position of the tree stack is accessed at most times from below. 1-restricted tree stack automata are equivalent to
pushdown automata In the theory of computation, a branch of theoretical computer science, a pushdown automaton (PDA) is a type of automaton that employs a stack. Pushdown automata are used in theories about what can be computed by machines. They are more capab ...
and therefore also to
context-free grammars In formal language theory, a context-free grammar (CFG) is a formal grammar whose production rules can be applied to a nonterminal symbol regardless of its context. In particular, in a context-free grammar, each production rule is of the for ...
. -restricted tree stack automata are equivalent to linear context-free rewriting systems and multiple context-free grammars of fan-out at most (for every positive integer ).


Notes


References

{{Formal languages and grammars Models of computation Automata (computation)