Vés al contingut

Autòmat amb pila d'arbre

De la Viquipèdia, l'enciclopèdia lliure

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ó[modifica]

Pila amb arbre[modifica]

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 , una pila sobre és una tubla on:

  • t és una funció parcial de cadenes d'enters positius cap al conjunt @ amb un domini de prefix tancat (anomenat arbre)
  • @ (anomenat símbol del fons) no és a 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 s'anomena

El conjunt de predicats sobre , denotats per , conté els següents predicats unaris:

  • true que és veritat per qualsevol pila sobre
  • bottom que és veritat per una pila el punter de la qual estigui apuntant al símbol de fons
  • que és veritat per alguna pila si

per tot .

El conjunt d'instruccions a , denotades com , contenen les següents funcions parcials:

  • id: que és la funció identitat a
  • pushn,γ : que donat una pila amb arbre afegeix un parell a l'arbre t i posa el punter de la pila a pn (és a dir, afegeix al fill número n) si pn no està dins el domini de t.
  • upn :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 :treu l'últim símbol on apunta el punter de la pila (mou el punter al pare de la posició actual)
  • setγ :reemplaça el símbol sota el punter per

per qualsevol enter positiu n i tot

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

Autòmat amb pila d'arbre[modifica]

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[modifica]

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[modifica]

  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.