Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Tree stack automaton

From Wikipedia, the free encyclopedia

A tree stack automaton[a] (plural: tree stack automata) is aformalism considered inautomata theory. It is afinite-state automaton with the additional ability to manipulate atree-shapedstack. It is an automaton with storage[2] whose storage roughly resembles the configurations of athread automaton. A restricted class of tree stack automata recognises exactly thelanguages generated by multiplecontext-free grammars[3] (orlinear context-free rewriting systems).

Definition

[edit]

Tree stack

[edit]
A tree stack with stack pointer 1.2 and domain {ε, 1, 42, 1.2, 1.5, 1.5.3}

For a finite and non-empty setΓ, atree stack overΓ is a tuple(t,p) where

  • t is apartial function from strings of positive integers to the setΓ ∪ {@} withprefix-closed[b]domain (calledtree),
  • @ (calledbottom symbol) is not inΓ and appears exactly at the root oft, and
  • p is an element of the domain oft (calledstack pointer).

The set of all tree stacks overΓ is denoted byTS(Γ).

The set ofpredicates onTS(Γ), denoted byPred(Γ), contains the followingunarypredicates:

  • true which is true for any tree stack overΓ,
  • bottom which is true for tree stacks whose stack pointer points to the bottom symbol, and
  • equals(γ) which is true for some tree stack(t,p) ift(p) =γ,

for everyγΓ.

The set ofinstructions onTS(Γ), denoted byInstr(Γ), contains the following partial functions:

  • id: TS(Γ) → TS(Γ) which is the identity function onTS(Γ),
  • pushn,γ: TS(Γ) → TS(Γ) which adds for a given tree stack(t,p) a pair(pnγ) to the treet and sets the stack pointer topn (i.e. it pushesγ to then-th child position) ifpn is not yet in the domain oft,
  • upn: TS(Γ) → TS(Γ) which replaces the current stack pointerp bypn (i.e. it moves the stack pointer to then-th child position) ifpn is in the domain oft,
  • down: TS(Γ) → TS(Γ) which removes the last symbol from the stack pointer (i.e. it moves the stack pointer to the parent position), and
  • setγ: TS(Γ) → TS(Γ) which replaces the symbol currently under the stack pointer byγ,

for every positive integern and everyγΓ.

Illustration of the instruction id on a tree stack
Illustration of the instruction push on a tree stack
Illustration of the instructions up and down on a tree stack
Illustration of the instruction set on a tree stack

Tree stack automata

[edit]

Atree stack automaton is a 6-tupleA = (Q,Γ,Σ,qi,δ,Qf) where

  • Q,Γ, andΣ are finite sets (whose elements are calledstates,stack symbols, andinput symbols, respectively),
  • qiQ (theinitial state),
  • δfin.Q × (Σ ∪ {ε}) × Pred(Γ) × Instr(Γ) ×Q (whose elements are calledtransitions), and
  • Qf ⊆ TS(Γ) (whose elements are calledfinal states).

Aconfiguration ofA is a tuple(q,c,w) where

  • q is a state (thecurrent state),
  • c is a tree stack (thecurrent tree stack), and
  • w is a word overΣ (theremaining word to be read).

A transitionτ = (q1,u,p,f,q2) isapplicable to a configuration(q,c,w) if

  • q1 =q,
  • p is true onc,
  • f is defined forc, and
  • u is a prefix ofw.

Thetransition relation ofA is thebinary relation on configurations ofA that is the union of all the relationsτ for a transitionτ = (q1,u,p,f,q2) where, wheneverτ is applicable to(q,c,w), we have(q,c,w) ⊢τ (q2,f(c),v) andv is obtained fromw by removing the prefixu.

Thelanguage ofA is the set of all wordsw for which there is some stateqQf and some tree stackc such that(qi,ci, w) ⊢* (q,c,ε) where

Related formalisms

[edit]

Tree stack automata are equivalent toTuring machines.

A tree stack automaton is calledk-restricted for some positive natural numberk if, during any run of the automaton, any position of the tree stack is accessed at mostk times from below.

1-restricted tree stack automata are equivalent topushdown automata and therefore also tocontext-free grammars.k-restricted tree stack automata are equivalent tolinear context-free rewriting systems and multiple context-free grammars of fan-out at mostk (for every positive integerk).[3]

Notes

[edit]
  1. ^not to be confused with a device with the same name introduced in 1990 by Wolfgang Golubski and Wolfram-M. Lippe[1]
  2. ^A set of strings isprefix-closed if for every elementw in the set, all prefixes ofw are also in the set.

References

[edit]
  1. ^Golubski, Wolfgang and Lippe, Wolfram-M. (1990).Tree-stack automata. Proceedings of the 15th Symposium on Mathematical Foundations of Computer Science (MFCS 1990). Lecture Notes in Computer Science, Vol. 452, pages 313–321,doi:10.1007/BFb0029624.
  2. ^Scott, 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.
  3. ^abDenkinger, 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.
Each category of languages, except those marked by a*, is aproper subset of the category directly above it.Any language in each category is generated by a grammar and by an automaton in the category in the same line.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Tree_stack_automaton&oldid=1264116738"
Categories:

[8]ページ先頭

©2009-2025 Movatter.jp