1. Las máquinas que están en varios
lugares
Nosepuedeestarenlaprocesiónytocandolacampana—
Dichopopular
Ivan Meza
2. Autómata finito
Es una tupla (Q, Σ, q0, A, δ)
Q conjunto finito de estados
Σ un alfabeto
q0 estado inicial
A estados finales
δ función de transición
Q × Σ → Q
La máquina sin memoria
3. Problema
Un cobro de una máquina chicles de 5 pesos que sólo acepta
monedas de 1, 2 y 5 pesos
Σ = {1, 2, 5}
9. Automáta finito no determinístico
Es una tupla (Q, Σ, q0, A, δ)
Q conjunto finito de estados
Σ un alfabeto
q0 ∈ Q estado inicial
A ⊆ Q estados finales
δ función de transición
Q × Σ → 2Q
10. El conjunto de conjuntos
Con el conjunto C, 2C es el conjunto de todos los conjuntos
posibles con elementos de C
Con {a, b}
2{a,b} = {∅, {a}, {b}, {a, b}}
Número de conjuntos
2|C|
11. La función de transición de un AFND
δ: Q × A → 2Q
δ regresa un conjunto de estados
12. AF vs AFND
Ambos, son una tupla (Q, Σ, q0, A, δ)
AF AFND
Q Q
Σ Σ
q0 ∈ Q q0 ∈ Q
A ⊆ Q A ⊆ Q
δ: Q × A → Q δ: Q × A → 2Q
22. Para el AFND M = (Q, Σ, q0, A, δ)
La cadena w ∈ Σ∗ se acepta si:
δ∗(q0, w)⋂ A ≠ ∅
L(M) es el lenguaje conformado por cadenas aceptadas por M
23. δ∗(q0, 122) = {q5}
{q5} ∩ A = {q5} ∩ {q5} = {q5} ≠ ∅
La cadena se acepta
24. Reduciendo el AFND a un AF
Comenzar por codificar los estados de forma binaria
| q0, q11/1, q11/2, q11/3, q11/4, q11/5, q12/6, q12/7, q12/8,
q21/1, q11−12/2, q11−12/3, q21/4, q21/5, q22/6, q11−21/7, q1
q31/1, q21−12/3, q21−12/4, q31/5, q21−12/8,
q41/1, q5 | = 24
0-00000000-00000000-00000-0-0
30. Renombrando los estados
Q
′
1 2 5
q0 q1 q2 q3
q1 q4 q5 qe
q2 q6 q7 qe
q3 qe qe qe
q4 q8 q9 qe
q5 q10 q3 qe
q6 q11 q3 qe
q7 q3 qe qe
q8 q12 qe qe
q9 q3 qe qe
q10 q3 qe qe
q11 q3 qe qe
34. M′ (AF) se define a partir de M = (Q, Σ, q0, A, δ) (AFND)
como:
Q′ = 2Q
Σ′ = Σ
q′
0 = {q0}
A′ = {q′ ∈ Q′ | q ∩ A ≠ ∅}
δ′(q′, a) = ⋃
r∈q
δ(r, a)
Todas las cadenas w ∈ Σ∗, aceptadas por M deben ser
35. aceptadas por M′
Caso base: δ′∗(q0, ϵ) = δ(q0, ϵ)
δ′(q′
0, ϵ) = q′
0 [ap. de op. en AF]
= {q0} [def de q′
0, de AF a AFND]
= δ∗(q0, ϵ} [def. de δ∗, en
AFND]
36. Caso inductivo: δ′∗(q′
0, w)) = δ(q0, w)
δ′(q′
0, wa) = δ′(δ′∗(q′
0, w), a) [ex. de aplicación,
AF]
= δ′(δ∗(q0, w), a)) [hipotesis, de AF a AF/AFND]
= ⋃
r∈δ∗(q0,w)
δ(r, a) [ap. de δ′, de AF a AFND]
= δ(w, a) [def. de δ∗, en AFND ]
37. ¡Todo AFND puede ser reducido a un
AF!
¡Y acepta el mismo lenguaje!
38. Problema
Todos los cobros de una máquina chicles de 5 pesos que sólo
acepta monedas de 1, 2 y 5 pesos
Σ = {1, 2, 5}
41. AFND-ϵ
Es una tupla (Q, Σ, q0, A, δ)
Q conjunto finito de estados
Σ un alfabeto
q0 ∈ Q estado inicial
A ⊆ Q estados finales
δ función de transición
Q × (Σ ∪ {ϵ}) → 2Q
42. AF vs AFND vs AFND-ϵ
Ambos, son una tupla (Q, Σ, q0, A, δ)
AF AFND AFND-ϵ
Q Q Q
Σ Σ Σ
q0 ∈ Q q0 ∈ Q q0 ∈ Q
A ⊆ Q A ⊆ Q A ⊆ Q
δ: Q × Σ → Q δ: Q × Σ → 2Q δ: Q × (Σ ∪ {ϵ}) → 2Q
43. Cadenas aceptadas por un AFND-ϵ
δ∗ = δ∗(q, ϵ) = expϵ({q}) q ∈ Q
δ∗(q, wa) = expϵ(⋃
r∈δ∗(q,w)
δ(r, a)) q, r ⊆ Q, w ⊆ Σ∗,
{
77. ivanvladimir@gmail.com ivanvladimir.github.io ivanvladimir
La máquina que está en varios lugares by is
licensed under a
.
Creado a partir de la obra en
.
Ivan V. Meza Ruiz
Creative Commons Reconocimiento 4.0
Internacional License
http://turing.iimas.unam.mx/~ivanvladimir/slides/lfya/nfae.html