Está en la página 1de 7

El anlisis de la ambigedad de las gramticas libres de contexto

RESUMEN
Se ha sabido desde 1962 que el problema de la ambigedad de las gramticas libres de contexto
es indecidible. La ambigedad en las gramticas libres de contexto es un problema recurrente en
diseo de lenguajes y en el generador de analizadores sintticos, as como en aplicaciones donde
se utilizan gramticas como modelos de las estructuras fsicas del mundo real.
Se observa que existe una caracterizacin lingstica simple del problema de la ambigedad en la
gramtica , y nos muestran cmo explotar esta presentando un marco de anlisis de la
ambigedad basado en aproximaciones de lenguaje conservador. Como ejemplo concreto, se
propone un tcnica basada en aproximaciones regulares locales y en desdoblamiento de
gramtica . Evaluamos el anlisis utilizando las gramticas que se producen en el anlisis de ARN
en la bioinformtica, y demostrar que es suficientemente precisa y eficiente para ser til.

1. Introduccin
Al utilizar las gramticas libres de contexto para describir lenguajes formales, uno tiene que ser
consciente del potencial de la ambigedad en las gramticas, es decir, la situacin en la que una
cadena puede ser analizado de mltiples maneras, dando lugar a diferentes rboles de anlisis.
Proponemos una tcnica para detectar ambigedades en una gramtica dada. A medida que el
problema es indecidible en general, que fue mostrado por Cantor [6], Floyd [14], y Chomsky y
Schtzenberger [8], que recurren a la aproximacin conservadora. Esto significa que
nuestro anlisis para algunas gramticas es capaz de garantizar que no son ambiguas, mientras
que para otros no puede dar ciertas respuestas. En la bioinformtica, las gramticas libres de
contexto en diversas formas tienen aplicaciones importantes, por ejemplo en la secuencia
comparacin, motivo de bsqueda, y la estructura secundaria del ARN anlisis [12,18].
Recientemente, la ambigedad ha ganado la atencin en este campo, como han demostrado
varios algoritmos importantes (como el algoritmo de Viterbi en CFGs estocsticos) para entregar
incorrecta resultados en la presencia de ambigedad [16,11].
El problema de la ambigedad surge en el anlisis biosecuencia de la necesidad de
comprobar una propiedad esttica de los algoritmos de programacin dinmicos empleados? la
cuestin de si o no un elemento de la espacio de bsqueda se puede evaluar ms de una vez. Si es
as, los sistemas de puntuacin probabilsticos producen resultados incorrectos, y enumeracin
de soluciones casi ptimas ahoga en la redundancia. Puede parecer sorprendente que el anlisis
esttico de esta propiedad del programa puede ser abordado como una cuestin de la
ambigedad de idioma en el nivel del lenguaje formal. Vamos a explicar esta situacin en algunos
detalle en la Seccin 8.
Antes de empezar la presentacin de nuestro mtodo, declaramos dos requisitos en un prctico
comprobador de ambigedad que se derivan de la biosecuencia anlisis del dominio y debe

tenerse en cuenta en lo que sigue: En primer lugar, las gramticas que deben controlarse son en
realidad abstracciones de los conceptos de programacin ms ricos. Pueden parecer extrao
desde un punto de diseo de lenguajes de vista formal ? por ejemplo, pueden contener `` ''
smbolos no terminales redundantes que generan el mismo idioma. Sin embargo, diferente no
terminales diferentes estructuras fsicas modelo con diferentes semntica que son esenciales para
la posterior procesamiento algortmico. Por lo tanto, la gramtica debe ser revisado como es y no
puede ser simplificado mediante, por ejemplo, de coalescencia tal no terminal smbolos. Por
supuesto, es posible (y lo har) aplicar transformaciones ambigedad de preservacin de la
gramtica. En segundo lugar, el dominio expertos suelen ser los bilogos moleculares con poca
experiencia en programacin y ninguna formacin en la teora del lenguaje formal.
Por lo tanto, cuando se descubre la ambigedad, se debe informar de una manera que sea
significativa para esta categora de usuarios. Adems de las aplicaciones al anlisis biosecuencia,
nuestra motivacin detrs de la obra que presentamos aqu ha estado analizando reversibilidad de
transformaciones entre datos XML y no XML, que se puede reducir a la ambigedad gramtica
problema [4]. Ese trabajo implica el anlisis scannerless, es decir, donde las descripciones lxicas
no se separan de las gramticas. obra relacionada Nuestro enfoque est relacionado con la
construccin de una tabla LR (k) de anlisis sintctico para la gramtica dada y la comprobacin de
los conflictos. La LR (k) condicin tiene desde su descubrimiento por Knuth en 1965 se conoce
como una prueba de gran alcance para la ambigedad [21]. un ejemplo de una clase an ms
grande de las gramticas no ambiguas es LR-Regular [10]. Sin embargo, ni siquiera LR-regular es
suficiente para una clase considerable de gramticas que involucran estructuras palindrmicas,
que a menudo se producen en la bioinformtica. Otra importante limitacin con herramientas de
deteccin de ambigedad sobre la base de LR (k) o tcnicas afines es la mala calidad de los
mensajes de error que produce. Cualquier usuario de Yacc o una herramienta similar reconocern
la dificultad de encontrar la verdadera causa de un conflicto reportado. Un creciente nmero de
generadores de analizadores sintcticos, por ejemplo, Bison [33], SDF [35], y Elkhound [24], el
apoyo libre de contexto gramticas generales en lugar de subclases inequvocos, como LL (k), LR
(k), o LALR (k). Estas herramientas normalmente manejan ambigedades de forma dinmica (es
decir, durante el anlisis) desambiguar o la fusin de los rboles de anlisis resultantes [34,5]. En
contraste, nuestro enfoque es para analizar estticamente las gramticas para ambigedades
potenciales. Adems, nuestro objetivo para un algoritmo conservador, a diferencia de muchos
existente tcnicas de deteccin de ambigedad, por ejemplo los de Gorn [19] y Cheung y Uzgalis
[7].
En el enfoque por Schmitz [31], una gramtica G se convierte en una estructura potencialmente
infinito llama un grfico posicin, G,que luego es buscado por mltiples derivaciones de la misma
forma oracional. Por factoring G con una equivalencia finitista relacin, el problema de bsqueda
grfica resulta en un anlisis de terminacin. Como ejemplos, las condiciones de la LR (k) y LRRegular pueden adaptarse tanto a la equivalencia relaciones en este marco. El enfoque por Kuich
[23] construye sistemas de finito autmatas de pila de gramticas. Si estos autmatas (o
transformaciones de ambigedad de preservacin de los mismos) pueden ser mostrados
a ser cuasi-determinista, entonces la gramtica se garantiza que sea inequvoca. Este mtodo est
estrechamente relacionada con la LR (0) variante de Schmitz. Como nuestro enfoque, los anlisis

de Schmitz y Kuich son slidos, pero incompleta. Sus anlisis funcionan buscar estructuras finitas
para mltiples derivaciones. Nuestro enfoque es conceptualmente diferente, ya que transforma el
estructural problema de la ambigedad de una coleccin finita de problemas lingsticos. Nuestros
experimentos (seccin 9) demuestran el incomparable expresividad de nuestro enfoque en
comparacin con la de Schmitz.
Aportes
A pesar de dcadas de trabajo sobre tcnicas de anlisis sintctico, que en muchos casos implican
el problema de la ambigedad gramtica, nos han sido incapaces de encontrar herramientas que
son aplicables a gramticas en las reas mencionadas anteriormente. Este trabajo contribuye con
los siguientes resultados: ? Se observa que existe una caracterizacin lingstica sencilla de
ambigedad gramtica. Esto nos permite pasar de razonamiento acerca de las derivaciones de
gramtica a razonar acerca de las propiedades puramente lingsticas, tales como, la inclusin y el
lenguaje aproximaciones. Esto se traduce en un marco, llamado ACLA (Ambigedad Comprobacin
con Idioma Aproximaciones). ? Mostramos cmo Mohri y tcnica de aproximacin normal de
Nederhof para gramticas libres de contexto [25] se pueden adaptar en de manera local usando el
marco ACLA para detectar muchas fuentes comunes de ambigedad, incluyendo los que implican
estructuras palindrmicas. Adems, una gramtica sencilla despliegue de transformacin se puede
utilizar para mejorar la precisin de la aproximacin. La flexibilidad del marco se fundamenta,
adems, mediante la presentacin de otra aproximacin tcnicas que se pueden combinar con la
aproximacin regular para mejorar el rendimiento de anlisis. ? Demostramos que ACLA puede
manejar gramticas del mundo real de complejidad variable tomado de la bioinformtica
literatura sobre anlisis de ARN, absolviendo las gramticas no ambiguas y la localizacin de las
fuentes de ambigedad? con ms cortos posibles ejemplos como testigos? en las gramticas que
son de hecho ambigua. Adems, investigamos el anlisis precisin y rendimiento en una gama de
otras gramticas encontrados en la literatura. La aplicacin est disponible desde
nuestro sitio web Aqu los que trabajamos, las gramticas libres de contexto de civil. La
modificacin de nuestro enfoque para trabajar con las tcnicas de anlisis que involucran
la interoperabilidad con un analizador lxico, las declaraciones de precedencia / asociatividad, u
otros mecanismos de desambiguacin se deja para el trabajo futuro. (Algunos progresos en esta
direccin se analiza en el contexto de nuestra aplicacin en la Seccin 7.) visin de conjunto
Comenzamos en la Seccin 2, dando una caracterizacin de la ambigedad gramatical que nos
permite razonar sobre el idioma de los no terminales en la gramtica en lugar de la estructura de
la gramtica. En particular, reformulamos la ambigedad problema en trminos de las operaciones
de interseccin y superposicin idioma. Basndose en esta caracterizacin, entonces en la Seccin
3 formular un marco general para la aproximacin conservadora el problema de ambigedad. En
la seccin 4 se muestra cmo regulares aproximaciones se pueden utilizar para obtener una
aproximacin decidible particular, la Seccin 5 muestra cmo se puede mejorar la precisin visin
de conjunto . Comenzamos en la Seccin 2, dando una caracterizacin de la ambigedad
gramatical que nos permite razonar sobre el idioma de los no terminales en la gramtica en lugar
de la estructura de la gramtica. En particular, reformulamos la ambigedad

problema en trminos de las operaciones de interseccin y superposicin idioma. Basndose en


esta caracterizacin, entonces en la Seccin 3
formular un marco general para la aproximacin conservadora el problema de ambigedad. En la
seccin 4 se muestra cmo regulares
aproximaciones se pueden utilizar para obtener una aproximacin decidable particular, la Seccin
5 muestra cmo se puede mejorar la precisin...

2. Una caracterizacin de ambigedad de gramtica


Comenzaremos por recapitular brevemente la terminologa bsica de las gramticas libres de
contexto.
Definicin 1: (gramtica libre de contexto y ambigedad). Una gramtica libre de contexto (CFG) G
se define por GD .N;?; s; ? / Donde N es un conjunto finito de no terminales,? es un conjunto finito
de smbolos del alfabeto (o terminales), S 2 N es el no terminal inicial, y ? V N! PE? / Es la funcin
de produccin finito donde la disfuncin erctil? [N. Escribimos? N! ) ??! Cundo? 2 .n / y??; ! 2 E
?, y)? es el cierre transitivo reflexivo de). Suponemos que cada n no terminal 2 N es accesible
desde s y deriva alguna cadena: 9x; y; z 2 ?? V s)? xnz)? xyz. El lenguaje de una forma
proposicional? 2 E? es LG.? / D fx 2 ?? j? )? XG, y el lenguaje de la G es L.G / D LG.s /.
Supongamos que x 2 L.G /, es decir, s D 0?)? 1)? ? ? )? N D x. Dicha secuencia de derivacin da
lugar a un rbol de derivacin, que es un rbol finito donde cada nodo est marcado con un
smbolo a partir de E: la raz se etiqueta s, y la secuencia de etiquetas de hijos de un nodo con la
etiqueta de correo estn en? .e /. G es ambigua si existe una cadena x en LG / con mltiples
rboles de derivacin,y entonces decimos que x es ambigua con respecto a G.
Ahora introducimos la ambigedad propiedades vertical y horizontal y mostrar que juntas
caracterizan la gramtica univocidad.
Definicin 2 (Vertical y Horizontal ambigedad). Dada una gramtica G, dos formas oracionales?; ?
0 2 E? son verticalmente inequvoca, por escrito kG? Yo? 0, si y slo si .? LG / \ LG 0 / D.?;
Una gramtica G es verticalmente sin ambigedades, k escrito G, si y slo si
8n 2 N; ?; ? 0 2? .n / Donde? 6D? 0 V kG yo?? 0 Dos formas oracionales?; ? 0 2 E? son
horizontalmente inequvoca, por escrito JDG? I? 0, si y slo si LG.? / \ W LG 0 / D.?;
donde \ W es el operador de superposicin lenguaje definido por X \ W Y D f Xay j x; y 2 ?? ^ A ^ 2
C x; xa 2 x ^ y; ay 2 Yg . Una gramtica G es horizontalmente sin ambigedades, escrito JD G, si y
slo si 8n 2 N; ?? 0 2 .n / donde??; ? 0 2 E? JDG V? I? 0 . Escribimos kD G cuando ambos k G y JD G
estn satisfechos. Intuitivamente, ambigedad vertical, significa que, durante el anlisis de una
cadena, nunca hay una eleccin entre dos diferentes producciones de un no terminal. La
superposicin X \W Y es el conjunto de cadenas en XY que se puede dividir no nicamente en una
parte X y una Y parte. Por ejemplo, si X fx D; XAG e Y D fy; AYG entonces X \W Y D fxayg.
Ambigedad Horizontal significa, entonces, que, cuando se analiza una cadena de acuerdo a una
produccin, nunca hay ninguna opcin de cmo dividir la cadena en subcadenas correspondientes
a las entidades de la produccin.

Proposicin 3 (Caracterizacin de ambigedad).


kD G, G no es ambigua
Prueba: Cualquier ambigedad debe ser el resultado de una eleccin entre dos producciones de
algunos no terminal o de una seleccin de la forma de dividir una cadena de acuerdo a una sola
produccin. Una prueba detallado figura en el Apndice A. Esta proposicin esencialmente
significa que hemos transformado el problema de contexto libre de la gramtica de una
ambigedad propiedad gramatical a una propiedad lingstica que trata exclusivamente con las
lenguas de los no terminales en la gramtica y no que con los rboles de derivacin. Como
veremos en la siguiente seccin, esta caracterizacin puede ser explotado para obtener un buen
aproximacin conservadora para el problema sin violar los dos requisitos que se describen en la
Seccin 1. Tenga en cuenta que esta caracterizacin lingstica de ambigedad gramtica no debe
confundirse con la nocin de s idiomas ambiguas [20]. (Un lenguaje es inherentemente ambiguo si
todos sus gramticas son ambiguas.) Ahora nos damos ejemplos de ambigedades verticales y
horizontales.
3. Un marco para la aproximacin conservadora
La caracterizacin de la ambigedad presentada anteriormente se puede utilizar como una base
para un marco, ACLA (ambigedad Comprobacin con Idioma Aproximaciones), para la obtencin
de decidibles aproximaciones, conservador del problema de ambigedad.
Whenthe anlisis dice `` la gramtica es ambigua! '', Weknow que verdaderamente ste es el caso.
La clave de esta tcnica es que la caracterizacin lingstica nos permite razonar sobre las lenguas
de no terminales en lugar de rboles de derivacin.
Definicin 6 (Gramtica aproximacin). Una aproximacin gramtica relativa a un CFG G es una
funcin AG VE? ! P. ?? /
donde LG.? /? AG.? / Para cada? 2 E ?.
En otras palabras, AG ofrece para cada forma de frase? una aproximacin superior de la lengua
de?.
Definicin 7 (aproximado Vertical y Horizontal ambigedad).
Dada una aproximacin gramtica AG, dos formas oracionales?; ? 0 2 E? son verticalmente sin
ambigedades con relacin a AG, escrito
kAG? I? 0, si y slo si
.? AG / \ 0 AG / D.?;
Una gramtica G es verticalmente sin ambigedades en relacin con AG, escrito kAG G, si y slo
si
8n 2 N; ?; ? 0 2? .n / Donde? 6D? 0 V kAG yo?? 0
Dos formas oracionales?; ? 0 2 E? son horizontalmente sin ambigedades en relacin con AG,
escrito jDAG? I? 0, si y slo si
AG.? / \
W
AG 0 / D.?;
Una gramtica G es horizontalmente sin ambigedades en relacin con AG, escrito jDAG G, si y
slo si
8n 2 N; ?? 0 2 .n / donde??; ? 0 2 E? V jDAG? I? 0

Escribimos KDAG G cuando ambos kAG G y G jDAG estn satisfechos.


Tenga en cuenta que la definicin 7 da un algoritmo para decidir KDAG G, en el supuesto de que
los algoritmos para decidir? 0 kAG? I y
jDAG? I? 0 se proporcionan. La siguiente proposicin se abre el suelo para una variedad de
enfoques para que suene la comprobacin de que la ambigedad
difieren en la forma en que construyen aproximaciones.
Proposicin 8 (Aproximacin Solidez).
KDAG G) G es inequvoca
Prueba. El resultado sigue sin rodeos desde Definiciones 2, 6 y 7 y la Proposicin 3. Si desea ms
informacin, consulte el Apndice B.
Definicin 9 (Estrategia de Aproximacin). Una aproximacin strategyAis una funcin que devuelve
una gramtica approximationAG
dado un CFG G. Decimos que A es decidible si KDAG G es decidible con la gramtica G como
entrada.
4. aproximacin Regular
Un enfoque para la obtencin de decidibilidad es considerar aproximaciones regulares, es decir,
aquellos en los que AG.? / Es un habitual
idioma para cada uno: la familia de los lenguajes regulares es cerrada bajo tanto interseccin y
superposicin, y el vaco en
lenguajes regulares es decidible. Adems, los ejemplos ms cortos pueden ser fcilmente
extrados de lenguajes regulares no vacos. como
strateg aproximacin concreta
5. Mejora de la precisin con la gramtica despliegue
La precisin de la aproximacin regular puede ser mejorada mediante una tcnica de despliegue
gramtica simple. Un enfoque relacionado
ha sido utilizado por Nederhof [28], pero no en el contexto del anlisis de la ambigedad.
Ejemplo 14 (Expresiones ambigedades). A pesar de la gramtica en el ejemplo 13 es ambigua, su
lenguaje no es intrnsecamente
ambigua. Mediante la introduccin de parntesis, y la fijacin de precedencia y asociatividad de
los operadores, '+' y '*', una inequvoca
gramtica, llamado Exp, puede ser fcilmente construida:
Exp [ms]: Exp "+" Plazo
[trmino] | Plazo
Plazo [mult]: Plazo "*" Factor
[Factor] | Factor
Factor [var]: "x"
[par] | "(" CAD ")"
Mientras que incluso la tcnica (k) LR es perfectamente capaz de absolver a esta gramtica como
inequvoco, nuestro anlisis, tal como se presenta
hasta el momento, los informes de los siguientes errores espurios:
6. Otras estrategias de aproximacin

Para ilustrar la flexibilidad del marco ACLA, se presentan tres ejemplos de otras tcnicas de
aproximacin que
conducir a mejoras sustanciales de rendimiento sin perder precisin. Las estrategias de
aproximacin presentados en este
seccin todos tienen la propiedad de que implican conjuntos de no terminales o terminales que se
pueden calcular de manera eficiente para un determinado
gramtica, y, a partir de estos conjuntos, que definen aproximaciones lingsticas que permiten a
muchos ambigedad vertical y horizontal
controles que deben realizarse de manera eficiente. Utilizamos la tcnica de la Proposicin 10 para
combinar toda la coleccin de estrategias.
10. Conclusin
Hemos presentado una tcnica, ACLA (Ambigedad Comprobacin con Idioma Aproximaciones),
para analizar de forma esttica la ambigedad de las gramticas libres de contexto. Sobre la base
de una caracterizacin lingstica, la tcnica permite el uso de la gramtica transformaciones, en
particular aproximacin regular y despliegue, sin sacrificar la solidez. Adems, el anlisis a menudo
es capaz de identificar las fuentes de ambigedad a travs de ejemplos concretos que se generan
automticamente. El anlisis puede se utilizar cuando LR (k) y tcnicas relacionadas son
inadecuados, por ejemplo en el anlisis biosecuencia, ya que nuestros ejemplos muestran.
Nuestros experimentos indican que la precisin, la velocidad y la calidad de los informes de
ambigedad son suficientes para ser prcticamente
til.

También podría gustarte