Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Autómatas Finitos
LR ER
GR L-AFND AFND
AFD
mini
GR GR mo
G-AFND AFD
I D
2
Autómatas Ingeniería Matemática. Curso 3º
TEMA 4. Lenguajes Regulares y
Autómatas Finitos
3
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos
Introducción. Ejemplo sencillo: un interruptor
4
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos
La siguiente figura muestra gráficamente la situación.
Se llama automata finito porque el umero de estados debe ser finito
pulsar
pulsar
5
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos
El análisis del comportamiento del autómata del
interruptor sugiere dividir la descripción formal
del mismo en dos partes:
– Entradas (externas),
• Que representan los estímulos del exterior a los que
puede reaccionar el autómata.
– Estados (internos) y transiciones,
• Los estados representan las diferentes situaciones en las
que se puede encontrar el autómata. En el caso del
interruptor: encendido y apagado
• Las Transiciones representan el cambio del autómata de
un estado a otro debido a las entradas.
6
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos
8
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos
9
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos
• Otra visión de un autómata:
– una cinta de entrada
– un dispositivo señalador
– un dispositivo “indicador de estado”
– un mecanismo de control (programa de la máquina), evalúa δ
Cinta de entrada
∙∙∙
Cabeza de lectura
Dirección de movimiento de la
cabeza
Indicador de estado
1
4 2
3
Mecanismo de control
10
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos
11
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos
• Observaciones:
1) L(M) está formado por todas las cadenas
aceptadas por M¸ y no un conjunto de cadenas que
son todas aceptadas por M
2) Si F = , L(M) = y si F = Q, L(M) = Σ*
12
Autómatas Ingeniería Matemática. Curso 3º
Representación de AF’s
b) Diagrama de transiciones
15
Autómatas Ingeniería Matemática. Curso 3º
Autómatas finitos
Diagrama de transición del ejemplo
• A continuación se muestra parte del diagrama de la función de
transición del ejemplo.
p e p e
q0 p pe pep pepe
Esta primera parte del ejemplo permite extraer una “técnica de diseño generalizable”
NOTA: ¿qué le falta al gráfico para ser un AFD?
16
Autómatas Ingeniería Matemática. Curso 3º
Autómatas finitos
Tabla de transición del ejemplo
p e
→q0 p
p pe
pe pep
pep pepe
*pepe
17
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos
Ejemplo (cont.)
• Esto no es suficiente para definir por completo el autómata. La
función de transición debe especificar estados para todas las
combinaciones posibles de estados y símbolos de entrada. La tabla
mostraba 6 casillas vacías:
– Cuando el autómata se encuentra en el estado inicial, si recibe la letra e,
puede afirmar que no va a poder reconocer la palabra pepe porque empieza
por una letra (p) distinta a la recibida.
– Lo mismo pasa cuando se está en el estado p y se recibe otra p, no se podrá
terminar con éxito ya que pepe no comienza por pp.
– Y la situación es la misma para las casillas (pe,e) y (pep,p).
– Desde el estado final, ya que el autómata sólo está interesado en reconocer
la palabra pepe, y no las palabras que comiencen con pepe, cualquier otro
símbolo que la siga debe implicar que el autómata no termina con éxito.
• Se puede añadir un estado de error (qe) que recoja los descritos
anteriormente:
– Este estado recoge las transiciones no exitosas de los demás.
– También es necesario especificar qué pasa cuando desde este estado, se
reciben símbolos de entrada: resulta claro que, producida una situación de
error, no hay ningún símbolo que pueda hacer que el autómata termine con
éxito.
18
Autómatas Ingeniería Matemática. Curso 3º
Diagrama de transición del ejemplo (completo)
p e p e
q0 p pe pep pepe
e p e p
p,e
qe
Estado sumidero qe:
estado desde el que el
AFD no puede llegar a un p,e
estado de aceptación 19
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos
Tabla de transición del ejemplo (tabla completa)
p e
→q0 p qe
p qe pe
pe pep qe
pep qe pepe
*pepe qe qe
q e qe qe
20
Autómatas Ingeniería Matemática. Curso 3º
Autómatas finitos
Ejemplo: tratamiento de palabras. Procesamiento de entradas
p e p e
estado inicial
p e p e estado de aceptación
q0 p pe pep pepe
e p e p
p,e
qe
p,e 21
Autómatas Ingeniería Matemática. Curso 3º
Autómatas finitos
Ejemplo: tratamiento de palabras. Procesamiento de entradas
p e p e
p e p e
q0 p pe pep pepe
e p e p
p,e
qe
p,e 22
Autómatas Ingeniería Matemática. Curso 3º
Autómatas finitos
Ejemplo: tratamiento de palabras. Procesamiento de entradas
p e p e
p e p e
q0 p pe pep pepe
e p e p
p,e
qe
p,e 23
Autómatas Ingeniería Matemática. Curso 3º
Autómatas finitos
Ejemplo: tratamiento de palabras. Procesamiento de entradas
p e p e
p e p e
q0 p pe pep pepe
e p e p
p,e
qe
p,e 24
Autómatas Ingeniería Matemática. Curso 3º
Autómatas finitos
Ejemplo: tratamiento de palabras. Procesamiento de entradas
p e p e
p e p e
q0 p pe pep pepe
e p e p
p,e
qe
p,e 25
Autómatas Ingeniería Matemática. Curso 3º
Autómatas finitos
Ejemplo: tratamiento de palabras. Procesamiento de entradas
p e e e
p e p e
q0 p pe pep pepe
e p e p
p,e
qe
p,e 26
Autómatas Ingeniería Matemática. Curso 3º
Autómatas finitos
Ejemplo: tratamiento de palabras. Procesamiento de entradas
p e e e
p e p e
q0 p pe pep pepe
e p e p
p,e
qe
p,e 27
Autómatas Ingeniería Matemática. Curso 3º
Autómatas finitos
Ejemplo: tratamiento de palabras. Procesamiento de entradas
p e e e
p e p e
q0 p pe pep pepe
e p e p
p,e
qe
p,e 28
Autómatas Ingeniería Matemática. Curso 3º
Autómatas finitos
Ejemplo: tratamiento de palabras. Procesamiento de entradas
p e e e
p e p e
q0 p pe pep pepe
e p e p
p,e
qe
como acaba en un estado de no aceptación rechaza
p,e 29
Autómatas Ingeniería Matemática. Curso 3º
Autómatas finitos
Ejemplo: tratamiento de palabras. Procesamiento de entradas
p e e e
p e p e
q0 p pe pep pepe
e p e p
p,e
qe
p,e 30
Autómatas Ingeniería Matemática. Curso 3º
Representación de AF’s
Más Ejemplos:
δ: QxΣ → Q
(q0, a) → q0
(q0, b) → q1
(q1, a) → q1
(q1, b) → q0
¿Lenguajes aceptado?
L(M) = { ω Σ* / ω tiene un número par de b’s }
31
Autómatas Ingeniería Matemática. Curso 3º
Representación de AF’s
Más Ejemplos:
δ: QxΣ → Q
(q0, a) → q0
(q0, b) → q1
(q1, a) → q1
(q1, b) → q0
• Demostración:
|
Sea p accesible desde q. Entonces, existe y Σ* tal que
δ*(q, y) = p.
• Si |y| < n, ya está probado.
• Si |y| > n-1, entonces el AF pasará por 1 + |y| estados
desde q hasta p, contando el punto de partida y el
final. Como el número total de estados es n, y |y| > n-
1, se sigue que 1 + |y| > n, por lo que necesariamente
tiene que pasar más de una vez por un mismo estado.
36
Autómatas Ingeniería Matemática. Curso 3º
Estados accesibles
39
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos No Deterministas
40
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos No Deterministas
Δ: q0 a q1 b q2
Δ a b
{q1, a
q0 q4}
{q3}
q1 {q2} q4
b
*q2
b
*q3
q3
*q4 {q4}
41
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos No Deterministas
42
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos No Deterministas
ALGORITMO PARA LA TRANSICIÓN DE UN AFND A
UN AFD CONEXO
Sean , ,
Dónde q0 es el estado inicial del AFND y (Q) es el conjunto partes de Q.
repetir
q A’ repetir
x Σ repetir
Δ(x,q) = δ (x,q) = p
Si Δ(x,q)=p ^ p R entonces
A = A {p}
R = R \ {p}
fin si
fin repetir
fin repetir
fin repetir
43
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos No Deterministas
44
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos No Deterministas
Ejemplo1: Considérese el AFND
A=(Q={q0, q1, q2}, Σ={0,1}, δ, q0, F={q2})
donde la tabla de δ es el siguiente:
• λ-transiciones
– Transiciones de un estado a otro que no dependen de
ninguna entrada (no consumen ningún símbolo de entrada)
a
q0
λ q1 b q2
a
b
q4
q3
52
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos No Deterministas
ALGORITMO PARA LA TRANSICIÓN DE UN λ-AFND
A UN AFD CONEXO
Sean
, ,
Dónde q0 es el estado inicial del AFND y (Q) es el conjunto partes de Q.
repetir
q A’ repetir
x Σ repetir
δ (x,q) = λ-c(d(λ-c(q),x)) = p
Si Δ(x,q)=p ^ p R entonces
A = A {p}
R = R \ {p}
fin si
fin repetir
fin repetir
fin repetir
53
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos No Deterministas
Ejemplo: A=(Q={q0,q1,q2,q3,q4,q5},Σ={0,1,...,9,+,-, .},δ,q0,F={q5})
Donde δ queda representado en el diagrama:
54
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos No Deterministas
Ejemplo: cálculo de las lambda-cerraduras
55
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos No Deterministas
Ejemplo: cálculo del AFD equivalente
56
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos No Deterministas
Ejemplo: cálculo del AFD equivalente
57
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos No Deterministas
Ejemplo: cálculo del AFD equivalente
58
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos No Deterministas
Ejemplo: cálculo del AFD equivalente
59
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos No Deterministas
Ejemplo: cálculo del AFD equivalente
60
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos No Deterministas
Ejemplo: cálculo del AFD equivalente (se omite el estado sumidero)
61
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos No Deterministas
q0 a q1 b q2 q0 ab q1
🡺
62
Autómatas Ingeniería Matemática. Curso 3º
Autómatas Finitos No Deterministas
63
Autómatas Ingeniería Matemática. Curso 3º
Máquinas secuenciales
• Teorema 4.2 : Sea M un AF. Entonces existe un AF
M’ equivalente a M con un único estado de
aceptación.
• Notación: Se puede representar un AF como una
CAJA con un círculo inicial y un cuadrado al final:
M λ M
64
Autómatas Ingeniería Matemática. Curso 3º
Máquinas secuenciales
ER = a
ER = λ
ER = a*
(cero o mas
repeticiones
Autómatas de a) Ingeniería Matemática. Curso 3º
Conceptos de AFND
ER = a+ = aa*
(una o mas
repeticiones de a)
a+b
ER = a|b
(Alternativa)
ER = a? = a|λ
(cero o una
instancia de a)
ER = ab
(Concatenación)
r.s
r|s
r*
– No existen λ-transiciones.
No hay que probar varias posibilidades en cada estado.
2
a λ
λ a b b
0 1 4 5 6 7 8
b
3 λ λ
2
a λ
λ a b b
0 1 4 5 6 7 8
b
3 λ λ
Símbolo de Entrada
Estado
a b
A B C
B B D
C B C
D B E
E B C
– Algoritmo.
1. Se construye una partición inicial P del conjunto de
estados con dos grupos: Estados de aceptación F y
estados de no-aceptación S-F.
Autómatas
fin Ingeniería Matemática. Curso 3º
Autómatas Finitos Deterministas
Minimización de un AFD
• Minimización de estados de un AFD.
– Algoritmo (cont.).
Símbolo de Entrada
Estado
a b
A B C
B B D
C B C
D B E
E B C
Símbolo de Entrada
Estado
a b
A B A
B B D
D B E
E B A
a) λ
λ
a) a
a
86
Autómatas Ingeniería Matemática. Curso 3º
ER => λ-AFND
λ Mα λ
b) α+β
λ Mβ λ
b) α•β
Mα λ Mβ
b) α* λ
λ λ
Mα
λ
87
Autómatas Ingeniería Matemática. Curso 3º
Teorema de síntesis de Kleene
Ejemplo: La siguiente expresión regular es equivalente al siguiente AFND:
(ba* )*
88
Autómatas Ingeniería Matemática. Curso 3º
Teorema de análisis de Kleene
a
a,b
b
q5
b a,b
q3 a q4
90
Autómatas Ingeniería Matemática. Curso 3º
Tª de análisis de Kleene
x0 = a x0 + b x1
a
x1 = λ
Tª de análisis de Kleene
Ejemplo Teorema de análisis de Kleene
x0 = (b+ab*a)*ab*b(a+b)*
Autómatas Ingeniería Matemática. Curso 3º
2.5. La clase de los lenguajes regulares
Demostración: (ejercicio) 96
Autómatas Ingeniería Matemática. Curso 3º
2.6. Problemas de decisión de los lenguajes
regulares
– ¿Es L vacío?
– ¿Es L finito / infinito?
– ¿Es L regular?
– ¿w L?
97
Autómatas Ingeniería Matemática. Curso 3º
2.6. Problemas de decisión de los lenguajes
regulares
99
Autómatas Ingeniería Matemática. Curso 3º
Esquema general de la asignatura
LR ER
GR L-AFND AFND
AFD
mini
GR GR mo
G-AFND AFD
I D
100
Autómatas Ingeniería Matemática. Curso 3º