Está en la página 1de 6

Teora de Aut omatas y Lenguajes Formales

Boletn de Autoevaluaci on 4: C omo se calcula la Expresi on Regular asociada a un AFD?.


1. Objetivos.
El objetivo de este boletn es ilustrar uno de los m etodos que permiten calcular la expresi on regular
que denota el mismo lenguaje que un Aut omata Finito reconoce mediante ejemplos y, adem as, proporcio-
nar la soluci on a alguno de los problemas propuestos en el boletn para que pod ais comprobar si hab eis
aplicado bien este m etodo.
2. Idea Principal.
Los teoremas de Kleene, el de An alisis y el de Sntesis, establecen la equivalencia entre los AFs
y las expresiones regulares. En concreto, el de An alisis permite armar que dado un AFD, existe una
expresi on regular que lo denota. Su demostraci on ya establece un m etodo para calcular dicha expresi on
regular, pero en la pr actica no es el m etodo que se suele utilizar para realizar dicho c alculo.
En su lugar, es m as aconsejable el uso de la Regla de Arden. Para aplicarla, hay que establecer un
sistema de ecuaciones lineales en expresiones regulares y resolverlo. Cada ecuaci on de un sistema de
ecuaciones lineales en expresiones regulares tiene la siguiente forma general
X = rX + s
en la que r y s son expresiones regulares sobre un alfabeto . Dependiendo de que r o r se
tienen dos soluciones para dicha ecuaci on:
- r y, entonces, X = r

s. Para comprobarlo, basta ver que


X = rX + s = r(r

s) + s = (rr

+ )s = r

s = X.
- r y, entonces, hay innitas soluciones X = r

(s + t), donde t es una expresi on regular cual-


quiera sobre (normalmente, este caso no nos afectar a). Este resultado puede comprobarse de la
siguiente forma,
X = rX + s = r(r

(s + t)) + s = (rr

+ )s + rr

t = (r
+
+ )s + r
+
t.
Como r

= r
+
si r, entonces lo anterior queda,
(r
+
+ )s + r
+
t = (r

+ )s + r

t = r

(s + t) = X.
3. M etodo para obtener la Expresi on regular que denota a un AF dado.
El m etodo se basa en el establecimiento de un sistema de ecuaciones lineales en expresiones regulares
a partir del AF. Sea A,
A = , Q, f, q
0
, F
1
un AFD o un AFN; a A se le puede asociar un sistema de ecuaciones lineales en expresiones regulares
de la siguiente forma:
1. Se asocia una variable a cada estado: q
i
Q, se le asocia X
i
.
2. Las ecuaciones se construyen en funci on de las transiciones: si q
j
f(q
i
, a), entonces en la
ecuaci on de la variable X
i
aparece el t ermino aX
j
en su parte derecha: X
i
= ... + aX
j
+ ....
3. Adem as, se asocia el t ermino a los estados nales: si q
i
F, entonces en la ecuaci on de la
variable X
i
aparece en su parte derecha: X
i
= ... + + ....
El lenguaje reconocido por el AF es la expresi on regular de la variable asociada a su estado inicial.
3.1. Ejemplo 1.
Hay que calcular la expresi on regular que denota el lenguaje reconocido por el aut omata que se
muestra en la siguiente gura:
q
0
0, 1
q
3
q
1
1
0
q
2
0
1 1
0
X
2
X
3
X
0
X
1
Sobre la gura se ha asociado ya a cada estado su correspondiente variable. De acuerdo al segundo
y tercer paso del m etodo, el sistema de ecuaciones lineales que hay que resolver es el siguiente:
X
0
= 0X
1
+ 1X
1
+ = (0 + 1)X
1
+
X
1
= 0X
2
+ 1X
3
+
X
2
= 1X
2
+ 0X
1
X
3
= 0X
3
+ 1X
1
Recordemos que la soluci on de la ecuaci on general, X = rX+s es X = r

s. En la ultima ecuaci on,


si identicamos t erminos con r y s se tiene:
X
3
= 0

r
X
3
+ 1X
1

s
.
Por lo tanto,
X
3
= 0

1X
1
.
2
De forma similar, se puede operar con X
2
,
X
2
= 1

r
X
2
+ 0X
1

s
, X
2
= 1

0X
1
.
Se tienen X
2
y X
3
en funci on de X
1
. Al substituir en la ecuaci on de X
1
se obtiene
X
1
= 0X
2
+ 1X
3
+ = 01

0X
1
+ 10

1X
1
+ = (01

0 + 10

1)X
1
+
Agrupando t erminos se llega a
X
1
= (01

0 + 10

1)

r
X
1
+

s
, X
1
= (01

0 + 10

1)

= (01

0 + 10

1)

.
y, al substituir en la ecuaci on de X
0
se obtiene nalmente,
X
0
= (0 + 1)X
1
+ = (0 + 1)(01

0 + 10

1)

+ ,
L(AFD) = (0 + 1)(01

0 + 10

1)

+ .
3.2. Ejemplo 2.
El siguiente ejemplo es el mismo que ten eis en los apuntes de teora ilustrando el Teorema de An alisis
(y as podr eis comparar ambos m etodos). El aut omata es el siguiente:
Se asocia X
1
al estado q
1
, X
2
al estado q
2
y X
3
al estado q
3
. El sistema de ecuaciones lineales
resultante es:
X
1
= 0X
2
+ 1X
3
X
2
= 0X
2
+ 1X
3
+
X
3
= 1X
3
+ 0X
2
Podemos comenzar con la ecuaci on de X
3
:
X
3
= 1

r
X
3
+ 0X
2

s
, X
3
= 1

0X
2
.
Se substituye la expresi on obtenida en la ecuaci on de X
2
,
X
2
= 0X
2
+ 1X
3
+ = 0X
2
+ 11

0X
2
+ = 0 + 11

0

r
X
2
+

s
, X
2
= (0 + 11

0)

.
3
Ahora se substituyen X
2
y X
3
en la ecuaci on de X
1
:
X
1
= 0X
2
+ 1X
3
= 0(0 + 11

0)

+ 11

0X
2
= 0(0 + 11

0)

+ 11

0(0 + 11

0)

y, si se agrupan t erminos, se llega a


X
1
= (0 + 11

0)(0 + 11

0)

= (( + 11

)0)(( + 11

)0)

= 1

0(1

0)

= (1

0)

0 = (1 + 0)

0.
Es decir,
L(AFD) = (1 + 0)

0.
Nota: Las expresiones regulares tienen un mont on de propiedades y, a veces, nos asusta el mo-
goll on. En el desarrollo anterior hemos usado tres de las que m as salen; recordadlas, que son muy
utiles:
(1) ( +

) =

, (2)

y (3) (

= ( + )

.
Otra buena poltica para evitar enmogollanarse es simplicar desde el principio todo lo que poda-
mos. Del sistema original,
X
1
= 0X
2
+ 1X
3
X
2
= 0X
2
+ 1X
3
+
X
3
= 1X
3
+ 0X
2
se sigue que X
2
= X
1
+ . Si se usa esa relaci on, el resultado es bastante m as simple:
X
3
= 1

0X
2
, X
2
= X
1
+ X
3
= 1

0(X
1
+ ).
Al substituir en X
1
:
X
1
= 0X
2
+1X
3
= 0(X
1
+) +11

0(X
1
+) = (0+11

0)X
1
+(0+11

0) = (0+11

0)

(0+11

0)
se llega con menos pasos al mismo resultado (bueno, falta volver a aplicar las tres propiedades anteriores
para obtener la expresi on simplicada, pero... aplicadlas vosotros y vais entren andoos ;-).
3.3. Autoevaluaci on.
1. Construir expresiones regulares que denoten los mismos lenguajes que los reconocidos por los
siguientes aut omatas nitos:
Soluci on: El primer aut omata queda denotado por la expresi on regular 0

. La verdad es que se ve
a ojo... en este problema lo complicado es obtenerla formalmente. Como pistas, las siguientes:
4
la expresi on regular concatenada con cualquier otra expresi on regular es
(r = r = , expr. reg. r: si no concateno nada con r qu e obtengo? nada!).
Por denici on

= {, } = .
Para acabar de liar el problema, ten eis el segundo aut omata:
L(AFD) = ((0(10)

(0 + 11) + 1(01)

(1 + 00))

(0(10)

(1 + ) + 1(01)

(0 + ))).
2. Calcular la expresi on regular asociada al AFD mnimo que reconoce el mismo lenguaje que el
representado en la gura (obtener antes el AFD mnimo).
q
4
q
0
0
0
q
1
1
q
5
0
1
1
0
q
3
q
2
1
0
1
1
0
Soluci on: AFD mnimo: q
0
q
1
y q
2
q
3
. Expr. Reg.: L(AFD) = (0 + 1)

1(0 + 1)
3. En el Boletn de Autoevaluaci on 1, se propuso la transformaci on del siguiente AF a AFD:
AFD equivalente:
f a b c
F {q
0
} {q
1
, q
3
} {q
1
}
{q
1
, q
3
} {q
1
} {q
2
, q
4
}
{q
1
} {q
1
} {q
2
}
F {q
2
, q
4
} {q
1
, q
3
} {q
2
}
F {q
2
} {q
1
, q
3
} {q
2
}
Completar el problema dando la expresi on regular del AFD mnimo equivalente.
Soluci on: L(AFD) = (a + b)(b + c)

c + .
5
4. Obtener el AFD mnimo que reconozca el lenguaje reconocido por el siguiente AF,
Calcular la expresi on regular asociada al lenguaje reconocido por el aut omata anterior.
Soluci on: Pistas: el AFD mnimo tiene 3 estados y los 3 son nales.
L(AFD) = (a

c)

(a

+ b(b + c)

).
6

También podría gustarte