Autòmat amb pila d'arbre

En teoria d'autòmats, un autòmat amb pila d'arbre és un autòmat amb la capacitat de manipular una pila amb forma d'arbre.[1][2] És un autòmat amb emmagatzemament on el seu element d'emmagatzematge s'assembla al de l'autòmat per subprocessos. Aquest tipus d'autòmats reconeixen els llenguatges generats per múltiples gramàtiques lliures de context o llenguatges lineals de reescriptura lliure de context.[3]

Definició

Pila amb arbre

Una pila amb arbre amb punter 1,2 i domini {ε, 1, 42, 1.2, 1.5, 1.5.3}

Per un conjunt finit i no buit Γ {\displaystyle \Gamma } , una pila sobre Γ {\displaystyle \Gamma } és una tubla t , p {\displaystyle \langle t,p\rangle } on:

  • t és una funció parcial de cadenes d'enters positius cap al conjunt Γ {\displaystyle \Gamma \cup } @ amb un domini de prefix tancat (anomenat arbre)
  • @ (anomenat símbol del fons) no és a Γ {\displaystyle \Gamma } i apareix a l'arrel de t
  • p és un element del domini de t (anomenat punter de la pila)

El conjunt de totes les piles amb arbres sobre Γ {\displaystyle \Gamma } s'anomena T S ( Γ ) {\displaystyle TS(\Gamma )}

El conjunt de predicats sobre T S ( Γ ) {\displaystyle TS(\Gamma )} , denotats per P r e d ( Γ ) {\displaystyle Pred(\Gamma )} , conté els següents predicats unaris:

  • true que és veritat per qualsevol pila sobre Γ {\displaystyle \Gamma }
  • bottom que és veritat per una pila el punter de la qual estigui apuntant al símbol de fons
  • e q u a l s ( γ ) {\displaystyle equals(\gamma )} que és veritat per alguna pila t , p {\displaystyle \langle t,p\rangle } si t ( p ) = γ {\displaystyle t(p)=\gamma }

per tot γ Γ {\displaystyle \gamma \in \Gamma } .

El conjunt d'instruccions a T S ( Γ ) {\displaystyle TS(\Gamma )} , denotades com I n s t r ( Γ ) {\displaystyle Instr(\Gamma )} , contenen les següents funcions parcials:

  • id: T S ( Γ ) T S ( Γ ) {\displaystyle TS(\Gamma )\to TS(\Gamma )} que és la funció identitat a T S ( Γ ) {\displaystyle TS(\Gamma )}
  • pushn,γ : T S ( Γ ) T S ( Γ ) {\displaystyle TS(\Gamma )\to TS(\Gamma )} que donat una pila amb arbre t , p {\displaystyle \langle t,p\rangle } afegeix un parell ( p n γ ) {\displaystyle (pn\mapsto \gamma )} a l'arbre t i posa el punter de la pila a pn (és a dir, afegeix γ {\displaystyle \gamma } al fill número n) si pn no està dins el domini de t.
  • upn : T S ( Γ ) T S ( Γ ) {\displaystyle TS(\Gamma )\to TS(\Gamma )} reemplaça el punter actual p per pn (mou el punter de la pila cap al fill número n) si pn està al domini de t.
  • down : T S ( Γ ) T S ( Γ ) {\displaystyle TS(\Gamma )\to TS(\Gamma )} treu l'últim símbol on apunta el punter de la pila (mou el punter al pare de la posició actual)
  • setγ : T S ( Γ ) T S ( Γ ) {\displaystyle TS(\Gamma )\to TS(\Gamma )} reemplaça el símbol sota el punter per γ {\displaystyle \gamma }

per qualsevol enter positiu n i tot γ Γ {\displaystyle \gamma \in \Gamma }

Exemple d'instrucció id
Exemple d'instrucció push
Exemple d'instruccions up i down
Exemple d'instrucció set

Autòmat amb pila d'arbre

Un autòmat amb pila d'arbre és una 6-tupla A = (Q, Γ, Σ, qi, δ, Qf) on:

  • Q, Γ, i Σ son conjunts finits (estat, símbols de la pila i símbols d'entrada)
  • qiQ és l'estat inicial,
  • δfin. Q × (Σ ∪ {ε}) × Pred(Γ) × Instr(Γ) × Q anomenats transicions, i
  • Qf ⊆ TS(Γ) anomenats estats finals.

Una configuració d'A és una tupla (q, c, w) on:

  • q és un estat (l'estat actual),
  • c és una pila amb arbre
  • w és una paraula sobre Σ

Una transició τ = (q1, u, p, f, q₂) és aplicable a una configuració (q, c, w) si

  • q1 = q,
  • p és cert a c,
  • f es definida per c, i
  • u és un prefix de w.

La relació de transició d'A és la relació binària de configuracions d'A que és la unió de totes les relacions τ per una transició τ = (q1, u, p, f, q₂) on, per tot τ és aplicable a (q, c, w), es te (q, c, w) ⊢τ (q₂, f(c), v) i v s'obté de w eliminant-hi el prefix u.

El llenguatge d'A és el conjunt de totes les paraules w per les quals algun estat qQf i alguna pila amb arbre c tal que (qi, ci, w) ⊢* (q, c, ε) on

  • * és la clausura reflexiva transitiva de i
  • ci = (ti, ε) tal que ti assigna el símbol @ a ε i no està definit per altres casos.

Formalismes relacionats

Aquesta mena de màquines son equivalents a les Màquines de Turing.

Un autòmat amb pila d'arbre s'anomena restringit-k per algun nombre positiu k si durant qualsevol moment de l'execució de l'autòmat, qualsevol posició de la pila d'arbre s'hi accedeix com a màxim k cops.

Un autòmat restringit-1 és equivalent a un autòmat a pila i per tant també és equivalent a les gramàtiques lliures de context. Un autòmat restringit-k és equivalent a una gramàtica de sistema lineal de rescriptura lliure de context i a múltiples gramàtiques lliures de context de sortida com a molt k.[3]

Referències

  1. Golubski, Wolfgang; Lippe, Wolfram-M. «Tree-stack automata» (en anglès). Proceedings of the 15th Symposium on Mathematical Foundations of Computer Science (MFCS 1990). Springer Berlin Heidelberg, 1990, pàg. 313–321. DOI: 10.1007/bfb0029624.
  2. Scott, Dana «Some definitional suggestions for automata theory». Journal of Computer and System Sciences, 1, 2, 01-08-1967, pàg. 187–212. DOI: 10.1016/S0022-0000(67)80014-X. ISSN: 0022-0000.
  3. 3,0 3,1 Denkinger, Tobias «An Automata Characterisation for Multiple Context-Free Languages» (en anglès). Proceedings of the 20th International Conference on Developments in Language Theory (DLT 2016). Lecture Notes in Computer Science. Springer Berlin Heidelberg, 2016, pàg. 138–150. DOI: 10.1007/978-3-662-53132-7_12.
  • Vegeu aquesta plantilla
Jerarquia de ChomskyGramàtiquesLlenguatgesMàquines abstractes
  • Tipus-0
  • Tipus-1
  • Tipus-2
  • Tipus-3
Cada categoria de llenguatges, excepte aquells marcats per *, és un subconjunt de la categoria superior. Qualsevol llenguatge en aquesta categoria es genera per una gramàtica i per un autòmat de la categoria de la mateixa línia.