Sei sulla pagina 1di 18

Minimización de AFD

Conjunto Cociente

PROF: RAFAEL AGUILAR - ESCOM


Extensión a palabras. Conceptos
Aceptación de palabras. relativos a
Lenguaje reconocido por un AFD’s
AFD.
Autómatas conexos.
Equivalencia de AFD
Extensión a palabras
Dado que δ solo transita cuando recibe un símbolo de entrada, se puede
generalizar para cuando recibe una palabra formada por más de un símbolo o por
la palabra vacía (λ). En este caso se define la función δ’ de la siguiente forma:

δ’: Q X Σ* → Q
donde:
δ’(q, ax) = δ’(δ(q, a), x)
δ’(q, λ) = q
y a ∈ Σ, x ∈ Σ*, q ∈ Q

RAFAEL AGUILAR - ESCOM


Extensión a palabras
Ejemplo: Dado el AFD A1 y la palabra 0110, aplicamos δ’:

1
0 δ’ (q0, 0110) = δ’(δ(q0,0), 110) = δ’(q0, 110) =
0 = δ’(δ(q0,1), 10) = δ’(q1, 10) =
= δ’(δ(q1,1), 0) = δ’(q0, 0) =
= δ’(δ(q0,0), λ) = δ’(q0, λ) = q0
q0 q1

RAFAEL AGUILAR - ESCOM


Aceptación de palabras
x ∈ Σ* es aceptada o reconocida por un AFD si δ’ (q0, x) ∈ F . Es decir, si se
parte del estado inicial q0 y se recibe la palabra de entrada x, se transita a
un estado que pertenece al conjunto de estados finales o de aceptación F.
Lenguaje reconocido por un AFD
Es el conjunto de palabras aceptadas por un AFD.
LAFD { x | x ∈ Σ* y δ’ (q0, x) ∈ F }
De esta forma se comprueba la relación que existe entre autómatas y
lenguajes; de forma que cada autómata reconoce un determinado lenguaje
(regular en el caso de los AF), generando como salida una aceptación si la
palabra de entrada pertenece al lenguaje y una no aceptación si no
pertenece.
Accesibilidad entre estados
Decimos que p ∈ Q es accesible desde q ∈ Q, pAq, si existe una palabra x
∈ Σ* tal que δ’(q, x) = p.
A efectos de simplificar los autómatas, todos aquellos estados no accesibles
desde el estado inicial q0, se pueden borrar, ya que no afectarán al
comportamiento del autómata, al no poder llegar nunca a ellos.
Accesibilidad entre estados
Por ejemplo: En el autómata AFD A1 anterior, los dos estados son accesibles
desde cualquiera de ellos.
Pero para el AFD A2 siguiente, el estado q2 no será accesible desde q0 ni desde
q1:
1
0 Por lo tanto, el estado q2 puede ser eliminado
0
y no afectará al AFD resultante.

q0 q1
Autómatas Conexos.
Una AFD es conexo si para cada estado q ∈ Q, q
1 es accesible desde q0.
Por lo tanto:
0 1
El AFD A1 es conexo.
q2 El AFD A2 no es conexo.
Equivalencia de AFD
Equivalencia entre estados.
Equivalencia de longitud n.
Equivalencia entre estados.
Dos estados p, q ∈ Q son equivalentes, pEq, si:

∀ x ∈ Σ*, δ’(p, x) ∈ F δ’(q, x) ∈ F

Si las transiciones desde p con la x llegan a un estado final, las de q con x


también tienen que llegar, y si desde p con x no se llega a un estado final,
desde q con x tampoco se puede llegar. Se puede demostrar fácilmente que
para cada estado q ∈ Q, qEq.
Equivalencia entre estados. 1
0
Ejemplo, dado el AFD A3:
El estado q1 es equivalente al q3, q1Eq3, q4
debido a que con cualquier palabra de q0
entrada transitan a un estado que o es final
en ambos casos, o no lo es en ambos 0
casos. 0,1 1
Así, por ejemplo, cuando reciben una
secuencia de ceros, cada uno transita a sí q2
mismo, que no son estados finales; y
cuando reciben un 1, transitan a q2, que es 1 1
final.
0
0
Sin embargo, el q0 y el q1 no son
equivalentes ya que: q1 q3
δ’(q0, 1)= q4 ∉ F y δ’(q1, 1)= q2 ∈ F
Dos estados p, q ∈ Q son
equivalentes de longitud n.
Dos estados p, q ∈ Q son equivalentes en longitud n, pEnq, si:
∀ x ∈ Σ*, |x| ≤ n, δ’(p, x) ∈ F δ’(q, x) ∈ F

Esto restringe la longitud de las palabras de entrada a n.


Ejemplo, para el AFD A3, se cumple q1E1q4, ya que
δ’(q1, 0)= q1 ∉ F y δ’(q4, 0)= q0 ∉ F
δ’(q1, 1)= q2 ∈ F y δ’(q4, 1)= q2 ∈ F
Pero no son equivalentes de longitud 2, ya que:
δ’(q1, 01)= q2 ∈ F y δ’(q4, 01)= q4 ∉ F
Dos estados p, q ∈ Q son
equivalentes de longitud n+1.
Dos estados p, q ∈ Q son equivalentes en longitud n+1, pEn+1q, si y solo si
son equivalentes de longitud n, pEnq y ∀ a ∈ Σ, δ(p, a)Enδ(q, a)
Ejemplo, para el AFD A3, se cumple q1E1q3, y además
δ’(q1, 0)= q1, δ’(q3, 0)= q3 y q1E1q3
δ’(q1, 1)= q2, δ’(q3, 1)= q2 ∈ F y obviamente, q2E1q2
Por tanto, q1E2q3.
Conjunto Cociente Cálculo de
Clases de
Equivalencia
Cálculo de clases de equivalencia
• Las relaciones de equivalencia definidas anteriormente particioanan el
conjunto de los estados en clases, definiendo el Conjunto Cociente Q/E.
• Para calcular dicho conjunto, se comienza con el conjunto cociente de la
relación de equivalencia de longitud 0, que está formado por dos clases: El
conjunto de los estados finales (F); y el resto de los estados (F’).
• Después, en cada iteración, se utiliza la definición de equivalencia de
longitud i+1 para calcular el conjunto cociente Q/Ei+1 a partir del conjunto
cociente Q/Ei; de acuerdo a la definición anterior.
Ejemplo : dado el AFD A3, calcular
el Conjunto Cociente Q/E.
1. Q/E0 = [ C0 = {q2}, C1 = {q0, q1, q3, q4} ]
Nota: C0 = Clase 0, C1 = Clase 1

0 1 2. Q/E1:

q0E0q1 δ(q0,0) = q0 ∈ C1, δ(q1,0) = q1 ∈ C1


q4 δ(q0,1) = q4 ∈ C1, δ(q1,1) = q2 ∈ C0 no q0E1q1
q0

q0E0q3 δ(q0,0) = q0 ∈ C1, δ(q3,0) = q3 ∈ C1


0
δ(q0,1) = q4 ∈ C1, δ(q3,1) = q2 ∈ C0 no q0E1q3
0,1 1
q0E0q4 δ(q0,0) = q0 ∈ C1, δ(q4,0) = q0 ∈ C1
q2
δ(q0,1) = q4 ∈ C1, δ(q4,1) = q2 ∈ C0 no q0E1q4
1 1
q1E0q3 δ(q1,0) = q1 ∈ C1, δ(q3,0) = q3 ∈ C1
0 δ(q1,1) = q2 ∈ C0, δ(q3,1) = q2 ∈ C0 q1E1q3
0

q1 q3 q1E0q4 δ(q1,0) = q1 ∈ C1, δ(q4,0) = q0 ∈ C1


δ(q1,1) = q2 ∈ C0, δ(q4,1) = q2 ∈ C0 q1E1q4

Por tanto: Q/E1 = [ C0 = {q2}, C1 = {q0}, C2 = {q1, q3, q4} ]


3. Q/E2:

0 1 q1E1q3 δ(q1,0) = q1 ∈ C2, δ(q3,0) = q3 ∈ C2


δ(q1,1) = q2 ∈ C0, δ(q3,1) = q2 ∈ C0 q1E2q3

q4 q1E1q4 δ(q1,0) = q1 ∈ C2, δ(q4,0) = q0 ∈ C1


q0
δ(q1,1) = q2 ∈ C0, δ(q4,1) = q2 ∈ C0 no q0E1q3
0
Por tanto: Q/E2 = [ C0 = {q2}, C1 = {q0}, C2 = {q1, q3}, C3 = {q4} ]
0,1 1
4. Q/E3:
q2
q1E1q3 δ(q1,0) = q1 ∈ C2, δ(q3,0) = q3 ∈ C2
1 1
δ(q1,1) = q2 ∈ C0, δ(q3,1) = q2 ∈ C0 q1E2q3
0
0
Como:
q1 q3 Q/E2 = Q/E3 = [ C0 = {q2}, C1 = {q0}, C2 = {q1, q3}, C3 = {q4} ]

El conjunto cociente es: Q/E = Q/E2 = Q/E3

Potrebbero piacerti anche