logo móvil
Contáctanos

Determinización y minimización de autómatas para palabras anidadas revisado

Autores: Niehren, Joachim; Sakho, Momar

Idioma: Inglés

Editor: MDPI

Año: 2021

Descargar PDF

Acceso abierto

Artículo científico
2021

Determinización y minimización de autómatas para palabras anidadas revisado


Categoría

Ingeniería y Tecnología

Subcategoría

Ingeniería de Software

Palabras clave

Problema
Autómata
Determinización
Palabras anidadas
Minimización
Expresiones regulares

Licencia

CC BY-SA – Atribución – Compartir Igual

Consultas: 38

Citaciones: Sin citaciones


Descripción
Consideramos el problema de determinizar y minimizar autómatas para palabras anidadas en la práctica. Para esto compilamos las expresiones regulares anidadas () del benchmark usual de XPath a autómatas de palabras anidadas (). Sin embargo, la determinización de estos , falla en producir autómatas razonablemente pequeños. En el mejor de los casos, se producen enormes determinísticos después de unas pocas horas, incluso para relativamente pequeños del benchmark. Proponemos un enfoque diferente para la determinización de autómatas para palabras anidadas. Para esto, introducimos (s) que se generalizan naturalmente tanto en autómatas de árboles (paso a paso) como en autómatas de palabras finitas. Luego mostramos cómo determinizar s, produciendo autómatas determinísticos razonablemente pequeños para el del benchmark de XPath. El tamaño de los autómatas determinísticos s puede reducirse aún más mediante un novedoso algoritmo de minimización para una subclase de s. Para entender por qué el nuevo enfoque de determinización y minimización funciona tan bien, investigamos la relación entre y s más a fondo. Claramente, los s determinísticos pueden compilarse a determinísticos en tiempo lineal, y a la inversa pueden compilarse a s no determinísticos en tiempo polinómico. Por lo tanto, podemos utilizar s como intermediarios para determinizar , evitando el enorme aumento de tamaño con el algoritmo de determinización habitual para . Notablemente, los obtenidos de los s realizan cálculos de abajo hacia arriba y de izquierda a derecha solamente, pero no cálculos de arriba hacia abajo. Este comportamiento puede distinguirse sintácticamente por la propiedad de una sola entrada (débil), lo que sugiere una estrecha relación entre s y . En particular, resulta que el algoritmo de determinización habitual para se comporta bien para una sola entrada , mientras que explota rápidamente sin la propiedad de una sola entrada. Además, se sabe que la clase de s determinísticos multi-módulo de una sola entrada disfruta de una minimización única. Sin embargo, la subclase de s determinísticos a la que se aplica nuestro novedoso algoritmo de minimización es diferente, en el sentido de que no imponemos múltiples módulos. Como optimizaciones adicionales para reducir los tamaños de los s construidos, proponemos limpieza basada en esquemas y representaciones simbólicas basadas en reglas de aplicar-sino que pueden ser mantenidas por la determinización. Implementamos las optimizaciones y reportamos los resultados experimentales para los autómatas construidos para el benchmark de XPathMark.

Otros recursos que podrían interesarte

Temas Virtualpro