Articulo de referencia

Lenguaje sensible al contexto

En la teoría del lenguaje formal , un lenguaje sensible al contexto es un lenguaje formal que puede definirse mediante una gramática sensible al contexto , donde la aplicabilida...

En la teoría del lenguaje formal , un lenguaje sensible al contexto es un lenguaje formal que puede definirse mediante una gramática sensible al contexto , donde la aplicabilidad de una regla de producción puede depender del contexto de los símbolos circundantes. A diferencia de las gramáticas libres de contexto , que pueden aplicar reglas independientemente del contexto, las gramáticas sensibles al contexto permiten que las reglas se apliquen solo cuando están presentes símbolos vecinos específicos, lo que les permite expresar dependencias y concordancias entre partes distantes de una cadena.

Estos lenguajes corresponden a los lenguajes de tipo 1 en la jerarquía de Chomsky y se definen de forma equivalente mediante gramáticas no contractivas (gramáticas en las que las reglas de producción nunca disminuyen la longitud total de una cadena). Los lenguajes sensibles al contexto pueden modelar fenómenos del lenguaje natural, como la concordancia sujeto-verbo , las dependencias seriales cruzadas y otras relaciones sintácticas complejas que no pueden ser capturadas por tipos de gramática más simples, lo que los hace importantes para la lingüística computacional y el procesamiento del lenguaje natural .

Propiedades computacionales

Computacionalmente, un lenguaje sensible al contexto es equivalente a una máquina de Turing lineal acotada no determinista , también llamada autómata lineal acotado . Es decir, una máquina de Turing no determinista con una cinta de soloknorte{\displaystyle kn}células, dondenorte{\displaystyle n}es el tamaño de la entrada yk{\displaystyle k}es una constante asociada a la máquina. Esto significa que todo lenguaje formal que pueda ser decidido por dicha máquina es un lenguaje sensible al contexto, y todo lenguaje sensible al contexto puede ser decidido por dicha máquina.

Este conjunto de lenguajes también se conoce como NLINSPACE o NSPACE( O ( n )), porque pueden ser aceptados usando espacio lineal en una máquina de Turing no determinista. [ 1 ] La clase LINSPACE (o DSPACE( O ( n ))) se define de la misma manera, excepto que usa una máquina de Turing determinista . Claramente, LINSPACE es un subconjunto de NLINSPACE, pero no se sabe si LINSPACE = NLINSPACE. [ 2 ]

Ejemplos

Uno de los lenguajes más simples sensibles al contexto pero no libres de contexto esL={anortebnortedonorte:norte1}{\displaystyle L=\{a^{n}b^{n}c^{n}:n\geq 1\}}: el lenguaje de todas las cadenas que constan de n ocurrencias del símbolo "a", luego n "b", luego n "c" (abc, aabbcc , aaabbbccc , etc.). Un superconjunto de este lenguaje, llamado lenguaje Bach, [ 3 ] se define como el conjunto de todas las cadenas donde "a", "b" y "c" (o cualquier otro conjunto de tres símbolos) aparecen con igual frecuencia ( aabccb , baabcaccb , etc.) y también es sensible al contexto. [ 4 ] [ 5 ]

Se puede demostrar que L es un lenguaje sensible al contexto construyendo un autómata lineal acotado que acepte L. Se puede demostrar fácilmente que el lenguaje no es ni regular ni libre de contexto aplicando los lemas de bombeo respectivos para cada una de las clases de lenguajes a L.

Similarmente:

LCruz={ametrobnortedometrodnorte:metro1,norte1}{\displaystyle L_{\textit {Cruz}}=\{a^{m}b^{n}c^{m}d^{n}:m\geq 1,n\geq 1\}}es otro lenguaje sensible al contexto; la gramática sensible al contexto correspondiente se puede proyectar fácilmente a partir de dos gramáticas libres de contexto que generan formas sentenciales en los formatos ametrodometro{\displaystyle a^{m}C^{m}} y Bnortednorte{\displaystyle B^{n}d^{n}} y luego complementarlos con una producción de permutación como doBBdo{\displaystyle CB\rightarrow BC}, un nuevo símbolo de inicio y azúcar sintáctico estándar.

LMETROUL3={ametrobnortedometronorte:metro1,norte1}{\displaystyle L_{MUL3}=\{a^{m}b^{n}c^{mn}:m\geq 1,n\geq 1\}}es otro lenguaje sensible al contexto (el "3" en el nombre de este lenguaje pretende significar un alfabeto ternario); es decir, la operación "producto" define un lenguaje sensible al contexto (pero la "suma" define solo un lenguaje libre de contexto como la gramáticaSaSdo|R{\displaystyle S\rightarrow aSc|R}yRbRdo|bdo{\displaystyle R\rightarrow bRc|bc}muestra). Debido a la propiedad conmutativa del producto, la gramática más intuitiva paraLMUL3{\displaystyle L_{\textit {MUL3}}}es ambiguo. Este problema puede evitarse considerando una definición del lenguaje de alguna manera más restrictiva, por ejemploLORDMUL3={ametrobnortedometronorte:1<metro<norte}{\displaystyle L_{\textit {ORDMUL3}}=\{a^{m}b^{n}c^{mn}:1<m<n\}}Esto puede especializarse en LMUL1={ametronorte:metro>1,norte>1}{\displaystyle L_{\textit {MUL1}}=\{a^{mn}:m>1,n>1\}}y, de esto, aLmetro2={ametro2:metro>1}{\displaystyle L_{m^{2}}=\{a^{m^{2}}:m>1\}},Lmetro3={ametro3:metro>1}{\displaystyle L_{m^{3}}=\{a^{m^{3}}:m>1\}}, etc.

LRmiPAG={w|w|:wΣ}{\displaystyle L_{REP}=\{w^{|w|}:w\in \Sigma ^{*}\}}es un lenguaje sensible al contexto. La gramática sensible al contexto correspondiente se puede obtener como una generalización de las gramáticas sensibles al contexto paraLCuadrado={w2:wΣ}{\displaystyle L_{\textit {Cuadrado}}=\{w^{2}:w\in \Sigma ^{*}\}},LCubo={w3:wΣ}{\displaystyle L_{\textit {Cubo}}=\{w^{3}:w\in \Sigma ^{*}\}}, etc.

LEXP={a2norte:norte1}{\displaystyle L_{\textit {EXP}}=\{a^{2^{n}}:n\geq 1\}}es un lenguaje sensible al contexto. [ 6 ]

LPRIMES2={w:|w| es primordial }{\displaystyle L_{\textit {PRIMES2}}=\{w:|w|{\mbox{ is prime }}\}}es un lenguaje sensible al contexto (el "2" en el nombre de este lenguaje se refiere a un alfabeto binario). Esto fue demostrado por Hartmanis utilizando lemas de bombeo para lenguajes regulares y libres de contexto sobre un alfabeto binario y, después de eso, esbozando un autómata multitape lineal acotado que aceptaLPAGRIMETROmiS2{\displaystyle L_{PRIMES2}}. [ 7 ]

LPRIMOS1={apag:pag es primordial }{\displaystyle L_{\textit {PRIMES1}}=\{a^{p}:p{\mbox{ is prime }}\}}es un lenguaje sensible al contexto (el "1" en el nombre de este lenguaje se refiere a un alfabeto unario). Esto fue atribuido por A. Salomaa a Matti Soittola mediante un autómata lineal acotado sobre un alfabeto unario [ 8 ] (páginas 213–214, ejercicio 6.8) y también a Marti Penttonen mediante una gramática sensible al contexto también sobre un alfabeto unario (véase: Formal Languages ​​de A. Salomaa, página 14, ejemplo 2.5).

Un ejemplo de lenguaje recursivo que no es sensible al contexto es cualquier lenguaje recursivo cuya decisión sea un problema EXPSPACE -difícil, por ejemplo, el conjunto de pares de expresiones regulares equivalentes con exponenciación.

Propiedades de los lenguajes sensibles al contexto

  • La unión , intersección y concatenación de dos lenguajes sensibles al contexto también son sensibles al contexto; asimismo, la suma de Kleene de un lenguaje sensible al contexto también es sensible al contexto. [ 9 ]
  • El complemento de un lenguaje sensible al contexto es en sí mismo sensible al contexto [ 10 ] un resultado conocido como el teorema de Immerman-Szelepcsényi .
  • La pertenencia de una cadena a un lenguaje definido por una gramática sensible al contexto arbitraria, o por una gramática sensible al contexto determinista arbitraria, es un problema PSPACE-completo .

Véase también

Referencias

  1. Rothe, Jörg (2005), Teoría de la complejidad y criptología , Textos en informática teórica. Una serie de EATCS, Berlín: Springer-Verlag, pág.  77, ISBN 978-3-540-22147-0, MR 2164257 .
  2. Odifreddi, PG (1999), Teoría clásica de la recursión. Vol. II , Estudios en lógica y fundamentos de las matemáticas, vol. 143, Ámsterdam: North-Holland Publishing Co., pág. 236, ISBN   978-0-444-50205-6, MR 1718169 .
  3. Pullum, Geoffrey K. (1983). Context-freeness and the computer processing of human languages ​​. Proc. 21st Annual Meeting of the ACL .
  4. Bach, E. (1981). "Constituyentes discontinuos en gramáticas categoriales generalizadas". Archivado el 21 de enero de 2014 en Wayback Machine . NELS , vol. 11, pp . 1-12 .
  5. Joshi, A.; Vijay-Shanker, K.; y Weir, D. (1991). «La convergencia de formalismos gramaticales ligeramente sensibles al contexto». En: Sells, P., Shieber, SM y Wasow, T. (Editores). Cuestiones fundamentales en el procesamiento del lenguaje natural . Cambridge, MA: Bradford.
  6. Ejemplo 9.5 (pág. 224) de Hopcroft, John E.; Ullman, Jeffrey D. (1979). Introducción a la teoría de autómatas, lenguajes y computación. Addison-Wesley
  7. J. Hartmanis y H. Shank (julio de 1968). "Sobre el reconocimiento de números primos por autómatas" (PDF) . Journal of the ACM . 15 (3): 382–389 . doi : 10.1145/321466.321470 . hdl : 1813/5864 . S2CID 17998039 . 
  8. Salomaa, Arto (1969), Teoría de los autómatas , ISBN 978-0-08-013376-8, Pergamon, 276 páginas. doi : 10.1016/C2013-0-02221-9
  9. John E. Hopcroft; Jeffrey D. Ullman (1979). Introducción a la teoría de autómatas, lenguajes y computación . Addison-Wesley. ISBN 9780201029888.Ejercicio 9.10, pág. 230. En la edición de 2000, se omitió el capítulo sobre lenguajes sensibles al contexto.
  10. Immerman, Neil (1988). "El espacio no determinista es cerrado bajo complementación" (PDF) . SIAM J. Comput . 17 (5): 935–938 . CiteSeerX 10.1.1.54.5941 . doi : 10.1137/0217058 . Archivado (PDF) del original el 25 de junio de 2004. 
  • Sipser, M. (1996), Introducción a la teoría de la computación , PWS Publishing Co.