Fundamentos de Gramáticas Formales: La Jerarquía de Chomsky y Tipos de Lenguajes

Clasificado en Informática

Escrito el en español con un tamaño de 3,57 KB

Definición y Estructura de las Gramáticas Formales

Una gramática formal es un mecanismo esencial para generar las cadenas que pertenecen a un lenguaje o para formar correctamente las frases de dicho lenguaje. Se define como un conjunto de reglas que, aplicadas a partir de un único símbolo inicial, son capaces de generar todas sus cadenas.

Estructura Formal de una Gramática

Formalmente, una gramática $G$ se define como una cuádrupla $G = (V, \Sigma, R, S)$, donde:

  • V: Es un alfabeto de variables (símbolos no terminales).
  • \Sigma: Es un alfabeto de constantes (símbolos terminales).
  • R: Es el conjunto finito de reglas o producciones. Es un subconjunto de $V \times (\Sigma \cup V)^*$.
  • S: Es el símbolo inicial, un elemento de $V$.

Una cadena $w \in \Sigma^*$ (es decir, una cadena formada exclusivamente por terminales) es derivable a partir de una gramática $G$ si existe una secuencia de pasos de derivación que la produce.

El lenguaje generado por una gramática $G$, denotado como $L(G)$, es igual al conjunto de todas las palabras derivables a partir de su símbolo inicial.

La Jerarquía de Chomsky: Clasificación de Gramáticas

El lingüista Noam Chomsky propuso varias formas estándares de reglas que se asocian a diversas clases de lenguajes. Estas clases están ordenadas de manera jerárquica, lo que implica que los lenguajes más primitivos están incluidos en los más complejos.

Gramáticas Regulares o de Tipo 3

Son las gramáticas más restrictivas y simples. Son capaces de describir los lenguajes regulares.

Las reglas de producción son de la forma:

  • $A \to aB$
  • $A \to a$

Donde $A$ y $B$ son variables (no terminales) y $a$ es un símbolo terminal (constante).

Formalmente, una gramática regular se define como una cuádrupla $(\Sigma_T, \Sigma_N, S, P)$, donde:

  • $\Sigma_T$: Es un conjunto no vacío de símbolos terminales o constantes.
  • $\Sigma_N$: Es un conjunto no vacío de símbolos no terminales o variables.
  • $S$: Es el símbolo inicial, donde $S \in \Sigma_N$.
  • $P$: Son las reglas o producciones.

La gramática regular, como toda gramática, es un metalenguaje que genera lenguajes.

Gramáticas Libres de Contexto (GLC) o de Tipo 2

Estas gramáticas producen los lenguajes libres de contexto (LLC).

Las reglas de producción son de la forma:

  • $X \to \alpha$

Donde $X$ es una variable (no terminal) y $\alpha$ es una cadena que puede contener variables y terminales.

Gramáticas Sensitivas al Contexto (GSC) o Dependientes del Contexto, o de Tipo 1

Las reglas de producción son de la forma:

  • $\alpha A \beta \to \alpha \Gamma \beta$

Donde $A$ es una variable, y $\alpha$, $\beta$ y $\Gamma$ son cadenas cualesquiera que pueden contener variables y terminales. La restricción clave es que la longitud de la cadena resultante debe ser mayor o igual que la longitud de la cadena original.

Gramáticas No Restringidas o de Tipo 0

Estas gramáticas generan los lenguajes llamados recursivamente enumerables.

Las reglas de producción son de la forma:

  • $\alpha \to \beta$

Donde $\alpha$ es una cadena que no puede ser vacía, y $\beta$ es una cadena cualquiera de símbolos terminales y no terminales.

Entradas relacionadas: