Articulo de referencia

transductor de árbol

En informática teórica y teoría del lenguaje formal , un transductor de árbol (TT) es una máquina abstracta que toma como entrada un árbol y genera una salida, generalmente otro...

En informática teórica y teoría del lenguaje formal , un transductor de árbol (TT) es una máquina abstracta que toma como entrada un árbol y genera una salida, generalmente otros árboles, aunque existen modelos que producen palabras u otras estructuras. En términos generales, los transductores de árbol extienden los autómatas de árbol del mismo modo que los transductores de palabra extienden los autómatas de palabra .

La manipulación de estructuras de árbol en lugar de palabras permite a las TT modelar transformaciones dirigidas por la sintaxis de lenguajes formales o naturales. Sin embargo, las TT no se comportan tan bien como sus contrapartes basadas en palabras en términos de complejidad algorítmica , propiedades de cierre , etc. En particular, la mayoría de las clases principales no son cerradas bajo composición .

Las principales clases de transductores de árboles son:

Transductores de árbol de arriba hacia abajo (TOP)

Un TOP T es una tupla ( Q , Σ, Γ, I , δ ) tal que:

  • Q es un conjunto finito , el conjunto de estados ;
  • Σ es un alfabeto jerarquizado finito , llamado alfabeto de entrada ;
  • Γ es un alfabeto jerarquizado finito, llamado alfabeto de salida ;
  • I es un subconjunto de Q , el conjunto de estados iniciales ; y
  • δ es un conjunto de reglas de la formaq(F(incógnita1,,incógnitanorte)){\displaystyle q(f(x_{1},\dots ,x_{n}))\to u}donde f es un símbolo de Σ, n es la aridad de f , q es un estado y u es un árbol en Γ yQ×1..norte{\displaystyle Q\times 1..n}, siendo tales pares nulos .

Ejemplos de reglas e intuiciones sobre semántica

Por ejemplo,

q(F(incógnita1,,incógnita3))gramo(a,q(incógnita1),h(q(incógnita3))){\displaystyle q(f(x_{1},\dots ,x_{3}))\to g(a,q'(x_{1}),h(q''(x_{3})))}

es una regla – uno habitualmente escribeq(incógnitai){\displaystyle q(x_{i})}en lugar del par(q,incógnitai){\displaystyle (q,x_{i})}– y su semántica intuitiva es que, bajo la acción de q , un árbol con f en la raíz y tres hijos se transforma en

gramo(a,q(incógnita1),h(q(incógnita3))){\displaystyle g(a,q'(x_{1}),h(q''(x_{3})))}

donde, recursivamente,q(incógnita1){\displaystyle q'(x_{1})}yq(incógnita3){\displaystyle q''(x_{3})}se reemplazan, respectivamente, con la aplicación deq{\displaystyle q'}sobre el primer hijo y con la aplicación deq{\displaystyle q''}el tercero.

La semántica como reescritura de términos

La semántica de cada estado del transductor T , y de T mismo, es una relación binaria entre árboles de entrada (en Σ) y árboles de salida (en Γ).

Una forma de definir la semántica formalmente es verδ{\displaystyle \delta }como un sistema de reescritura de términos , siempre que en los lados derechos las llamadas estén escritas en la formaq(incógnitai){\displaystyle q(x_{i})}, donde los estados q son símbolos unarios. Entonces la semántica[[q]]{\displaystyle [\![q]\!]}de un estado q viene dado por

[[q]]={v es un árbol en Σ, v es un árbol en Γ, y q()δv}.{\displaystyle [\![q]\!]=\{u\mapsto v\mid u{\text{ es un árbol en }}\Sigma ,\ v{\text{ es un árbol en }}\Gamma {\text{, y }}q(u)\to _{\delta }^{*}v\}.}

La semántica de T se define entonces como la unión de las semánticas de sus estados iniciales:

[[T]]=qI[[q]].{\displaystyle [\![T]\!]=\bigcup _{q\in I}[\![q]\!].}

Determinismo y dominio

Al igual que con los autómatas de árbol, se dice que un TOP es determinista (abreviado DTOP ) si no hay dos reglas de δ que compartan el mismo lado izquierdo y existe como máximo un estado inicial. En ese caso, la semántica del DTOP es una función parcial de los árboles de entrada (en Σ) a los árboles de salida (en Γ), al igual que la semántica de cada uno de los estados del DTOP.

El dominio de un transductor es el dominio de su semántica. Del mismo modo, la imagen de un transductor es la imagen de su semántica.

Propiedades de DTOP

Que el dominio sea reconocible por DTTA no es sorprendente, considerando que los lados izquierdos de las reglas DTOP son los mismos que para DTTA. En cuanto a la razón de la explosión exponencial en el peor caso (que no existe en el caso de la palabra), considérese la reglaq(F(incógnita1,incógnita2))gramo(pag1(incógnita1),pag2(incógnita1),pag3(incógnita2)){\displaystyle q(f(x_{1},x_{2}))\to g(p_{1}(x_{1}),p_{2}(x_{1}),p_{3}(x_{2}))}Para que el cálculo tenga éxito, debe tener éxito para ambos hijos. Eso significa que el hijo derecho debe estar en el dominio depag3{\displaystyle p_{3}}En cuanto al hijo izquierdo, debe estar en el dominio de ambos.pag1{\displaystyle p_{1}}ypag2{\displaystyle p_{2}}En general, dado que los subárboles se pueden copiar, un único subárbol puede ser evaluado por múltiples estados durante una ejecución, a pesar del determinismo, y a diferencia de DTTA. Por lo tanto, la construcción de DTTA que reconoce el dominio de un DTOP debe tener en cuenta conjuntos de estados y calcular las intersecciones de sus dominios, de ahí la exponencial. En el caso especial de DTOP lineal , es decir, DTOP donde cadaincógnitai{\displaystyle x_{i}}Aparece como máximo una vez en el lado derecho de cada regla, la construcción es lineal en el tiempo y el espacio.
  • La imagen de un DTOP no es un lenguaje de árbol regular.
Consideremos el transductor codificando la transformaciónF(incógnita)gramo(incógnita,incógnita){\displaystyle f(x)\to g(x,x)}; es decir, duplicar el hijo de la entrada. Esto se hace fácilmente mediante una regla.q(F(incógnita1))gramo(pag(incógnita1),pag(incógnita1)){\displaystyle q(f(x_{1}))\to g(p(x_{1}),p(x_{1}))}, donde p codifica la identidad . Entonces, sin ninguna restricción en el primer hijo de la entrada, la imagen es un lenguaje de árbol no regular clásico.
  • Sin embargo, el dominio de un DTOP no puede restringirse a un lenguaje de árbol regular. Es decir, dado un DTOP T y un lenguaje L , no se puede, en general, construir un DTOPT{\displaystyle T'}de tal manera que la semántica deT{\displaystyle T'}es la de T , restringida a L.
Esta propiedad está relacionada con la razón por la que los autómatas de árbol deterministas descendentes son menos expresivos que los autómatas ascendentes: una vez que se recorre un camino determinado, la información de otros caminos es inaccesible. Consideremos el transductor que codifica la transformación.F(incógnita,y)y{\displaystyle f(x,y)\to y}; es decir, generar el hijo derecho de la entrada. Esto se hace fácilmente mediante una regla.q(F(incógnita1,incógnita2))pag(incógnita2){\displaystyle q(f(x_{1},x_{2}))\to p(x_{2})}donde p codifica la identidad. Ahora supongamos que queremos restringir este transductor al dominio finito (y por lo tanto, en particular, regular).{F(do,a), F(do,b)}{\displaystyle \{f(c,a),\ f(c,b)\}}Debemos usar las reglasq(F(incógnita1,incógnita2))pag(incógnita2), pag(a)a, pag(b)b{\displaystyle q(f(x_{1},x_{2}))\to p(x_{2}),\ p(a)\to a,\ p(b)\to b}. Pero en la primera regla,incógnita1{\displaystyle x_{1}}No aparece en absoluto, ya que no se produce nada a partir del hijo izquierdo. Por lo tanto, no es posible comprobar que el hijo izquierdo sea c . En cambio, como sí se produce a partir del hijo derecho, podemos comprobar que sea a o b . En general, el criterio es que DTOP no puede comprobar las propiedades de los subárboles de los que no produce ninguna salida.
  • Los DTOP no son cerrados bajo composición . Sin embargo, este problema puede resolverse mediante la adición de una anticipación : un autómata de árbol, acoplado al transductor, que puede realizar pruebas en el dominio del que el transductor es incapaz. [ 2 ]
Esto se desprende del punto sobre la restricción de dominio: componer la identidad de codificación DTOP en{F(do,a), F(do,b)}{\displaystyle \{f(c,a),\ f(c,b)\}}con la única codificaciónF(incógnita,y)y{\displaystyle f(x,y)\to y}debe producir un transductor con la semántica{F(do,a)a, F(do,b)b}{\displaystyle \{f(c,a)\mapsto a,\ f(c,b)\mapsto b\}}, lo cual sabemos que no se puede expresar mediante un DTOP.

Transductores de árbol de abajo hacia arriba (BOT)

Al igual que en el caso más simple de los autómatas de árbol, los transductores de árbol ascendentes se definen de manera similar a sus contrapartes descendentes, pero proceden desde las hojas del árbol hasta la raíz, en lugar de desde la raíz hasta las hojas. Por lo tanto, la principal diferencia radica en la forma de las reglas, que son de la formaF(q1(incógnita1),,qnorte(incógnitanorte))q(){\displaystyle f(q_{1}(x_{1}),\dots ,q_{n}(x_{n}))\to q(u)}.

Referencias

  • Común, Hubert; Dauchet, Max; Gilleron, Rémi; Jacquemard, Florent; Lugiez, Denis; Loding, Christof; Tison, Sophie ; Tommasi, Marc (noviembre de 2008). "Capítulo 6: Transductores de árboles" . Técnicas y aplicaciones de autómatas de árboles . Consultado el 11 de febrero de 2014 .
  • Hosoya, Haruo (4 de noviembre de 2010). Fundamentos del procesamiento XML: El enfoque de autómatas de árbol . Cambridge University Press. ISBN 978-1-139-49236-2.
  1. Baker, BS: Composición de las transducciones de árboles de arriba hacia abajo y de abajo hacia arriba. Inf. Control 41(2), 186–213 (1979)
  2. Maneth, Sebastian (diciembre de 2015). "Un estudio sobre problemas de equivalencia decidible para transductores de árboles" (PDF) . Revista Internacional de Fundamentos de Ciencias de la Computación . 26 (8): 1069–1100 . doi : 10.1142/S0129054115400134 . hdl : 20.500.11820/2f1acef4-1b06-485f-bfd1-88636c9e2fe6 .
  3. "Resultados de decidibilidad sobre transductores de árboles I" . www.inf.u-szeged.hu .