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

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

  • Número de Catalan
  • Teorema de Chomsky-Schützenberger
  • Gramática libre de contexto
  • Lenguaje formal
  • Walther von Dyck

Referencias


Surface de Dyck

Dyck in der Personensuche von Das Telefonbuch

Ferdinand Dyck

Imágenes de Dyck Descarga imágenes gratuitas en Unsplash

Dyck