Lenguaje de Dyck

En la teoría de los lenguajes formales de las ciencias de la computación, las matemáticas y la lingüística, un lenguaje de Dyck es un lenguaje libre de contexto que está formado por palabras balanceadas de paréntesis. Es importante para el análisis sintáctico de expresiones que deben tener una secuencia de paréntesis correctamente anidados, como las expresiones aritméticas y algebraicas. Toma su nombre del matemático alemán Walther von Dyck, que estudió en profundidad la teoría de grupos.

Los lenguajes de Dyck son cruciales en la teoría de los lenguajes formales ya que, según el teorema de Chomsky-Schützenberger, cualquier lenguaje libre de contexto se puede expresar como el homomorfismo de la intersección de un lenguaje regular y un lenguaje de Dyck.[1][2][3]

Definición formal

Concepto

Un lenguaje de Dyck es aquel cuyas expresiones tienen los paréntesis correctamente anidados. Valgan como ejemplo las siguientes expresiones:

  • La expresión [ [ ( ) [ ] ] ( ) ] {\displaystyle [[()[]]()]} pertenece a los lenguajes de Dyck
  • La expresión ( [ ) ] {\displaystyle ([)]} no pertenece a un lenguaje de Dyck
  • La expresión ) ) {\displaystyle ))} no pertenece a un lenguaje de Dyck
Caminos de Dyck. Diagrama de las 14 posibles palabras de Dyck de longitud 8. ( y ) están representados como arriba y abajo

Definición

El lenguaje de Dyck D {\displaystyle D} se define mediante la siguiente gramática formal:[2]

S ε {\displaystyle S\rightarrow \varepsilon }
S S S {\displaystyle S\rightarrow SS}
S ( S ) {\displaystyle S\rightarrow (S)}

O de manera abreviada:

S S S   |   ( S )   |   ε {\displaystyle S\to SS~|~(S)~|~\varepsilon }

Donde ε {\displaystyle \varepsilon } es la cadena vacía y S {\displaystyle S} es un símbolo no terminal.

Generalización

Para cada número natural n N {\displaystyle n\in \mathbb {N} } se define el lenguaje de Dyck D n {\displaystyle D_{n}} como aquel que tiene n {\displaystyle n} parejas distintas de paréntesis correctamente anidados.

De este modo, si el lenguaje de Dyck D 2 {\displaystyle D_{2}} tiene las dos parejas (   ) {\displaystyle (~)} y [   ] {\displaystyle [~]} , entonces la gramática del lenguaje de Dyck D 2 {\displaystyle D_{2}} es:[2]

S ε {\displaystyle S\to \varepsilon }
S S S {\displaystyle S\to SS}
S ( S ) {\displaystyle S\to (S)}
S [ S ] {\displaystyle S\to [S]}

O de manera abreviada:

S S S   |   ( S )   |   [ S ]   |   ε {\displaystyle S\to SS~|~(S)~|~[S]~|~\varepsilon }

Generalizando para todo n N {\displaystyle n\in \mathbb {N} } , para cada D n {\displaystyle D_{n}} existen las correspondientes n {\displaystyle n} producciones del tipo S { S } {\displaystyle S\to \{S\}} .

Propiedades

  • El número de posibles expresiones (palabras) de longitud 2 j {\displaystyle 2j} en el lenguaje de Dyck D 1 {\displaystyle D_{1}} viene dado por C j {\displaystyle C_{j}} , donde C j {\displaystyle C_{j}} es el número de Catalan. Los llamados 'caminos de Dyck' son una representación gráfica de esta propiedad.[4]

Véase también

Referencias

  1. Kanazawa, Makoto; Kracht, Markus; Seki, Hiroyuki; Kornai, András (2011). The mathematics of language. Nara, Japan: Springer. p. 42. ISBN 9783642232107. Consultado el 10 de abril de 2015. 
  2. a b c Simon, Matthew (1999). Automata Theory. World Scientific. p. 198. ISBN 9789810237530. Consultado el 10 de abril de 2015. 
  3. Gelbukh, Alexander (2003). Computational linguistics and intelligent text processing. México, D. F.: Springer. p. 27. ISBN 9783540005322. Consultado el 10 de abril de 2015. 
  4. «Caminos de Dyck (Dyck Paths)» (en inglés). Archivado desde el original el 3 de diciembre de 2020. Consultado el 10 de abril de 2015. 
Control de autoridades
  • Proyectos Wikimedia
  • Wd Datos: Q1268618
  • Wd Datos: Q1268618