Documentos de Académico
Documentos de Profesional
Documentos de Cultura
tr2 PDF
tr2 PDF
Inicio
P
Inicio Febr.
Dec2
P S
Inicio Febr. Dec1
A
N
Fin1
Dec2
Sept1.
P
P S
Inicio Febr. Dec1
A
N
Fin1
Dec2
S A
Sept1. Fin2
P
P S
Inicio Febr. Dec1
A
N
Fin1
Dec2
S A
Sept1. Fin2
P
P S
Inicio Febr. Dec1
A
N
Fin1
N
P
Dec2 Sept2.
N Dec3
S A
Sept1. Fin2
P
P S
Inicio Febr. Dec1
A A
N
Fin1
N
P
Dec2 Sept2.
N Dec3
S A
Sept1. Fin2
P
P S
Inicio Febr. Dec1
A A
N
Fin1
N
P
Dec2 Sept2.
N S
N Dec3
Dic.
Modelos de Computación ITema 2: Autómatas Finitos– p.5/88
Ejemplo Introductorio
S A
Sept1. Fin2
P
P S
Inicio Febr. Dec1
A A
N
Fin1
N
P
Dec2 Sept2.
N S
N Dec3
S
Fin3 A
Dic.
Modelos de Computación ITema 2: Autómatas Finitos– p.5/88
AUTOMATA FINITO DETERMINISTA
δ : Q×A → Q
q0 es un elemento de Q, llamado estado inicial
F es un subconjunto de Q, llamado conjunto de estados
finales.
Q = {q0 , q1 , q2 }
A = {a, b}
δ(q0 , a) = q1 , δ(q0 , b) = q2 ,
δ(q1 , a) = q1 , δ(q1 , b) = q2 ,
δ(q2 , a) = q1 , δ(q2 , b) = q0
F = {q1 }
1 0
0
q0 q1
1
1 0
0
q0 q1
1
1 0 0
q0 q1
1 0
0
q0 q1
1
1 0 0 1 0 0
q0 q1 q0 q1
Modelos de Computación ITema 2: Autómatas Finitos– p.9/88
Cálculo Asociado. Traza
1 0
0
q0 q1
1
1 0 0 1 0 0
q0 q1 q0 q1
1 0 0
q0 q1
1 0
0
q0 q1
1
1 0 0 1 0 0
q0 q1 q0 q1
1 0 0 1 0 0
q0 q1 Estado final q0 q1
SI
Modelos de Computación ITema 2: Autómatas Finitos– p.9/88
PROCESO DE CALCULO
Autómata M = (Q, A, δ, q0 , F)
Descripción Instantánea o Configuración:
Un elemento de Q × A∗ : (q, u).
Configuración Inicial para u ∈ A∗ : (q0 , u)
Relación paso de cálculo entre dos configuraciones:
∗
L(M) = {u ∈ A∗ : (q0 , u) ` (q, ε), q ∈ F}
Las palabras de L(M) se dicen aceptadas por el autómata.
q0 q1 q0 q1
1 0 0 1 0 0
q0 q1 Estado final q0 q1
SI
Modelos de Computación ITema 2: Autómatas Finitos– p.12/88
Ejemplo
0 0
1
q0 q1
1
0 0
1
q0 q1
1
S
R RF
B
S, Z, D
B, D, Z, H Z H
E B, H, S RD
B, D, Z, H, S D
T = {+, −, E, 0, 1, . . .., 9, .}
V = {< Signo >, < Digito >, < Natural >, < Entero >, < Real >}
q2 0, . . . , 9
q8 0, . . . , 9
q5 0, . . . , 9
0, . . . , 9 0, . . . , 9 0, . . . , 9 E, +, −, .
. E
q0 0, . . . , 9 q3 q4 0, . . . , 9 q7 T
+, − E, +, −, . +, −
E, +, −, .
q1 q6
E, +, −, . E, .
E, .
δ : Q × A → ℘(Q)
q0 es un elemento de Q, llamado estado inicial
F es un subconjunto de Q, llamado conjunto de estados
finales.
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
b
r0 a r1 c r2
b
r0 a r1 c r2
q2 0, . . . , 9
q8 0, . . . , 9
q5 0, . . . , 9
0, . . . , 9 0, . . . , 9 0, . . . , 9 E, +, −, .
. E
q0 0, . . . , 9 q3 q4 0, . . . , 9 q7 T
+, − E, +, −, . +, −
E, +, −, .
q1 q6
E, +, −, . E, .
E, .
q2 0, . . . , 9
q8 0, . . . , 9
q5 0, . . . , 9
0, . . . , 9 0, . . . , 9 0, . . . , 9
. E
q0 0, . . . , 9 q3 q4 0, . . . , 9
+, − +, −
q1 q6
∗
L(M) = {u ∈ A : ∃q ∈ F, (q0 , u) ` (q, ε)}
∗
Si B ⊆ Q,
δ (B, a) =
∗
δ(q, a)
[
q∈B
Si B ⊆ Q,
δ∗ (B, ε) = B
δ∗ (B, au) = δ∗ (δ∗ (B, a), u)
δ∗ (q, u) = δ∗ ({q}, u)
δ∗ (B, u) es igual a todos los estados a los que se puede llegar desde
cualquiera de los estados de B después de leer la palabra u.
Modelos de Computación ITema 2: Autómatas Finitos– p.24/88
Equivalencia Aut. Deterministas ↔ No-Determis
Q̄ = ℘(Q)
q̄0 = {q0 }
/
F̄ = {B ∈ ℘(Q) | B ∩ F 6= 0}
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
{q0 }
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1
0
{q0 } {q0 , q1 }
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1 0
0
{q0 } {q0 , q1 }
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1 0
0 1
{q0 } {q0 , q1 } {q0 , q2 }
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1 0
0
0 1
{q0 } {q0 , q1 } {q0 , q2 } {q0 , q1 , q3 }
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1
1 0
0
0 1
{q0 } {q0 , q1 } {q0 , q2 } {q0 , q1 , q3 }
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1
1 0
0
0 1
{q0 } {q0 , q1 } {q0 , q2 } {q0 , q1 , q3 }
0
{q0 , q1 , q4 }
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1
1 0
0
0 1
{q0 } {q0 , q1 } {q0 , q2 } {q0 , q1 , q3 }
1
0
{q0 , q1 , q4 }
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1
1 0
0
0 1
{q0 } {q0 , q1 } {q0 , q2 } {q0 , q1 , q3 }
1
0 0
{q0 , q1 , q4 }
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1
1 0
0
0 1
{q0 } {q0 , q1 } {q0 , q2 } {q0 , q1 , q3 }
1
0 0
{q0 , q2 , q5 } {q0 , q1 , q4 }
1
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1
1 0
0
0 1
{q0 } {q0 , q1 } {q0 , q2 } {q0 , q1 , q3 }
1
0 0
{q0 , q2 , q5 } {q0 , q1 , q4 }
1
0
{q0 , q1 , q3 , q6 }
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1
1 0
0
0 1
{q0 } {q0 , q1 } {q0 , q2 } {q0 , q1 , q3 }
1
1 0 0
{q0 , q2 , q5 } {q0 , q1 , q4 }
1
0
{q0 , q1 , q3 , q6 }
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1
1 0
0
0 1
{q0 } {q0 , q1 } {q0 , q2 } {q0 , q1 , q3 }
1
1 0 0
{q0 , q2 , q5 } {q0 , q1 , q4 }
1
0
{q0 , q1 , q4 , q6 } {q0 , q1 , q3 , q6 }
0
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1
1 0
0
0 1
{q0 } {q0 , q1 } {q0 , q2 } {q0 , q1 , q3 }
1
1 0 0
{q0 , q2 , q5 } {q0 , q1 , q4 }
1
0
{q0 , q1 , q4 , q6 } {q0 , q1 , q3 , q6 }
0
1
{q0 , q2 , q6 }
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1
1 0
0
0 1
{q0 } {q0 , q1 } {q0 , q2 } {q0 , q1 , q3 }
1
1 0 0
{q0 , q2 , q5 } {q0 , q1 , q4 }
1
0
{q0 , q1 , q6 } {q0 , q1 , q4 , q6 } {q0 , q1 , q3 , q6 }
0 0
1
{q0 , q2 , q6 }
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1
1 0
0
0 1
{q0 } {q0 , q1 } {q0 , q2 } {q0 , q1 , q3 }
1
1 0 0
{q0 , q2 , q5 } {q0 , q1 , q4 }
1
0
{q0 , q1 , q6 } {q0 , q1 , q4 , q6 } {q0 , q1 , q3 , q6 }
0 0
1 1
{q0 , q2 , q5 , q6 } {q0 , q2 , q6 }
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1
1 0
0
0 1
{q0 } {q0 , q1 } {q0 , q2 } {q0 , q1 , q3 }
1
1 0 0
{q0 , q2 , q5 } {q0 , q1 , q4 }
1
0
{q0 , q1 , q6 } {q0 , q1 , q4 , q6 } {q0 , q1 , q3 , q6 }
0 0
1 0 1
{q0 , q2 , q5 , q6 } {q0 , q2 , q6 }
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1
1 0
0
0 1
{q0 } {q0 , q1 } {q0 , q2 } {q0 , q1 , q3 }
1
1 0 0
{q0 , q2 , q5 } {q0 , q1 , q4 }
1
0
{q0 , q1 , q6 } {q0 , q1 , q4 , q6 } {q0 , q1 , q3 , q6 }
0 0
1 0 1
{q0 , q6 } {q0 , q2 , q5 , q6 } {q0 , q2 , q6 }
1
Modelos de Computación ITema 2: Autómatas Finitos– p.27/88
Ejemplo
0, 1 0, 1
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1
1 0
0
0 1
{q0 } {q0 , q1 } {q0 , q2 } {q0 , q1 , q3 }
1
1 0 0
{q0 , q2 , q5 } {q0 , q1 , q4 }
1
0
0
{q0 , q1 , q6 } {q0 , q1 , q4 , q6 } {q0 , q1 , q3 , q6 }
0 0
1 0 1
{q0 , q6 } {q0 , q2 , q5 , q6 } {q0 , q2 , q6 }
1
Modelos de Computación ITema 2: Autómatas Finitos– p.27/88
Ejemplo
0, 1 0, 1
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1
1 0
0
0 1
{q0 } {q0 , q1 } {q0 , q2 } {q0 , q1 , q3 }
1
1 0 0
{q0 , q2 , q5 } {q0 , q1 , q4 }
1
0
0
{q0 , q1 , q6 } {q0 , q1 , q4 , q6 } {q0 , q1 , q3 , q6 }
0 0
1 0 1
1 {q0 , q6 } {q0 , q2 , q5 , q6 } {q0 , q2 , q6 }
1
Modelos de Computación ITema 2: Autómatas Finitos– p.27/88
Ejemplo
0, 1 0, 1
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1
1 0
0
0 1
{q0 } {q0 , q1 } {q0 , q2 } {q0 , q1 , q3 }
1
1 0 0
{q0 , q2 , q5 } {q0 , q1 , q4 }
1
0
0
{q0 , q1 , q6 } {q0 , q1 , q4 , q6 } {q0 , q1 , q3 , q6 }
0 0
1 0 0 1
1 {q0 , q6 } {q0 , q2 , q5 , q6 } {q0 , q2 , q6 }
1
Modelos de Computación ITema 2: Autómatas Finitos– p.27/88
Ejemplo
0, 1 0, 1
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1
1 0
0
0 1
{q0 } {q0 , q1 } {q0 , q2 } {q0 , q1 , q3 }
1
1 0 0
{q0 , q2 , q5 } {q0 , q1 , q4 }
1
0
0
{q0 , q1 , q6 } {q0 , q1 , q4 , q6 } {q0 , q1 , q3 , q6 }
0 0
1 0 0 1
1 {q0 , q6 } {q0 , q2 , q5 , q6 } {q0 , q2 , q6 }
1
1
Modelos de Computación ITema 2: Autómatas Finitos– p.27/88
Ejemplo
0, 1 0, 1
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1
1 0
0
0 1
{q0 } {q0 , q1 } {q0 , q2 } {q0 , q1 , q3 }
1
1 0 0
{q0 , q2 , q5 } {q0 , q1 , q4 }
1
0
0
{q0 , q1 , q6 } {q0 , q1 , q4 , q6 } {q0 , q1 , q3 , q6 }
0 0
0 1 0 0 1
1 {q0 , q6 } {q0 , q2 , q5 , q6 } {q0 , q2 , q6 }
1
1
Modelos de Computación ITema 2: Autómatas Finitos– p.27/88
Ejemplo
0, 1 0, 1
q0 0 q1 1 q2 0 q3 0 q4 1 q5 0 q6
1
1 0
0
0 1
{q0 } {q0 , q1 } {q0 , q2 } {q0 , q1 , q3 }
1
1 0 0
{q0 , q2 , q5 } {q0 , q1 , q4 }
1
0
0
{q0 , q1 , q6 } {q0 , q1 , q4 , q6 } {q0 , q1 , q3 , q6 }
0 0
0 1 0 0 1
1 {q0 , q6 } {q0 , q2 , q5 , q6 } {q0 , q2 , q6 }
1
1 1
Modelos de Computación ITema 2: Autómatas Finitos– p.27/88
AF No Deterministas con Transiciones Nulas
Un autómata finito no determinista con transiciones nulas es una quintupla
M = (Q, A, δ, q0 , F) en la que
δ : Q × (A ∪ {ε}) → ℘(Q)
qj ε qk ε qs
a
qi ε ql a qm ε qn
ε
qr a qt ε qw
0 1 2
q0 ε q1 ε q2
0 1 2
q0 ε q1 ε q2
a, ε c, ε
q0 q1 q2
b b
q3
a, ε c, ε
q0 q1 q2
b b
q3
0, 1 0, 1
q0 0 q1 1 q2 1 q3 0 q4
0, 1 0, 1
p0 1 p1 0 p2 0 p3 0 p4
0, 1 0, 1
q0 0 q1 1 q2 1 q3 0 q4
r0
0, 1 0, 1
p0 1 p1 0 p2 0 p3 0 p4
0, 1 0, 1
q0 0 q1 1 q2 1 q3 0 q4
ε
r0
ε 0, 1 0, 1
p0 1 p1 0 p2 0 p3 0 p4
∗
L(M) = {u ∈ A : ∃q ∈ F, (q0 , u) ` (q, ε)}
∗
0 1 2
q0 ε q1 ε q2
{q0 , q1 , q2 }
0 1 2
q0 ε q1 ε q2
{q0 , q1 , q2 }
0 1 2
q0 ε q1 ε q2
0
1
{q0 , q1 , q2 } {q1 , q2 }
0 1 2
q0 ε q1 ε q2
0
1
{q0 , q1 , q2 } {q1 , q2 }
{q2 }
0 1 2
q0 ε q1 ε q2
0
1
{q0 , q1 , q2 } {q1 , q2 }
2 0
{q2 } 0/
0 1 2
q0 ε q1 ε q2
0 1
1
{q0 , q1 , q2 } {q1 , q2 }
2 0
{q2 } 0/
0 1 2
q0 ε q1 ε q2
0 1
1
{q0 , q1 , q2 } {q1 , q2 }
2 0
2
{q2 } 0/
0 1 2
q0 ε q1 ε q2
0 1
1
{q0 , q1 , q2 } {q1 , q2 }
2 0
2
0, 1
{q2 } 0/
0 1 2
q0 ε q1 ε q2
0 1
1
{q0 , q1 , q2 } {q1 , q2 }
2 0
2
0, 1
{q2 } 0/
0 1 2
q0 ε q1 ε q2
0 1
1
{q0 , q1 , q2 } {q1 , q2 }
2 0
2
0, 1
{q2 } 0/
0, 1, 2
2
0 1 2
q0 ε q1 ε q2
0 1
1
{q0 , q1 , q2 } {q1 , q2 }
2 0
2
0, 1
{q2 } 0/
0, 1, 2
2
Q = ℘(Q)
δ(P, a) = Cl( q∈P δ(q, a))
S
q0 = Cl(q0 )
/
F = {P : P ∩ F 6= 0}
Modelos de Computación ITema 2: Autómatas Finitos– p.37/88
Ejemplo
a, ε c, ε
q0 q1 q2
b b
q3
{q0 , q1 , q2 }
b b
q3
{q0 , q1 , q2 }
a
{q1 , q2 }
b b
q3
b
{q0 , q1 , q2 } {q3 }
a
{q1 , q2 }
b b
q3
b
{q0 , q1 , q2 } {q3 }
a c
{q1 , q2 } {q2 }
b b
q3
b
{q0 , q1 , q2 } {q3 }
a c
{q1 , q2 } {q2 } 0/
a
b b
q3
b
{q0 , q1 , q2 } {q3 }
a c
{q1 , q2 } {q2 } 0/
a
b b
q3
b
{q0 , q1 , q2 } {q3 }
a c
c
{q1 , q2 } {q2 } 0/
a
b b
q3
b
{q0 , q1 , q2 } {q3 }
c a, c
a
c
{q1 , q2 } {q2 } 0/
a
b b
q3
b
b
b
{q0 , q1 , q2 } {q3 }
c a, c
a
c
{q1 , q2 } {q2 } 0/
a
b b
q3
b
b
b
{q0 , q1 , q2 } {q3 }
c a, c
a
c a, b, c
{q1 , q2 } {q2 } 0/
a
b b
q3
b
b
b
{q0 , q1 , q2 } {q3 }
c a, c
a a, b, c
c a, b, c
{q1 , q2 } {q2 } 0/
a
01∗ + 0
(1 + 10)∗
(0 + 1)∗ 011
0∗ 1∗
00∗ 11∗
00∗ 11∗ Conjunto de palabras formadas por una sucesión de ceros seguida
de una suceción de unos. Niguna de las sucesiones puede ser vacía
00∗ 11∗ Conjunto de palabras formadas por una sucesión de ceros seguida
de una suceción de unos. Niguna de las sucesiones puede ser vacía
Construir una expresión regular para las palabras que contengan a 0110
como subcadena.
Construir una expresión regular para las palabras que contengan a 0110
como subcadena.
(0 + 1)∗ 0110(0 + 1)∗
Construir una expresión regular para las palabras que contengan a 0110
como subcadena.
(0 + 1)∗ 0110(0 + 1)∗
Construir una expresión regular para las palabras que contengan a 0110
como subcadena.
(0 + 1)∗ 0110(0 + 1)∗
Construir una expresión regular para las palabras que contengan a 0110
como subcadena.
(0 + 1)∗ 0110(0 + 1)∗
Construir una expresión regular para las palabras que contengan a 0110
como subcadena.
(0 + 1)∗ 0110(0 + 1)∗
0/
0/ q0
0/ q0
0/ q0
ε q0
0/ q0
ε q0
0/ q0
ε q0
q0 a q1
a
Unión (r1 + r2 )
q11
q01 M1
qi1
q12
q02 M2
q j2
Unión (r1 + r2 )
q11
q01 M1
qi1
q0
q12
q02 M2
q j2
Unión (r1 + r2 )
q11
ε
q01 M1
qi1
q0
ε
q12
q02 M2
q j2
q11 q12
q01 q02
qi1 q j2
M1 M2
Modelos de Computación ITema 2: Autómatas Finitos– p.47/88
Autómatas Compuestos: Concatenación
q11 q12
q01 q02
qi1 q j2
M1 M2
Modelos de Computación ITema 2: Autómatas Finitos– p.48/88
Autómatas Compuestos: Concatenación
q11 ε q12
q01 ε q02
qi1 q j2
M1 M2
Modelos de Computación ITema 2: Autómatas Finitos– p.48/88
Concatenación: Expresión Matemática
Q = Q1 ∪ Q2 .
δ viene definida por
δ(q, a) = δ1 (q, a) si q ∈ Q1 − F1
δ(q, a) = δ1 (q, a) si q ∈ F1 , a ∈ A
δ(q, ε) = δ1 (q, ε) ∪ {q20 } si q ∈ F1
δ(q, a) = δ2 (q, a) si q ∈ Q2
q0 = q10
F = F2 Modelos de Computación ITema 2: Autómatas Finitos– p.49/88
Autómatas Compuestos: Clausura
q11
q01 M1
qi1
q11
q01 M1
qi1
q11
ε
q0 q01 M1
qi1
Q = Q1 ∪ {q0 }, donde q0 6∈ Q1 .
δ viene definida por
δ(q, a) = δ1 (q, a) si q ∈ Q1 − F1
δ(q, a) = δ1 (q, a) si q ∈ F1 , a ∈ A
δ(q, ε) = δ1 (q, ε) ∪ {q0 } si q ∈ F1
δ(q0 , a) = 0/ si a ∈ A
δ(q0 , ε) = {q10 }
q0
F = F1 ∪ {q0 }
Modelos de Computación ITema 2: Autómatas Finitos– p.51/88
Ejemplo
1
1
q1 q2
1 0
1 0
q1 q2 q3 q4
10
1 ε 0
q1 q2 q3 q4
0
0
q5 q6
10
1 ε 0
q1 q2 q3 q4
0+10
0
q5 q6
ε
q7
ε
1 ε 0
q1 q2 q3 q4
ε (0 + 10)∗
0
q5 q6
ε
ε
q8 q7
ε
1 ε 0
q1 q2 q3 q4
ε (0 + 10)∗
0
q5 q6
ε
ε 0 ε 1 ε 1
q8 q7 q9 q10 q11 q12 q13 q14
ε 011
1 ε 0
q1 q2 q3 q4
ε
0
q5 q6
ε ε
ε 0 ε 1 ε 1
q8 q7 q9 q10 q11 q12 q13 q14
ε ε
1 ε 0 (0 + 10)∗ 011
q1 q2 q3 q4
Autómata Resultado
ε
ε
Modelos de Computación ITema 2: Autómatas Finitos– p.52/88
Autómata → Expresión Regular
Si L es aceptado por un autómata finito determinista, entonces
puede venir expresado mediante una expresión regular.
x ∈ Rk−1
ik
qi qk
...
x ∈ Rk−1
ik
qi qk
y1 ∈ Rk−1
kk . . . y m ∈ R k−1
kk
x ∈ Rk−1
ik
qi qk
y1 ∈ Rk−1
kk . . . y m ∈ R k−1
kk
k−1
k−1
x ∈ Rik z ∈ R kj
qi qk qj
y1 ∈ Rk−1 y
kk . . . m ∈ R k−1
kk
k−1
k−1
x ∈ Rik z ∈ R kj
qi qk qj
y1 ∈ Rk−1 y
kk . . . m ∈ R k−1
kk
k−1
k−1
x ∈ Rik z ∈ R kj
qi qk qj
k−1 ∗
Como la palabra y1 . . . ym ∈ Rkk ,entonces la palabra
completa está en
k−1 k−1 ∗ k−1
Rik Rkk Rk j
y1 ∈ Rk−1 y
kk . . . m ∈ R k−1
kk
k−1
k−1
x ∈ Rik z ∈ R kj
qi qk qj
k−1 ∗
Como la palabra y1 . . . ym ∈ Rkk ,
entonces la palabra
completa está en
k−1 k−1 ∗ k−1
Rik Rkk Rk j
Rkij = Rk−1
ij ∪ R k−1 k−1 ∗ k−1
ik (Rkk ) Rk j −→ rk−1
ij + r k−1 k−1 ∗ k−1
ik (rkk ) rkj
Modelos de Computación ITema 2: Autómatas Finitos– p.56/88
Demostración
L(M) = Rn1 j
[
q j ∈F
rn1j1 + . . . + rn1jk
donde F = {q j1 , . . . , q jk }.
q1 0 q2 1 q3
0 0, 1
q1 0 q2 1 q3
0 0, 1
0 =ε
r11
0 =0
r12
0 =1
r13
0 =0
r21
0 =ε
r22
0 =1
r23
0 =0
r31 /
0 = 0+1
r32
0 =ε
r33
nombre1 er1
nombre2 er2
nombrei eri
declaglobal1
declaglobal2
%%
declalocal1
declalocal2
er1 accion1;
er2 accion2;
er3 accion3;
%%
definiciones de funciones en C
car [a-zA-Z]
digito [0-9]
signo (\-|\+)
suc ({digito}+)
enter ({signo}?{suc})
real1 ({enter}\.{digito}*)
real2 ({signo}?\.{suc})
int ent=0, real=0, ident=0, sumaent=0;
%%
int i;
{enter} {ent++; sscanf(yytext,"%d",&i); sumaent += i;
printf("Numero entero %s\n",yytext);}
({real1}|{real2}) {real++; printf("Num. real %s\n",yytext);}
{car}({car}|{digito})* {ident++; printf("identificador %s\n",yytext);}
.|\n {;}
%%
yywrap()
{printf("Numero de Enteros %d, reales %d, ident %d,
Suma de Enteros %d",ent,real,ident,sumaent); return 1;}
Modelos de Computación ITema 2: Autómatas Finitos– p.65/88
Procedimiento
A→u
A→u
A→u
Expresión Regular
0(10)∗
Expresión Regular
0(10)∗
S → S10, S→0
δ([aα], a) = [α]
Modelos de Computación ITema 2: Autómatas Finitos– p.71/88
Ejemplo
Sea la gramática:
Sea la gramática:
[10A] [ε]
Sea la gramática:
ε
[S] [0A] [A]
ε
ε
[10A] [ε]
Sea la gramática:
ε 0
[S] [0A] [A]
1 ε
ε
[10A] [ε]
P0 = {A → α : A → α−1 ∈ P}
Es inmediato que L(G0 ) = L(G)−1 .
2. Sea M 0 el autómata finito no-determinista que acepta el lenguaje L(G0 ).
3. Calcular M a partir de M 0 invirtiendo el autómata:
−1 −1
El lenguaje aceptado por M es: L(M ) 0 −1
= L(G )
0 −1
= L(G) = L(G)
[1S] [01S]
0
Modelos de Computación ITema 2: Autómatas Finitos– p.74/88
Ejemplo Cont.
ε 0
[S] [0] [ε]
ε
1
[1S] [01S]
0
[1S] [01S]
0
Invertimos el autómata
ε 0
[S] [0] [ε]
ε
1
[1S] [01S]
0
Modelos de Computación ITema 2: Autómatas Finitos– p.75/88
Autómata → Gramática lineal
Si L es aceptado por un Autómata Finito Determinístico entonces L
puede generarse mediante una gramática lineal por la derecha y por
una lineal por la izquierda.
Consideremos el autómata:
q0 0 q1
1
1
0 0, 1
q2
Consideremos el autómata:
q0 0 q1
1
1
0 0, 1
q2
q2 → 0q0 , q2 → 1q1 , q2 → ε
q1 → q0 0, q2 → q0 1, q2 → q1 0, q 2 → q1 1
q0 → q2 0, q1 → q2 1, q0 → ε
Modelos de Computación ITema 2: Autómatas Finitos– p.78/88
Máquinas de Estado Finito
Máquinas de Moore: con salida asociada al estado
Máquinas de Mealy: con salida asociada a la transición
Máquinas de Moore
Una máquina de Moore es una sextupla
{(Q, A, B, δ, λ, q0 )} donde todo es igual en un AFD, excepto
B alfabeto de salida
λ : Q → B que es una aplicación que hace corresponder a cada estado su
salida correspondiente.
Si el autómata lee la cadena u y pasa por los estados q0 q1 ...qn entonces produce la
salida:
λ(q0 )λ(q1 ) . . . λ(qn )
2 α
3
4
β
q0
(V, R,V, R)
q0
(V, R,V, R)
(1, 0)
q3
(V, R, A, R)
(1, 0)
q3
(V, R, A, R)
q4
(V,V, R, R)
(1, 0)
q3
(V, R, A, R)
q4
(V,V, R, R)
(1, 0)
(0, 0), (1, 0)
q3 q5
(V, R, A, R) (R, R, R, A)
q4
(V,V, R, R)
q4
(V,V, R, R)
A
(1, 0), (1, 1)
q4
(V,V, R, R)
A
(1, 0), (1, 1)
q6 q4
(V, A, R, R) (0, 0) (V,V, R, R)
A
(1, 0), (1, 1)
q6 q4
(V, A, R, R) (0, 0) (V,V, R, R)
A
(1, 0), (1, 1)
q6 q4 (0, 1) q7
(V, A, R, R) (0, 0) (V,V, R, R) (A, A, R, R)
A
(1, 0), (1, 1)
q6 q4 (0, 1) q7
(V, A, R, R) (0, 0) (V,V, R, R) (A, A, R, R)
0/0 1/0
q0 q1
1/1
0/1 0/0
q2
1/1
Ejemplo
0 1
1
q0 /1 q1 /0
0
Ejemplo
0 1
1 0/1 1/0 1/0
q0 /1 q1 /0 q0 q1
0 0/1
Q0 = Q × B
δ0 ((q, b), a) = (δ(q, a), λ(q, a))
λ0 (q, b) = b
q00 = (q0 , b), donde b ∈ B, cualquiera.
q2
1/1
q2
1/1
q2
0 1/1
q2
0 1/1
q2
0 1/1