Teórica 5 - Departamento de Computación

Anuncio
Teoría de Lenguajes
Clase Teórica 5
Minimización de Autómatas Finitos
Primer cuartimestre 2014
Material compilado por el Profesor Julio Jacobo, a lo largo de distintas ediciones de la materia Teoría de Lenguajes en el
Departamento de Computación, Facultad de Ciencias Exactas y Naturales, Universidad de Buenos Aires.
Bibliografía: Capítulo 4, Introduction to Automata Theory, Languages and Computation, J. Hopcroft, R. Motwani, J.
Ullman, Second Edition, Addison Wesley, 2001.
Definición 1 (Estados indistinguibles). Sea M “ă Q, Σ, δ, q0 , F ą un AFD, los estados q, r P Q son indistinguibles sii:
para toda cadena α, partiendo de q se llega a un estado final sii partiendo de r también se llega a un estado final.
p αq P F ô δpr,
p αq P F q
q ” r si y solo si @α P Σ˚ , pδpq,
Observation 2. Pares de estados indistinguibles, al consumirse cualquier cadena α, llevan a otro par de estados indistinguibles
p αq ” δpr,
p αqq
q ” r ñ @α P Σ˚ , pδpq,
Demostración. Supongamos q ” r pero
p αq ı δpr,
p αqq.
Dα P Σ˚ , pδpq,
p αq de δpr,
p αq, o sea
Entonces existe una cadena β que distingue δpq,
p δpq,
p αq, βq P F ^ δp
p δpr,
p αq, βq R F q
Dβ P Σ˚ , pδp
o viceversa, lo que equivale a decir que
p αβq P F ^ δpr,
p αβq R F
δpq,
o viceversa. Pero entonces q ı r, y arribamos a una contradicción.
Teorema 3. La indistinguibilidad ” es una relación de equivalencia
reflexividad:
p αq P F ô δpq,
p αq P F q ñ q ” q
@α P Σ˚ , pδpq,
simetría:
p αq P F ô δpr,
p αq P F q ô
q ” r ñ @α P Σ˚ , pδpq,
p αq P F ô δpq,
p αq P F q ñ r ” q
@α P Σ˚ , pδpr,
transitividad:
p αq P F ô δpr,
p αq P F q
q ” r ñ @α P Σ˚ , pδpq,
p αq P F ô δps,
p αq P F q
r ” s ñ @α P Σ˚ , pδpr,
de las anteriores surge que
p αq P F ô δps,
p αq P F q
@α P Σ˚ , pδpq,
de donde
q ” s.
1
Definición 4. Autómata Finito Determinístico mínimo: Sea M “ă Q, Σ, δ, q0 , F ą un AFD sin estados inaccesibles, el
AFD mínimo equivalente M 1 “ă Q1 , Σ, δ 1 , q01 , F 1 ą está dado por
Q1 “ pQ { ”q (las clases de equiv. de Q)
δ 1 prqs , aq “ rδ pq, aqs
q01 “ rq0 s
F 1 “ rqs P Q1 : q P F
(
Observation 5.
p αq “ r ñ δp1 prqs , αq “ rrs
δpq,
Demostración. Demostración por inducción en |α|
caso base: |α| “ 0
p λq “ q (por def. δ)
p
δpq,
δp1 prqs , λq “ rqs (por def. δp1 )
de estas dos se deduce que
p λq “ q ñ δp1 prqs , λq “ rqs
δpq,
Paso inductivo: |α| “ n ` 1, con n ě 0. Tomemos α “ aα1 , entonces
p aα1 q“δpδ
p pq, aq , α1 q “r
δpq,
δp1 prδ pq, aqs , α1 q “ rrs
entonces por h.i.
pero
δp1 prδ pq, aqs , α1 q“δp1 pδ 1 prqs , aq , α1 q
por definición de δ 1
“δp1 prqs , aα1 q
por definición de transición generalizada
por lo tanto
p aα1 q “ r
δpq,
implica
δp1 prqs , aα1 q “ rrs
k
Definición 6 (Indistinguibilidad de orden k: ”).
´
¯
k
p ” q si y solo si @α P Σ˚ , p|α| ď kq ñ δp pp, αq P F ô δp pq, αq P F
Teorema 7. Propiedades de la indistinguibilidad de orden k
k
1. ” es una relación de equivalencia
k`1
k
2. ” Ď ”
´
¯
0
3. Q{ ” “ tQ ´ F, F u si Q ´ F ‰ H y F ‰ H
k`1
k
4. p ” r ô @a P Σ, δ pp, aq ” δ pr, aq
´k`1 k ¯
´k`n k ¯
5. ” “ ” ñ @n ě 0, ” “ ”
k
Demostración. 1. ” es una relación de equivalencia: ejercicio
2
k`1
k
2. ” Ď ”, o sea, k ` 1 indistinguibilidad ñ k indistinguibilidad
k`1
p ” q
ñ
por definición 6
´
¯
@α P Σ˚ , p|α| ď k ` 1q ñ δp pp, αq P F ô δp pq, αq P F ñ
´
¯
@α P Σ˚ , p|α| ď kq ñ δp pp, αq P F ô δp pq, αq P F ñ
k
ñ
por definición 6
p”q
´
¯
0
k
3. Q{ ” “ tQ ´ F, F u si Q ´ F ‰ H y F ‰ H: Surge de la definición de ” con k “ 0.
k`1
k
4. p ” r ô @a P Σ, δ pp, aq ” δ pr, aq:
ñq Si p y q son k ` 1 indistinguibles, entonces δ pp, aq y δ pr, aq son k indistinguibles (@a P Σ).
k
Si no es cierto que @a P Σ, δ pp, aq ” δ pr, aq, entonces
´
¯
´
¯
Da P Σ, Dα P Σ˚ ,
p|α| ď kq ^ δp pδ pp, aq , αq P F ^ δp pδ pr, aq , αq R F
k`1
o viceversa. Pero entonces p ı r, ya que |aα| ď k ` 1.
k`1
ðq Supongamos que p ı q. Entonces Dα “ aα1 , con |α| ď k ` 1 que distingue p de q, o sea que
´ `
¯ ´ `
¯
˘
˘
δp δ pp, aq , α1 P F ^ δp δ pq, aq , α1 R F o viceversa
k
pero entonces δ pp, aq ı δ pq, aq.
´k`1 k ¯
´k`n k ¯
5. ” “ ” ñ @n ě 0, ” “ ” :
k
k
Caso base: n “ 0
”“”
Paso inductivo: suponemos que es cierto para n
´k`1 k ¯
´k`n k ¯
” “” ñ ” “” ,
y tratamos de probarlo para n ` 1, o sea, queremos probar que
´k`1 k ¯
´k`n`1 k ¯
” “” ñ
” “” .
Sabemos que
´k`n`1 k ¯
´ k
” “ ” ô @q, p P Q, q ” r ô q
k`n`1
”
(1)
¯
r , por lo que, la fórmula (1) puede reescribirse como
´k`1 k ¯
´ k
” “ ” ñ @q, p P Q, q ” r ô q
k`n`1
”
¯
r ,
(2)
la cual puede demostrarse de la siguiente manera:
q
k`n`1
”
´
¯
k`n
r ô @a P Σ, δ pq, aq ” δ pr, aq
´
¯
k
ô @a P Σ, δ pq, aq ” δ pr, aq
k`1
k
ô q ” r ô q ” r,
´k`1 k ¯
´k`n k ¯
´k`1 k ¯
´k`n k ¯
por 4, porque de la hipótesis inductiva ” “ ” ñ ” “ ” y del antecedente ” “ ” en 2 surge que ” “ ” ,
´k`1 k ¯
por 4 de nuevo y por el antecedente ” “ ” en 2.
3
Algoritmo de minimización de un AFD
1:
2:
3:
4:
5:
Input AFD M “ pQ, Σ, δ, q0 , F q
Output Q{ ”
P “ tQu
i“0
i
while doptX{ ”: X P P uq
6:
7:
8:
9:
P “ tX{ ”: X P P u
i“i`1
end while
return P
i
Hay otra versión de este algoritmo en página 161 del libro, Introduction to Automata Theory, Languages and Computation, J. Hopcroft, R. Motwani, J. Ullman, Second Edition, Addison Wesley, 2001.
Lema 8. Sean M y M 1 un par de AFDs, donde M “ă Q, Σ, δ, q0 , F ą, M 1 “ă Q1 , Σ, δ 1 , q01 , F ą y M no posee
estados inaccesibles. Supongamos que todo par de cadenas que conducen a estados diferentes en M conducen también a
estados diferentes en M 1 , es decir,
´
`
`
˘
˘¯
@α, β P Σ˚ , δp pq0 , αq ‰ δp pq0 , βq ñ δp1 q01 , α ‰ δp1 q01 , β
Entonces, la cantidad de estados de M 1 es mayor o igual a la cantidad de estados de M , es decir
ˇ ˇ
|Q| ď ˇQ1 ˇ
Demostración. Se trata de encontrar una función inyectiva de Q en Q1 . La existencia de tal función implica que |Q1 | ě
|Q|. Consideremos la función g : Q Ñ Σ˚ definida por
!
)
g pqq “ mı́n α P Σ˚ : δp pq0 , αq “ q
donde se supone una relación de orden en Σ˚ dada por la longitud, para cadenas de distinta longitud, y por el lexicográfico
para las cadenas de igual longitud. Puede definirse entonces una función f : Q Ñ Q1 mediante
`
˘
f pqq “ δp1 q01 , g pqq .
Asumamos la hipótesis del lema:
´
`
˘
`
˘¯
@α, β P Σ˚ , δp pq0 , αq ‰ δp pq0 , βq ñ δp1 q01 , α ‰ δp1 q01 , β
Como para cualquier par de estados diferentes p, q P Q es cierto que
δp pq0 , g ppqq ‰ δp pq0 , g pqqq
entonces es cierto también que
`
˘
`
˘
δp1 q01 , g ppq ‰ δp1 q01 , g pqq ,
pero esto equivale a decir que
f ppq ‰ f pqq ,
1
de esto último surge que la función f : Q Ñ Q así definida es inyectiva, y por lo tanto
ˇ ˇ
|Q| ď ˇQ1 ˇ .
Teorema 9. Sea MR el autómata reducido correspondiente al autómata M “ă Q, Σ, δ, q0 , F ą. Entonces, cualquier
autómata M 1 que reconozca el mismo lenguaje no poseerá menos estados que el autómata reducido MR , o sea,
ˇ ˇ
` ˘
@M 1 , L M 1 “ L pMR q ñ ˇQ1 ˇ ě |QR |
4
Demostración. Por el absurdo: Supongamos que DM 1 tal que |Q1 | ă |QR |, entonces según el lema anterior deben existir
dos cadenas α, β P Σ˚ tales que
´
¯ ´ `
`
˘¯
˘
p1 1
x
p1 1
,
δx
R pq0 , αq ‰ δR pq0 , βq ^ δ q0 , α “ δ q0 , β
˚
x
pero entonces, como δx
R pq0 , αq y δR pq0 , βq son distinguibles por pertenecer al autómata reducido MR entonces Dγ P Σ
x
δx
R pq0 , αγq P F ^ δR pq0 , βγq R F o viceversa,
de donde
αγ P L pMR q ô βγ R L pMR q .
Por otro lado, como δp1 pq01 , αq “ δp1 pq01 , βq, es obvio que
`
`
˘
˘
δp1 q01 , αγ P F ^ δp1 q01 , βγ P F , o ambos R F,
de estas dos se infiere que
` ˘
` ˘
αγ P L M 1 ô βγ P L M 1 .
Por lo tanto L pMR q ‰ L pM 1 q, lo que contradice la hipótesis L pM 1 q “ L pMR q.
Ejercicios
2
3
1. Dar un autómata AFD tal que Q{ ” sea distinto de Q{ ”.
2. Sea un AFD M “ pQ, Σ, δ, q0 , F q. Mostrar que para todo entero k ě 0,
k
k
k
ppQ{ ”qq{ ”q es igual a Q{ ” .
3. Consideremos el algoritmo de minimización de autómatas dado aquí (y en clase) y reemplacemos la instrucción
i “ i ` 1 por la instrucción i “ i ` 2. ¿Terminará la ejecución del ciclo? En caso de que sí, ¿Con qué resultado?
4. Un transductor es un autómata con entrada y con salida (también llamado ”Mealy machine”). Formalmente es una
6-upla M “ pQ, Σ, ∆, δ, ρ, q0 , F q donde Q, Σ, δ y q0 son como en un DFA, ∆ es el alfabeto de salida y ρ es la
función que mapea Q ˆ Σ en ∆.
Es decir ρpq, aq es la salida asociada a la transición del estado q con input a. La salida de M con input a1 . . . an
es ρpq0 , a1 qρpq1 , a2 q . . . ρpqn´1 , an q donde q0 , q1 . . . qn´1 es la secuencia de estados tal que δpqi´1 , aq “ qi para
i “ 1, . . . , n.
Pregunta. ¿Cómo es el algoritmo de minimización para transductores?
5
Descargar