Una gramática sensible al contexto ( CSG ) es una gramática formal en la que los lados izquierdo y derecho de cualquier regla de producción pueden estar rodeados por un contexto de símbolos terminales y no terminales . Las gramáticas sensibles al contexto son más generales que las gramáticas libres de contexto , en el sentido de que hay lenguajes que pueden ser descritos por una CSG pero no por una gramática libre de contexto. Las gramáticas sensibles al contexto son menos generales (en el mismo sentido) que las gramáticas sin restricciones . Por lo tanto, las CSG se posicionan entre las gramáticas libres de contexto y las sin restricciones en la jerarquía de Chomsky . [1]
Un lenguaje formal que puede describirse mediante una gramática sensible al contexto o, equivalentemente, mediante una gramática no contráctil o un autómata lineal acotado , se denomina lenguaje sensible al contexto . Algunos libros de texto definen de hecho los CSG como no contráctiles, [2] [3] [4] [5] aunque no es así como los definió Noam Chomsky en 1959. [6] [7] Esta elección de definición no supone ninguna diferencia en términos de los lenguajes generados (es decir, las dos definiciones son débilmente equivalentes ), pero sí supone una diferencia en términos de qué gramáticas se consideran estructuralmente sensibles al contexto; esta última cuestión fue analizada por Chomsky en 1963. [8] [9]
Chomsky introdujo las gramáticas sensibles al contexto como una forma de describir la sintaxis del lenguaje natural , donde a menudo sucede que una palabra puede o no ser apropiada en un lugar determinado dependiendo del contexto. Walter Savitch ha criticado la terminología "sensible al contexto" por ser engañosa y ha propuesto "sin borrado" como una mejor explicación de la distinción entre una CSG y una gramática sin restricciones . [10]
Notaremos una gramática formal como , con un conjunto de símbolos no terminales, un conjunto de símbolos terminales, un conjunto de reglas de producción y el símbolo de inicio.
Una cadena produce directamente , o deriva directamente a , una cadena , denotada como , si v puede obtenerse de u mediante una aplicación de alguna regla de producción en P , es decir, si y , donde es una regla de producción, y es la parte izquierda y derecha no afectadas de la cadena, respectivamente. De manera más general, se dice que u produce , o deriva a , v , denotada como , si v puede obtenerse de u mediante la aplicación repetida de reglas de producción, es decir, si para algún n ≥ 0 y algunas cadenas . En otras palabras, la relación es el cierre transitivo reflexivo de la relación .
El lenguaje de la gramática G es el conjunto de todas las cadenas de símbolos terminales derivables a partir de su símbolo inicial, formalmente: . Las derivaciones que no terminan en una cadena compuesta únicamente por símbolos terminales son posibles, pero no contribuyen a L ( G ).
Gramática sensible al contexto
Una gramática formal es sensible al contexto si cada regla en P tiene la forma donde es la cadena vacía , o la forma
αγβ → αγβ
con A ∈ N , [nota 1] , [nota 2] y . [nota 3]
El nombre de sensible al contexto se explica por los α y β que forman el contexto de A y determinan si A puede reemplazarse por γ o no. Por el contrario, en una gramática libre de contexto , no hay contexto presente: el lado izquierdo de cada regla de producción es simplemente un no terminal.
No se permite que la cadena γ esté vacía. Sin esta restricción, las gramáticas resultantes se vuelven iguales en potencia a las gramáticas sin restricciones . [10]
Definiciones (débilmente) equivalentes
Una gramática no contráctil es una gramática en la que, para cualquier regla de producción, de la forma u → v , la longitud de u es menor o igual que la longitud de v .
Toda gramática sensible al contexto no es contráctil, mientras que toda gramática no contráctil puede convertirse en una gramática sensible al contexto equivalente; las dos clases son débilmente equivalentes . [12]
Algunos autores utilizan el término gramática sensible al contexto para referirse a las gramáticas no contráctiles en general.
Las gramáticas sensibles al contexto izquierdo y derecho se definen restringiendo las reglas a la forma α A → αγ y a la forma A β → γβ, respectivamente. Los lenguajes generados por estas gramáticas también son la clase completa de lenguajes sensibles al contexto. [13] La equivalencia fue establecida por Penttonen forma normal . [14]
Las reglas 1 y 2 permiten convertir S en un n BC ( BC ) n −1 ; las reglas 3 a 6 permiten intercambiar sucesivamente cada CB por BC ( para ello se necesitan cuatro reglas , ya que una regla CB → BC no encajaría en el esquema α A β → αγβ); las reglas 7 a 10 permiten reemplazar un B o C no terminal por su b o c terminal correspondiente , respectivamente, siempre que esté en el lugar correcto. Una cadena de generación para aaabbccc es:
S
→ 2 aSBC
→ 2 a aSBC BC
→ 1 aa aBC BCBC
→ 3 aaaB República Checa CBC
→ 4 aaaB WZ CBC
→ 5 aaaB WC CBC
→ 6 aaaB antes de Cristo CBC
→ 3 aaaBBC República Checa C
→ 4 aaaBBC WZ C
→ 5 aaaBBC WC C
→ 6 aaaBBC BC C
→ 3 aaaBB República Checa CC
→ 4 aaaBB WZ CC
→ 5 CC de WC aaaBB
→ 6 aaaBB BC CC
→ 7 aa desde BBCCC
→ 8 aaa bb CCBC
→ 8 aaab bb CCC
→ 9 aaabb antes de Cristo CC
→ 10 aa ...
→ 10 aaabbbc cc
un n b n c n d n, etc.
Se pueden utilizar gramáticas más complicadas para analizar { a n b n c n d n | n ≥ 1 } y otros idiomas con incluso más letras. Aquí mostramos un enfoque más simple utilizando gramáticas sin contracción: [ cita requerida ]
Comience con un núcleo de producciones regulares que generen las formas oracionales y luego incluya las producciones sin contracción , , , , , , , , , .
un m b n c m d n
Una gramática no contráctil (para la cual existe un CSG equivalente) para el lenguaje se define mediante
,
,
,
,
,
,
, y
.
Con estas definiciones, una derivación para es: . [ cita requerida ]
a2 yo
En el Ejemplo 9.5 (p. 224) de (Hopcroft, Ullman, 1979) se construye una gramática no contráctil para el lenguaje { a 2 i | i ≥ 1 }: [15]
Forma normal de Kuroda
Toda gramática sensible al contexto que no genere la cadena vacía puede transformarse en una gramática débilmente equivalente en la forma normal de Kuroda . "Débilmente equivalente" aquí significa que las dos gramáticas generan el mismo lenguaje. La forma normal en general no será sensible al contexto, sino que será una gramática no contráctil . [16] [17]
La forma normal de Kuroda es una forma normal real para gramáticas sin contracción.
Un lenguaje formal puede ser descrito por una gramática sensible al contexto si y solo si es aceptado por algún autómata lineal acotado (LBA). [18] En algunos libros de texto este resultado se atribuye únicamente a Landweber y Kuroda . [7] Otros lo llaman el teorema Myhill -Landweber-Kuroda. [19] (Myhill introdujo el concepto de LBA determinista en 1960. Peter S. Landweber publicó en 1963 que el lenguaje aceptado por un LBA determinista es sensible al contexto. [20] Kuroda introdujo la noción de LBA no determinista y la equivalencia entre LBA y CSG en 1964. [21] [22] )
A partir de 2010 [ necesita actualización ] todavía es una cuestión abierta si cada lenguaje sensible al contexto puede ser aceptado por un LBA determinista . [23][update]
El problema de decisión que pregunta si una determinada cadena s pertenece al lenguaje de una gramática sensible al contexto dada G , es PSPACE-completo . Además, hay gramáticas sensibles al contexto cuyos lenguajes son PSPACE-completos. En otras palabras, hay una gramática sensible al contexto G tal que decidir si una determinada cadena s pertenece al lenguaje de G es PSPACE-completo (por lo que G es fijo y solo s es parte de la entrada del problema). [26]
El problema del vacío para gramáticas sensibles al contexto (dada una gramática sensible al contexto G , es L ( G )=∅ ?) es indecidible . [27] [nota 5]
Como modelo de los lenguajes naturales
Savitch ha demostrado el siguiente resultado teórico, en el que basa su crítica de los CSG como base del lenguaje natural: para cualquier conjunto recursivamente enumerable R , existe un lenguaje/gramática sensible al contexto G que puede usarse como una especie de proxy para probar la pertenencia a R de la siguiente manera: dada una cadena s , s está en R si y solo si existe un entero positivo n para el cual sc n está en G, donde c es un símbolo arbitrario que no es parte de R . [10]
Se ha demostrado que casi todos los lenguajes naturales pueden, en general, caracterizarse por gramáticas sensibles al contexto, pero toda la clase de CSG parece ser mucho más grande que los lenguajes naturales. [ cita requerida ] Peor aún, dado que el problema de decisión mencionado anteriormente para los CSG es PSPACE-completo, eso los hace totalmente inviables para el uso práctico, ya que un algoritmo de tiempo polinomial para un problema PSPACE-completo implicaría P=NP .
Se ha demostrado que algunos lenguajes naturales no son libres de contexto, basándose en la identificación de las llamadas dependencias entre series y fenómenos de mezcla ilimitada . [ cita requerida ] Sin embargo, esto no implica necesariamente que la clase de CSG sea necesaria para capturar la "sensibilidad al contexto" en el sentido coloquial de estos términos en lenguajes naturales. Por ejemplo, los sistemas de reescritura lineales libres de contexto (LCFRS) son estrictamente más débiles que los CSG, pero pueden dar cuenta del fenómeno de las dependencias entre series; se puede escribir una gramática LCFRS para { a n b n c n d n | n ≥ 1}, por ejemplo. [28] [29] [30]
Más recientemente, la clase PTIME se ha identificado con gramáticas de concatenación de rangos , que ahora se consideran las más expresivas de las clases de lenguaje sensibles al contexto moderado. [30]
^ es decir, cadenas α y β de no terminales (excepto el símbolo de inicio) y terminales
^ es decir, γ es una cadena no vacía de no terminales (excepto el símbolo de inicio) y terminales
^ más formalmente: si L ⊆ Σ * es un lenguaje sensible al contexto y f asigna cada a ∈Σ a un lenguaje sensible al contexto f ( a ), f ( L ) es nuevamente un lenguaje sensible al contexto
^ Esto también se desprende de (1) que los lenguajes libres de contexto también son sensibles al contexto, (2) que los lenguajes sensibles al contexto están cerrados bajo intersección, pero (3) que la disyunción de los lenguajes libres de contexto es indecidible .
Referencias
^ (Hopcroft, Ullman, 1979); Sección 9.4, pág. 227
^ Linz, Peter (2011). Introducción a los lenguajes formales y autómatas. Jones & Bartlett Publishers. pág. 291. ISBN978-1-4496-1552-9.
^ Martin, John C. (2010). Introducción a los lenguajes y la teoría de la computación (4.ª ed.). Nueva York, NY: McGraw-Hill. pág. 277. ISBN9780073191461.
^ Chomsky, N. (1963). "Propiedades formales de la gramática". En Luce, RD; Bush, RR; Galanter, E. (eds.). Handbook of Mathematical Psychology . Nueva York: Wiley. págs. 360–363.
^ abc Carlos Martín Vide, ed. (1999). Issues in Mathematical Linguistics: Workshop on Mathematical Linguistics, State College, Pa., abril de 1998. John Benjamins Publishing. pp. 186–187. ISBN90-272-1556-1.
^ Zhang, Da-Qian, Kang Zhang y Jiannong Cao. "Un formalismo gramatical de grafos sensible al contexto para la especificación de lenguajes visuales". The Computer Journal 44.3 (2001): 186–200.
^ Hopcroft, John E .; Ullman, Jeffrey D. (1979). Introducción a la teoría de autómatas, lenguajes y computación . Addison-Wesley. ISBN9780201029888.; p. 223–224; Ejercicio 9, p. 230. En la edición de 2003 se ha omitido el capítulo sobre los CSG.
^ Hazewinkel, Michiel (1989). Enciclopedia de Matemáticas. vol. 4. Medios científicos y comerciales de Springer. pag. 297.ISBN978-1-55608-003-6.También en https://www.encyclopediaofmath.org/index.php/Grammar,_context-sensitive
^ Ito, Masami; Kobayashi, Yuji; Shoji, Kunitaka (2010). Autómatas, lenguajes formales y sistemas algebraicos: actas de AFLAS 2008, Kioto, Japón, 20 a 22 de septiembre de 2008. World Scientific. pag. 183.ISBN978-981-4317-60-3.citando a Penttonen, Martti (agosto de 1974). "Contexto unilateral y bilateral en gramáticas formales". Información y Control . 25 (4): 371–392. doi : 10.1016/S0019-9958(74)91049-3 .
^ Obtuvieron la gramática mediante la transformación sistemática de una gramática sin restricciones , dada en el Ejemplo 9.4, a saber:
,
,
,
,
,
,
,
.
En la gramática sensible al contexto, una cadena encerrada entre corchetes, como , se considera un símbolo único (similar a p. ej. en la forma Backus–Naur ). Los nombres de los símbolos se eligen para que se asemejen a la gramática sin restricciones. Del mismo modo, los grupos de reglas en la gramática sensible al contexto se numeran según la regla de gramática sin restricciones de la que se originaron.<name-part>
^ Kuroda, Sige-Yuki (junio de 1964). "Clases de lenguajes y autómatas linealmente acotados". Información y Control . 7 (2): 207–223. doi : 10.1016/s0019-9958(64)90120-2 .
^ Mateescu, Alexandru; Salomaa, Arto (1997). "Capítulo 4: Aspectos de la teoría del lenguaje clásico". en Rozenberg, Grzegorz ; Salomaa, Arto (eds.). Manual de lenguajes formales. Tomo I: Palabra, lengua, gramática . Springer-Verlag. págs. 175-252. ISBN3-540-61486-9., Aquí: Teorema 2.2, pág. 190
^ ab Sutner, Klaus (primavera de 2016). "Gramáticas sensibles al contexto" (PDF) . Universidad Carnegie Mellon . Archivado desde el original (PDF) el 2017-02-03 . Consultado el 2019-08-29 .
^ PS Landweber (1963). "Tres teoremas sobre gramáticas de estructura sintagmática de tipo 1". Información y control . 6 (2): 131–136. doi : 10.1016/s0019-9958(63)90169-4 .
^ Martin, John C. (2010). Introducción a los lenguajes y la teoría de la computación (4.ª ed.). Nueva York, NY: McGraw-Hill. pág. 283. ISBN9780073191461.
^ (Hopcroft, Ullman, 1979); Ejercicio S9.14, pág. 230–232. h asigna cada símbolo a sí mismo o a la cadena vacía.
^ Un ejemplo de una gramática de este tipo, diseñada para resolver el problema QSAT , se da en Lita, CV (01-09-2016). "On Complexity of the Detection Problem for Bounded Length Polymorphic Viruses". 2016 18th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC) . pp. 371–378. doi :10.1109/SYNASC.2016.064. ISBN978-1-5090-5707-8.S2CID 18067130 .
^ Kallmeyer, Laura (2011). "Formalismos gramaticales ligeramente sensibles al contexto: los lenguajes naturales no son independientes del contexto" (PDF) . Archivado (PDF) desde el original el 19 de agosto de 2014.
^ Kallmeyer, Laura (2011). "Formalismos gramaticales ligeramente sensibles al contexto: sistemas de reescritura lineales libres de contexto" (PDF) . Archivado (PDF) desde el original el 19 de agosto de 2014.
^ ab Kallmeyer, Laura (2010). Análisis sintáctico más allá de las gramáticas libres de contexto . Springer Science & Business Media. págs. 1–5. ISBN978-3-642-14846-0.