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 formadonde f es un símbolo de Σ, n es la aridad de f , q es un estado y u es un árbol en Γ y, siendo tales pares nulos .
Ejemplos de reglas e intuiciones sobre semántica
Por ejemplo,
es una regla – uno habitualmente escribeen lugar del par– 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
donde, recursivamente,yse reemplazan, respectivamente, con la aplicación desobre el primer hijo y con la aplicación deel 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 vercomo un sistema de reescritura de términos , siempre que en los lados derechos las llamadas estén escritas en la forma, donde los estados q son símbolos unarios. Entonces la semánticade un estado q viene dado por
La semántica de T se define entonces como la unión de las semánticas de sus estados iniciales:
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
- Los DTOP no están cerrados bajo la unión : este ya es el caso para los transductores de palabras deterministas.
- El dominio de un DTOP es un lenguaje de árbol regular . Además, el dominio es reconocible por un autómata de árbol determinista descendente (DTTA) de tamaño como máximo exponencial en el del DTOP inicial. [ 1 ]
- 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 reglaPara que el cálculo tenga éxito, debe tener éxito para ambos hijos. Eso significa que el hijo derecho debe estar en el dominio deEn cuanto al hijo izquierdo, debe estar en el dominio de ambos.yEn 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 cadaAparece 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ón; es decir, duplicar el hijo de la entrada. Esto se hace fácilmente mediante una regla., 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 DTOPde tal manera que la semántica dees 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.; es decir, generar el hijo derecho de la entrada. Esto se hace fácilmente mediante una regla.donde p codifica la identidad. Ahora supongamos que queremos restringir este transductor al dominio finito (y por lo tanto, en particular, regular).Debemos usar las reglas. Pero en la primera regla,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 encon la única codificacióndebe producir un transductor con la semántica, lo cual sabemos que no se puede expresar mediante un DTOP.
- El problema de la verificación de tipos —que consiste en comprobar si la imagen de un lenguaje de árbol regular está incluida en otro lenguaje de árbol regular— es decidible.
- El problema de equivalencia —probar si dos DTOP definen las mismas funciones— es decidible. [ 3 ]
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 forma.
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.
- ↑ 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)
- ↑ 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 .
- ↑ "Resultados de decidibilidad sobre transductores de árboles I" . www.inf.u-szeged.hu .
- Árboles (estructuras de datos)
- Autómatas (computación)
- Máquinas de estados finitos
- Lenguajes formales
- informática teórica