Teoría

Autómata Finito

Un Autómata Finito no determinista (AFN) es una quíntupla $(Q,\Sigma,\delta,s,F)$ donde:

  1. $Q$ es un conjunto finito de estados.
  2. $\Sigma$ es un alfabeto finito.
  3. $\delta \subseteq Q \times \Sigma^\star$ es la relación de transición.
  4. $s \in Q$ es el estado inicial.
  5. $F \subseteq Q$ es el conjunto de estados finales (de aceptación).

Lenguajes y operaciones

  1. Un alfabeto $\Sigma$ es un conjunto finito no vació cuyos elementos son denominados símbolos (o letras).
  2. Una cadena (o palabra) $w = w_1\,w_2 \dots w_n$ es una secuencia finita formada por la concatenación de $n$ símbolos tal que $w_i\in\Sigma$. El número de símbolos en $w$, denotado $\len{w}$, es el largo de $w$. La cadena vacía, sin símbolos, se denota $\veps$ y es la única cadena con largo $0$. Para toda cadena $w$ definimos $w^0=\veps \ $ y $ \ w^k=w^{k-1}\,w$.
  3. Un lenguaje formal $L$ definido sobre $\Sigma$ es un conjunto de cadenas formadas a partir de los símbolos de $\Sigma$.

Algunos lenguajes particulares son:

  • $\varnothing$ es el lenguaje vacío, no tiene cadenas.
  • es el lenguaje que tiene únicamente la cadena vacía.
  • $\Sigma^\star$ es el lenguaje de todas las cadenas que se pueden formar sobre $\Sigma$, incluyendo la cadena vacía. Por lo tanto, para cualquier lenguaje $L$ definido sobre $\Sigma$, tenemos $L \subseteq \Sigma^\star$.

Se pueden obtener lenguajes nuevos a partir de otros aplicando operaciones sobre estos. Como un lenguaje es un conjunto, entonces valen las operaciones ordinarias sobre conjuntos como Unión, Intersección, etc. Adicionalmente, se definen otras operaciones especiales.

Sean $L_1$ y $L_2$ lenguajes. La unión de $L_1$ y $L_2$ se define:

Sean $L_1$ y $L_2$ lenguajes. La concatenación de $L_1$ y $L_2$ se define:

Sea $L$ un lenguaje y $n \in \mathbb{N}$. La potencia de $L$ a la $n$ se define:

Sea $L$ un lenguaje. La clausura Kleene de $L$ se define:

Alternativamente, una definición recursiva:

Sea $L$ un lenguaje. La clausura Kleene+ de $L$ se define:

Lenguaje/Expresión Regular

Un lenguaje $L$ definido sobre un alfabeto $\Sigma$ es regular si y solo si $L$ es aceptado por un Autómata Finito.1

Todo lenguaje regular $L$ definido sobre un alfabeto $\Sigma$ puede ser construido a partir de $\varnothing$ y (con $a\in\Sigma$) mediante las operaciones de Unión, Concatenación y Clausura Kleene.

Otras operaciones como Intersección y Complemento también son cerradas sobre lenguajes regulares, pero no son esenciales.

Se define un lenguaje formal de Expresiones Regulares (ER) para denotar lenguajes complejos construidos mediante las operaciones elementales, de manera que para cada lenguaje regular $L$ hay una ER $r$ tal que $\mathcal{L}(r)=L$. 2

Sean $r_1,r_2$ expresiones regulares y $\Sigma$ un alfabeto. Entonces el lenguaje de ER definido sobre $\Sigma$ se construye de acuerdo con las siguientes reglas de sintaxis y semántica.

Descripción Sintaxis Semántica
Caso base Lenguaje vacío $\emptyset$ $\mathcal{L}(\emptyset) \ = \ \{ \} \ = \ \varnothing$
Cadena vacía $\veps$ $\mathcal{L}(\veps) \ = \ \{ \veps \}$
$a\in\Sigma$ $a$ $\mathcal{L}(a) \ = \ \{ a \}$
Paso inductivo Clausura Kleene $r_{1}^{\star}$ $\mathcal{L}(r_{1}^{\star}) \ = \ \mathcal{L}(r_1)^\star$
Unión $r_1 + r_2$ $\mathcal{L}(r_1 + r_2) \ = \ \mathcal{L}(r_1) \cup \mathcal{L}(r_2)$
Concatenación $r_1\,r_2$ $\mathcal{L}(r_1\,r_2) \ = \ \mathcal{L}(r_1) \cdot \mathcal{L}(r_2)$

Sean $r_1,r_2$ expresiones regulares. Entonces $r_1$ y $r_2$ son iguales si y solo si ambas denotan el mismo lenguaje. Es decir:

La definición de $\veps$ (cadena vacía) como primitiva es conveniente, pero redundante porque . Notar que un lenguaje puede ser denotado por más de una RE.

Sean $r_1,r_2,r_3$ expresiones regulares sobre un alfabeto. Entonces las siguientes son identidades básicas:

  1. Conmutatividad:

  2. Asociatividad:

  3. Distributividad:

  4. Elemento Neutro:

  5. Elemento Cero:

  6. Otros:

Sea :

  • $0^\star + 1^\star$ denota el lenguaje de cadenas formadas con $0$ o $1$:

  • $(0\,1)^\star$ denota el lenguaje de cadenas formadas con $0$ y $1$:

  • $(0 + 1)^\star$ denota el lenguaje de cadenas formadas con $0$ y/o $1$:

Lema de Arden

Sean $X,A,B\subseteq\Sigma^\star$ con $\veps\not\in A$. Entonces:

En palabras, $A^\star \cdot B$ es el lenguaje más pequeño tal que es solución en la ecuación lineal $X = A \cdot X \cup B$. Además, si $\veps\not\in A$ entonces dicha solución es única.

Demostración 1

Procedemos en ambas direcciones.

$\large\Longleftarrow)$ Sea $X = A^\star \cdot B$. Verificamos que $X$ es una solución para la ecuación:

$\large\Longrightarrow)$ Sea $S$ una solución cualquiera de $X = A \cdot X \,\cup\, B$. Expandiendo tenemos:

Entonces para todo $n \geq 0$:

Esto significa en particular $A^k \cdot B \ \subseteq \ S$ para todo $n \geq 0$, entonces $A^\star \cdot B \ \subseteq \ S$. Hasta aquí hemos probado que $A^\star \cdot B$ es una solución y debe ser la más pequeña porque está incluida en cualquier otra solución $S$.

Ahora, considerando también la hipotesis $\veps\not\in A$ vamos a ver que dicha solución además es única. Sea $w\in S$ tal que $\len{w}=n$ con $n \geq 0$, entonces por $\eqref{eq1}$ tenemos dos casos posibles:

  1. $\ w \in A^{n+1}\cdot S \ $: Pero si $\veps\not\in A$ entonces la cadena más corta que puede haber en $A^{n+1}\cdot S$ es de largo $n+1$. Luego $w \not\in A^{n+1}\cdot S$ y este caso queda descartado.
  2. $\ w \in \left(\bigcup\limits_{k=0}^{n}A^k\right)\cdot B \ $: Se cumple por haber descartado el caso anterior.

Necesariamente $w \in \left(\bigcup\limits_{k=0}^{n}A^k\right)\cdot B \ \subseteq \ A^\star \cdot B$, entonces $S \ \subseteq \ A^\star \cdot B$.
Por lo tanto $S = A^\star \cdot B$.

Demostración 2

Otra manera de probar la dirección $\Longrightarrow$ es por inducción. Supongamos $X = A \cdot X \cup B$ con $\veps\not\in A$, entonces tenemos que demostrar $X = A^\star \cdot B$, es decir: $X \ \subseteq \ A^\star \cdot B$ y $A^\star \cdot B \ \subseteq \ X $. Ahora demostramos ambas inclusiones por separado.

$\large\subseteq)$ Notar que:

Procedemos por inducción completa en el largo de la cadena $w\in X$:

Caso Base. Sea $\len{w}=0$, o sea $w=\veps$.
Tenemos que $w\in X$ y $X = A \cdot X \cup B$. Luego $w \in A \cdot X \cup B$, es decir: $w \in A \cdot X$ o $w \in B$.
Pero $\veps\not\in A$, entonces $w \not\in A \cdot X$. Luego necesariamente $w \in B$.
Además $B \subseteq A^\star \cdot B$, por lo tanto $w \in A^\star \cdot B$.

Paso Inductivo.
HI. $v \in A^\star \cdot B$ para todo $v\in X$ con $1 \leq \len{v} \leq n $.
T. $w \in A^\star \cdot B$ para $\len{w} \gt n$.
Por casos:

  • Si $w \in B$. Entonces $w \in A^\star \cdot B$.
  • Si $w \not\in B$. Tenemos que $w\in X$ y $X = A \cdot X \cup B$, luego $w \in A \cdot X \cup B$, es decir: $w \in A \cdot X$ o $w \in B$. Pero $w \not\in B$, luego necesariamente $w \in A \cdot X$.
    Si $w \in A \cdot X$ entonces existen cadenas $w_1\in A$ y $w_2\in X$ tal que $w = w_1\,w_2$.
    Como $\veps\not\in A$, tenemos que $\len{w_1}\geq 1$ y entonces $\len{w} \gt \len{w_2}$.
    Tomando $w_2=v$, por la HI: $ \ w_2 \in A^\star \cdot B$.
    Luego $w=w_1\,w_2 \in A \cdot (A^\star \cdot B)$.
    Pero además:

    Por lo tanto $w \in A^\star \cdot B$.

Habiendo completado la inducción, hemos demostrado $X \subseteq A^\star \cdot B$.

$\large\supseteq)$ Se procede de manera similar.

Observaciones

  • Si los lenguajes $A$ y $B$ son regulares, entonces la solución $A^\star \cdot B$ es un lenguaje regular. Esto es porque las operaciones de Clausura Kleene y Concatenación son cerradas sobre lenguajes regulares.
  • Si $\veps\in A$, entonces la ecuación $X = A \cdot X \cup B$ tiene infinitas soluciones de la forma $A^\star\cdot(B \cup C)$ donde $C \subseteq \Sigma^\star$ es un lenguaje arbitrario, como se puede verificar:

    En este caso, $A^\star \cdot B$ es una de las soluciones posibles cuando $C=\varnothing$, siendo así la más pequeña pero no la única. Por lo tanto, sin la hipótesis $\veps \not\in A$ no hay unicidad y entonces el lema se cumple solo en la dirección $\Longleftarrow$.

  • Otra versión del Lema de Arden se cumple de manera análoga para gramáticas lineales por izquierda: 3

Aplicación: conversión de AF a ER

Según el teorema 1, todo Autómata Finito (AFD o AFN) acepta un lenguaje regular. Un método de conversión de AF a ER consiste en resolver el sistema de ecuaciones lineales regulares asociado al AF. Una aplicación del lema de Arden es en la resolución de dicho sistema de ecuaciones, específicamente en las ecuaciones recursivas. 4

Sea $M=(Q,\Sigma,\delta,s,F)$ un AFD/AFN tal que $Q={ q_1,q_2,…,q_n }$. El sistema de ecuaciones asociado a $M$ tiene $n$ incógnitas $X_1,X_2,…,X_n$ y $n$ ecuaciones, una por cada $q_i$, de la forma:

Cada $X_i$ es una ER que denota aquellas cadenas aceptadas por $M$ comenzando desde el estado $q_i$. Entonces si $q_1$ es el estado inicial, la solución de $X_1$ es la ER que denota el lenguaje aceptado por $M$, o sea $\mathcal{L}(X_1)=\mathcal{L}(M)$.

Sea $M=(Q,\Sigma,\delta,s,F)$ un AFN con:

  • $s=q_1$

y $\delta$ representada por el siguiente diagrama de transición:

Siguiendo la definición 10, el sistema de ecuaciones correspondiente a $M$ es:

Sustitución de $(2)$ en $(1)$ y $(3)$:

Nos queda un sistema en 3 incógnitas:

Sustitución de $(4)$ en $(5)$ y $(6)$:

Nos queda un sistema en 2 incógnitas:

Sustitución de $(8)$ en $(7)$:

Por lo tanto, el lenguaje aceptado por $M$ es el lenguaje denotado por:

Referencias

  1. Un resultado importante sobre Autómatas Finitos es que deterministas (AFD’s) y no deterministas (AFN’s) son equivalentes en el sentido de que tienen el mismo poder expresivo, esto es que pueden reconocer/aceptar la misma clase de lenguajes denominada la clase de lenguajes regulares

  2. Haciendo abuso de notación es común identificar la ER $r$ con el el lenguaje denotado por $r$, o sea $\mathcal{L}(r)$. 

  3. Esta es la forma presentada originalmente en el paper de Arden. 

  4. Si se tiene un AFN-e, se puede convertir a AFN (o AFD) antes de aplicar el método. 

Bibliografía

  1. J. Hopcroft, R. M. & J. U. (2000). Introduction to Automata Theory, Languages, and Computation (2nd ed.). Addison Wesley.
  2. Arden, D. N. (1961). Delayed-logic and finite-state machines (2nd Annual Symposium on Switching Circuit Theory & L. D. (S. W. C. T. 1961), Eds.; pp. 133–151).