En la teoría de los lenguajes formales de la informática , las matemáticas y la lingüística , una palabra de Dyck es una cadena equilibrada de paréntesis. El conjunto de palabras de Dyck forma un lenguaje de Dyck . El más simple, Dyck-1, utiliza solo dos paréntesis coincidentes, por ejemplo ( y ).
Las palabras y el lenguaje de Dyck reciben su nombre del matemático Walther von Dyck . Tienen aplicaciones en el análisis sintáctico de expresiones que deben tener una secuencia de paréntesis anidada correctamente, como expresiones aritméticas o algebraicas.
Definición formal
DejarSea el alfabeto formado por los símbolos [ y ].denotamos su clausura de Kleene . El lenguaje de Dyck se define como:
Gramática libre de contexto
En algunas situaciones , puede resultar útil definir el lenguaje de Dyck mediante una gramática libre de contexto . El lenguaje de Dyck se genera mediante la gramática libre de contexto con un único no terminal S y la siguiente producción:
- S → ε | "[" S "]" S
Es decir, S es o bien la cadena vacía ( ε ) o bien es "[", un elemento del lenguaje Dyck, el correspondiente "]", y un elemento del lenguaje Dyck.
Una gramática alternativa libre de contexto para el lenguaje de Dyck viene dada por la siguiente producción:
- S → ("[" S "]") *
Es decir, S es cero o más ocurrencias de la combinación de "[", un elemento del lenguaje Dyck, y un "]" coincidente, donde múltiples elementos del lenguaje Dyck en el lado derecho de la producción son libres de diferir entre sí.
Definición alternativa
En otros contextos, puede ser útil definir el lenguaje de Dyck mediante la divisiónen clases de equivalencia, como sigue. Para cualquier elementode longitud, definimos funciones parciales :\Sigma ^{*}\times \mathbb {N} \rightarrow \Sigma ^{*}} y :\Sigma ^{*}\times \mathbb {N} \rightarrow \Sigma ^{*}} por
- escon "" insertado en elposición
- escon "" eliminado de laposición
con el entendimiento de queno está definido parayno está definido siDefinimos una relación de equivalencia .ende la siguiente manera: para los elementostenemossi y solo si existe una secuencia de cero o más aplicaciones de layfunciones que comienzan cony terminando con. Que se permita la secuencia de operaciones cero explica la reflexividad de. La simetría se deduce de la observación de que cualquier secuencia finita de aplicaciones deuna cadena se puede deshacer con una secuencia finita de aplicaciones deLa transitividad queda clara a partir de la definición.
La relación de equivalencia divide el lenguaje.en clases de equivalencia. Si tomamospara denotar la cadena vacía, entonces el lenguaje correspondiente a la clase de equivalenciaSe le llama el lenguaje de Dyck .
Generalizaciones
Lenguaje Dyck mecanografiado
Existen variantes del lenguaje Dyck con múltiples delimitadores, por ejemplo, Dyck-2 en el alfabeto "(", ")", "[", y "]". Las palabras de dicho lenguaje son aquellas que están bien entre paréntesis para todos los delimitadores; es decir, se puede leer la palabra de izquierda a derecha, insertar cada delimitador de apertura en la pila y, cuando se llega a un delimitador de cierre, se debe poder extraer el delimitador de apertura correspondiente de la parte superior de la pila. (El algoritmo de conteo anterior no se generaliza). Por ejemplo, la siguiente es una oración válida en Dyck-3 (con los delimitadores correspondientes coloreados del mismo color ):
- ( [ [ ] { } ] ( ) { ( ) } ) [ ]
Profundidad finita
Una oración en el lenguaje Dyck puede visualizarse como un descenso y ascenso a través de niveles de paréntesis anidados. Al leer una oración Dyck, cada paréntesis de apertura aumenta la profundidad de anidamiento en 1, y cada paréntesis de cierre la disminuye en 1. La profundidad de una oración es la profundidad máxima alcanzada dentro de la misma.
Por ejemplo, podemos anotar la siguiente oración con la profundidad en cada paso:
0 ( 1 [ 2 [ 3 ] 2 { 3 } 2 ] 1 ( 2 ) 1 { 2 ( 3 ) 2 } 1 ) 0 [ 1 ] 0
y la oración completa tiene una profundidad de 3.
Definimos Dyck-(k, m) como el lenguaje con k tipos de corchetes y profundidad máxima m. Esto tiene aplicaciones en la teoría formal de redes neuronales recurrentes . [ 1 ]
Propiedades
- El lenguaje Dyck es cerrado bajo la operación de concatenación .
- Al tratarcomo un monoide algebraico bajo concatenación vemos que la estructura del monoide se transfiere al cociente, lo que da como resultado el monoide sintáctico del lenguaje de Dyck . La clasese denotará.
- El monoide sintáctico del lenguaje de Dyck no es conmutativo : siyentonces.
- Con la notación anterior,pero ningunonison invertibles en.
- El monoide sintáctico del lenguaje de Dyck es isomorfo al semigrupo bicíclico en virtud de las propiedades deydescrito anteriormente.
- Según el teorema de representación de Chomsky-Schützenberger , cualquier lenguaje libre de contexto es una imagen homomórfica de la intersección de algún lenguaje regular con un lenguaje de Dyck en uno o más tipos de pares de corchetes. [ 2 ]
- El lenguaje Dyck con dos tipos distintos de corchetes se puede reconocer en la clase de complejidad.. [ 3 ]
- El número de palabras de Dyck distintas con exactamente n pares de paréntesis y k pares internos (es decir, la subcadena) es el número de Narayana.
- Las palabras de Dyck son isomorfas a los caminos de Dyck , un subconjunto de los símbolos de recorrido en escalera.
- El número de palabras de Dyck distintas con exactamente n pares de paréntesis es el n -ésimo número de Catalan.Nótese que el lenguaje de Dyck de palabras con n pares de paréntesis es igual a la unión, sobre todos los posibles k , de los lenguajes de Dyck de palabras con n pares de paréntesis y k pares internos , tal como se definió en el punto anterior. Dado que k puede variar de 0 a n , obtenemos la siguiente igualdad, que efectivamente se cumple:
Ejemplos

Podemos definir una relación de equivalencia.sobre el lenguaje de Dyck. Paratenemossi y solo si, es decirytienen la misma longitud. Esta relación particiona el lenguaje de Dyck:. Tenemosdónde. Tenga en cuenta queestá vacío para impar.
Habiendo introducido las palabras de Dyck de longitud, podemos introducir una relación sobre ellos. Para cadadefinimos una relaciónen; paratenemossi y solo siSe puede acceder desdemediante una serie de intercambios adecuados . Un intercambio adecuado en una palabraintercambia una ocurrencia de '][' con '[]'. Para cadala relaciónmarcasen un conjunto parcialmente ordenado . La relaciónes reflexivo porque una secuencia vacía de intercambios adecuados tomaaLa transitividad se deduce porque podemos extender una secuencia de intercambios propios que tomaaal concatenarlo con una secuencia de intercambios adecuados que tomaaformando una secuencia que tomaenPara ver esoTambién es antisimétrico, introducimos una función auxiliar.definido como una suma sobre todos los prefijosde:
La siguiente tabla ilustra quees estrictamente monótono con respecto a los intercambios adecuados.
Por esoentoncescuando hay un intercambio adecuado que tomaenAhora bien, si asumimos que ambosy, entonces existen secuencias no vacías de intercambios propios taleses llevado ay viceversa. Pero entonceslo cual no tiene sentido. Por lo tanto, siempre que ambosyestán en, tenemos, por esoes antisimétrico.
El conjunto ordenado parcialse muestra en la ilustración que acompaña a la introducción si interpretamos un [ como hacia arriba y ] como hacia abajo.
Véase también
Notas
- ↑ Hewitt, John; Hahn, Michael; Ganguli, Surya; Liang, Percy ; Manning, Christopher D. (2020-10-15). "Las RNN pueden generar lenguajes jerárquicos limitados con memoria óptima". arXiv : 2010.07515 [ cs.CL ].
- ↑ Kambites, Communications in Algebra Volumen 37 Número 1 (2009) 193-208
- ↑ Barrington y Corbett, Information Processing Letters 32 (1989) 251-256
Referencias
- Lenguaje Dyck en PlanetMath .
- Una demostración del teorema de Chomsky-Schützenberger
- Una entrada del blog de AMS sobre las palabras de Dyck
- Lenguajes formales