Sie sind auf Seite 1von 13

MINIMIZACIN DE AUTMATAS FINITOS

Teorema: Sea A un autmata finito determinista. Existe , afd equivalente a A, con un nmero mnimo de estados, nico salvo isomorfismo. Proceso en varias etapas: A Estados equivalentes. B Autmatas equivalentes. C Isomorfismo de A.F. D Autmata mnimo.

Equivalencia de estados

Definiciones: Sea A = ( , Q, q0, f, F) un autmata finito determinista. 1. Sean p,q Q. Se dice que p y q son equivalentes p E q x * f (p,x) F f (q,x) F

2. Sean p,q Q , k N. Se dice que p y q son equivalentes en longitud k o k-equivalentes p Ek q x * x k f (p,x) F f (q,x) F

Notas: 1. p E q significa que los dos estados evolucionan de manera paralela, funcionan igual, hacen lo mismo en el siguiente sentido: f (p,x) F f (q,x) F se puede escribir f (p,x) F f (q,x) F f (q,x) F f (p,x) F y

y puesto que la proposicin p q es lgicamente equivalente a q p, se puede escribir f (p,x) F f (q,x) F f (p,x) F f (q,x) F y

es decir, para cualquier palabra, si desde p llega a un estado final, tambin desde q se llega a estado final y si desde p llega a estado no final, tambin desde q llega a estado no final.
1

2. La definicin 1 no proporciona un procedimiento para saber si dos estados p,q Q son equivalentes, puesto que hay infinitas palabras x en *, aunque el alfabeto slo tenga un smbolo. En cambio, para un determinado nmero natural k, si es posible, con la definicin 2, saber si dos estados p,q Q son k-equivalentes, puesto que hay un nmero finito de palabras x * cuya longitud es x k. No obstante, utilizar la definicin 2 para ello, parece, cuando menos, muy pesado o laborioso.

3. Obviamente las relaciones binarias E y Ek son relaciones de equivalencia sobre el conjunto Q y determinarn una particin de Q, el conjunto cociente, que denotaremos de la siguiente forma: Q/E se denotar como Q/Ek se denotar como PE Pk

4. En particular para k = 0, se tiene la particin Q/E0 = P0 de la siguiente forma p E0 q x * x 0 f (p,x) F f (q,x) F

f (p, ) F f (q, ) F
es la nica palabra x 0

(p F q F)
definicin de f, extensin de la funcin de transicin a palabras

es decir, dos estados p,q Q son 0-equivalentes, si los dos son finales, o los dos son no finales. Por tanto el conjunto cociente Q/E0 = P0 es P0 = { F, Q F } es decir, hay dos clases de 0-equivalencia.

5. De las definiciones 1 y 2 se deducen las siguientes propiedades inmediatas: 5.1 : p E q p Ek q En particular 5.2 : p Ek q p Er q En particular k p E q p E0 q r k p Ek q p E0 q
2

p,q F

p,q F

p,q F

p,q F

Propiedades: 1. p E q f (p,x) E f (q,x) x *

i.e, si dos estados son equivalentes, entonces los correspondientes estados siguientes desde p y q con cualquier palabra x, tambin son equivalentes. p Ek q f (p,x) Ek f (q,x) x *

2.

es decir, la propiedad anloga para la relacin de k-equivalencia no se cumple. p Ek+1 q p Ek q f (p,e) Ek f (q,e) e

3.

4.

Pk = Pk+1 Pk+i = Pk i 0 Pk = Pk+1 PE = Pk Sea Q = n j n-2 Pj = Pj+1

5.

6.

Antes de pasar a demostrar cada una de estas propiedades veamos su significado (para qu sirven?). La propiedad 3 puesto que es una condicin necesaria y suficiente, permite obtener la relacin de k+1 equivalencia a partir de la k-equivalencia o, dicho de otra forma, la particin Pk+1 a partir de la particin Pk. La propiedad 4 dice que si, al ir obteniendo cada particin de k-equivalencia a partir de la anterior, se repiten dos, entonces todas las siguientes son ya iguales y Propiedad 5: esa particin que se repite es la particin de equivalencia PE. La propiedad 6 afirma que esa repeticin existe siempre y se produce en un nmero finito de pasos o iteraciones.

Este conjunto de propiedades es, por consiguiente, un procedimiento para obtener la relacin de equivalencia E que, como se indic, no es posible hacerlo basndose solamente en la definicin. Pero es que, adems, este resultado es muy importante porque el conjunto cociente Q/E = PE va a ser el conjunto de estados del autmata mnimo equivalente al autmata A, es decir, cada clase de equivalencia de la relacin E ser un estado del autmata .

En consecuencia, un algoritmo para la obtencin de la particin de equivalencia PE es el siguiente: P0 = {F, Q F } Se obtiene Pk+1 a partir de Pk, utilizando la propiedad 3. Pk+1 = Pk P E = Pk Pk+1 Pk volver a 2 fin

1234-

Demostracin Propiedad 1:
Hay que probar f (f (p,x), y) F f (f (q,x), y) F x y *

Pero f (f (p, x), y) = f (p,xy) x y * , segn se prob en mquinas secuenciales para la funcin f, extensin a palabras de la funcin de transicin, y un autmata finito es un caso particular de mquina secuencial de Moore. Por tanto, hay que probar: f (p,xy) F f (q,xy) F La hiptesis de la que partimos es p E q, es decir Luego, obviamente, se cumple lo que hay que probar. x y * x *

f (p,x) F f (q,x) F

Demostracin Propiedad 2:
Bastar con encontrar un ejemplo, es decir, un autmata A y dos estados de l p y q, un nmero natural k y una palabra x tales que pEkq y f (p,x) Ek f (q,x) Sea el autmata a a

q0

q1 a

q2

q1 E0 q2

pues q1 F y q2 F

f (q1,a) = q2 F f (q2,a) = q0 F

f (q1,a) E0 f (q2,a)

Demostracin Propiedad 3: p Ek+1 q p Ek q y f (p,e) Ek f (q,e) e


por definicin de equivalencia en longitudes k y k+1

*)

*)

p Ek+1 q p Ek q

f (p,e) Ek f (q,e) e f (f (p,e),x) F f (f (q,e),x) F e , x * x k

habr que probar:

o lo que es lo mismo: f (p,ex) F f (q,ex) F e , x * x k o expresado de otro modo f (p,y) F f (q,y) F pero por hiptesis sabemos que p Ek+1 q, es decir p Ek+1 q f (p,x) F f (q,x) F x * x k+1 y * 0 <y k+1

Hay que probar

f (p,x) F f (q,x) F, x * x k +1 f (p,x) F f (q,x) F x * x k f (p,x) F f (q,x) F x * x= k+1

Por hiptesis p Ek q falta por probar:

La segunda parte de la hiptesis es f (p,e) Ek f (q,e) e e , x * x k

f (f (p,e),x) F f (f (q,e),x) F f (p,ex) F f (q,ex) F que podemos expresar

e , x * x k

f (p,y) F f (q,y) F y * 0 <y k +1

en particular f (p,y) F f (q,y) F y * y = k+1 que es lo que faltaba por probar.

Demostracin Propiedad 4: Pk = Pk+1 Pk+i = Pk i 0


Se har por induccin sobre i
*)

Paso bsico Pk = Pk

i=0

(Para los valores i = 1 y i = 2 no es necesario probarlo, pero da pistas sobre cmo actuar en el paso de induccin) i=1 i=2 Pk = Pk+1 por hiptesis hay que probar Pk = Pk+2 , o lo que es lo mismo, p Ek q p Ek+2 q p,q

definicin de equivalencia en longitud k y k+2 p Ek q p Ek+1 q f (p,e) Ek f (q,e) e f (p,e) E k+1 f (q,e) e p Ek+1 q Pk = Pk+1 prop 3 Pk = Pk+1 prop 3 p Ek+2 q

*)

Paso de induccin:

Hiptesis de induccin: Pk = Pk+r Hay que probar: Pk = Pk+r+1, o lo que es lo mismo, p Ek q p Ek+r+1 q p,q

definicin de equivalencia en longitud k y k+r+1 p Ek q p Ek+1 q f (p,e) Ek f (q,e) e f(p,e) Ek+r f(q,e) e p Ek+r q hiptesis Pk = Pk+1 prop 3 hip induccin prop 3 p Ek+r+1 q

Demostracin Propiedad 5: Pk = Pk+1 PE = Pk


Hay que probar p E q p Ek q Pk = Pk+1 definiciones de E y Ek p Ek q prop 4 p Er q r < k p Ek+i q i0 p Ek q k

pEq

def. de E y Ek

Demostracin Propiedad 6: Sea Q = n


*)

j n-2 Pj = Pj+1
Q slo tiene un estado Q = {q } P0 = P1 = = PE = {Q } = {{q }}

Q = 1

*)

n 2

1er. caso. P0 = 1 slo hay una clase en E0 P0 = P1 j=0

p E1 q

p E0 q

(def. de k-equivalencia) p E0 q

P0 = 1 p E0 q p,q

f (p,e) E0 f (q,e) e

p E1 q

en particular 2 caso. P0 > 1. Se har por reduccin al absurdo: 0 j n-2 Pj Pj+1 Pn-1 > n !!!!!

prop 3

Supongamos j

1 < P0 < P1 < P2 < Pn-1 j 0 j n-2 Pj = Pj+1

Autmatas finitos equivalentes

Definiciones: Sean A 1 = ( , Q1, q01, f1, F1 ) y A 2 = ( , Q2, q02, f2, F2 ) 1. q1 Q 1 y q2 Q 2 son equivalentes q1 E q2 x * f1(q1,x) F1 f2(q2,x) F2 A1 E A2 L(A1) = L(A2) f1(q01,x) F1 f2(q02,x) F2

2.

A1 equivalente a A2 x * q01 E q02

3.

Autmata suma

Sean A1, A2 tales que Q1 Q2 = donde f1(q,a) f(q,a) = f2(q,a) si q Q2 si q Q1

A1 A2 = ( , Q1 Q2, q0, f, F1 F2 )
*) f : (Q1 Q2) x Q1 Q2

*)

q0 es uno cualquiera de q01, q02.

La tabla de transicin del autmata suma, o el diagrama de transicin, es simplemente el resultado de colocar juntas las dos tablas o de dibujar uno junto al otro los diagramas de transicin. Teorema: Sean A1, A2 tales que Q1 Q2 = A1 E A2 q01 E q02 en A1 A2

es decir, para saber si dos autmatas A1 y A2 son equivalentes, se construye la particin PE del autmata suma y se mira si los estados iniciales q01 y q02 estn en la misma clase de equivalencia.

C Autmatas finitos isomorfos

Definicin:

Sean A1, A2 con el mismo alfabeto.

A1 y A2 son isomorfos, A1 A2 i : Q1 Q2 biyectiva tal que: a) i(q01) = q02 b) i[f1(q,e)] = f2[i(q),e] c) q F1 i(q) F2 Notas:
*) *)

q Q1 , e q Q1

A1 A2 si uno puede convertirse en el otro renombrando estados. A1 A2 A1 A2

A1 E A2 A1 E A2

Demostracin de :
x L (A1) f1(q01,x) F1 i[f1(q01,x)] F2 f2[i(q01),x] F2 f2(q02,x) F2 x L(A2) i[f1(q,x)] = f2[i(q),x] x *, q a continuacin Induccin sobre x :

c)

a)

i[f1(q,x)] = f2[i(q),x] q x: .) x = i[f1(q,)] = i(q) f2[i(q),] = i(q)

.) Hiptesis de induccin: cierto para palabras de longitud n: Sea y, y = n+1 Hay que probar y = xe, x = n i[f1(q,y)] = f2[i(q),y]

i[f1(q,x)] = f2[i(q),x] q, x, x = n

i[f1,(q,y)] = i[f1(q,xe)] = i[f1(f1(q,x),e)] = f2[i(f1(q,x)),e] = f2[f2(i(q),x),e] = f2[i(q),xe] = f2[i(q),y]

def de f1

b)

Hip. induccin, x = n

def de f2

El paso de induccin tambin se puede hacer con y = ex: i[f1(q,y)] = i[f1(q,ex)] = i[f1(f1(q,e),x)] = f2[i(f1(q,e)),x] = f2[f2(i(q),e),x] = f2[i(q),ex] = f2[i(q),y] hip induccin, | x | = n q, en particular, f1(q,e)

def de f1

b)

def de f2

Autmata mnimo

Definicin: Autmata cociente: Sea A = (, Q, q0, f, F) un afd. A partir de ste se construye otro:

, F ) donde = (, Q/E, [qo], f : Q/E x Q/E f


= { [q] q F } F

([q],e) = [f(q,e)] f

Este autmata se llama autmata cociente.

Notas:

est bien definida: 1) f est definida a partir de representantes de una clase de equivalencia, Puesto que f no depende del representante habr que comprobar que la imagen mediante f utilizado para obtener esa imagen. Es decir, habr que probar:
[q] = [q]
En efecto: [q] = [q] q E q f(q,x) E f(q,x) x * f(q,e) E f(q,e) e

([q],e) = f ([q],e) f

propiedad 1

en particular

([q],e) = f ([q],e) e [f(q,e)] = [f(q,e)] e f

est bien definido: 2) F

En efecto, en cada clase de equivalencia del conjunto cociente Q/E, todos los estados son finales o todos los estados son no finales:
p E q p Ek q k p E0 q P0 = {F, Q-F} p qF pq F

10

Por fin !!! : Teorema: Sea A un autmata finito determinista. Existe , afd equivalente a A, con un nmero mnimo de estados, nico salvo isomorfismo.

Demostracin: El autmata que estbamos buscando es , el autmata cociente. Hay que probar: 1. es equivalente a A. 2. es mnimo, es decir, si hay otro autmata A equivalente a A, entonces A tiene un nmero de estados mayor o igual que el autmata cociente. 3. es nico salvo isomorfismo, es decir, si hay otro autmata A equivalente a A con el mismo nmero de estados que , entonces A y son isomorfos.

1. L() = L(A). En efecto


([qo],x) F [f(qo,x)] F f (qo,x) F x L(A) x L() f def de f

def de F

([qo],x) = [f(qo,x)] ) x * , siendo f y f las (En rigor, adems habra que probar f correspondientes extensiones a palabras de las funciones de transicin de los autmatas y A.)

2. es mnimo.
Bastar probar A E A QQ/E

lo cual se consigue encontrando una aplicacin del tipo : Q Q/E que sea sobreyectiva. Se define de la siguiente forma: q Q Aconexo x * f (qo,x) = q (q) = [f(qo,x)] (qo) = [f(qo,)] = [qo] f (qo,) = qo

f(qo,x) = q

En particular, para obtener (qo) :

11

*)

es sobreyectiva: Sea c Q/E. de qu elemento de Q es imagen? c = [q] x f(qo,x) = q f (qo,x) = q (q) = c Pero adems hay que probar que est bien definida, es decir, hay que probar: f (qo,x) = q f (qo,y) = q

*)

[f(qo,x)] = [f(qo,y)]

es decir:

f(qo,x) E f(qo,y) f[f(qo,x),z] F f[f(qo,y),z)] F z *

Por tanto, hay que demostrar

f[f(qo,x),z] F f(qo,xz) F xz L(A) xz L(A) f (qo,xz) F A E A f [f (qo,x),z] F f [f (qo,y),z] F f (qo,yz) F yz L(A) f (qo,x) = f (qo,y) yz L(A) f(qo,yz) F f[f(qo,y),z] F A E A

3. es nico salvo isomorfismo.


Hay que probar: A E A Q = Q/E A y son isomorfos

*)

Sea : Q Q/E

la del punto anterior es biyeccin

ya se demostr que es sobreyectiva Q = Q/E es la funcin que define el isomorfismo: a) (qo) = [q o] En efecto, pues

*)

f (qo,) = qo (qo) = [f(qo,)] = [qo]

b)

[ (q),e] [f (q,e)] = f

q Q e

En efecto: Sea x * f (qo,x) = q (q) = [f(qo,x)] (1)

12

([qo],xe) = [f (q,e)] = [f (f (qo,x),e)] = [f (qo,xe)) = [f(qo,xe)] = f

def de
(f ([qo],x),e) = f ([f(qo,x)]e) = f ( (q),e) = f

def de f

(1)

c)

q F (q) F
En efecto: Sea x * f (qo,x) = q (q) = [f(qo,x)] (1)

([qo],x) F q F f (qo,x) F x L(A) x L() f A E A EA

(q) F [f(qo,x)] F (1)

13

Das könnte Ihnen auch gefallen