Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema 3 Autómatas Finitos
Tema 3 Autómatas Finitos
Teoría de Lenguajes y
Autómatas
Autómatas Finitos
2
4
¿Por qué estudiar la Teoría de Autómatas?
5
Autómata Finito
Determinista
AUTÓMATA FINITO DETERMINISTA (AFD)
A=(Q,Σ,δ,q0,F)
● Es aquel que solo puede estar en un único estado después de leer
cualquier secuencia de entradas.
● Determinista implica que para cada entrada sólo existe uno y sólo
un estado al que el autómata puede hacer la transición a partir de
su estado actual.
7
A=(Q,Σ,δ,q0,F) AFD
Estados
Conjunto de Estado finales
de estados inicial
Alfabeto Función de
transición
:Q → Q
Σ a b a
b a q1 b
q0 q1 q0
Q q1 q1 q2 q0 b
q2
a
q2 q2 q2
¿Cómo procesa las cadenas un AFD?
9
Ejemplo:
10
Especificación del AFD
11
Especificación del AFD
● Especificación: A = 𝑞0 , 𝑞1 , 𝑞2 , 0,1 , 𝛿, 𝑞0 , 𝑞1
12
Diagrama de transiciones (grafo).
13
Tabla de transiciones
0 1
● Del
→ ejemplo
𝒒𝟎 anterior:𝒒𝟐 𝒒𝟎
∗ 𝒒𝟏 𝒒𝟏 𝒒𝟏
𝒒𝟐 𝒒𝟐 𝒒𝟏
14
¿Qué define un AFD?
15
Extensión de 𝜹
Estado en el que A se
encuentra después de procesar
A=(Q,Σ,δ,q0,F) todos los símbolos excepto
el último de la cadena w.
17
Solución:
● Se determinan cuatro estados:
■ 𝒒𝟎 : Número de 0s y 1s leídos es par.
■ 𝒒𝟏 : Número de 0s leídos es par, pero de 1s es impar.
■ 𝒒𝟐 : Número de 1s leídos es par, pero de 0s es impar.
■ 𝒒𝟑 : Número de 0s y 1s leídos es impar.
● Donde:
■ 𝒒𝟎 es el estado inicial y estado de aceptación único (Antes de leer
cualquier cadena, no hay 0s ni 1s. Cero es par). Describe de forma
exacta la condición para que una secuencia de 0s y 1s ∈ al
lenguaje L
● Especificación del AFD para el lenguaje L:
A = 𝑞0 , 𝑞1 , 𝑞2 , 𝑞3 , 0,1 , 𝛿, 𝑞0 , 𝑞0
18
Diagrama de transición y tabla de transiciones
0 1
∗→ 𝒒𝟎 𝒒𝟐 𝒒𝟏
𝒒𝟏 𝒒𝟑 𝒒𝟎
𝒒𝟐 𝒒𝟎 𝒒𝟑
𝒒𝟑 𝒒𝟏 𝒒𝟐
19
Comprobación
20
El lenguaje de un AFD
Es decir:
● El lenguaje de A es el conjunto de cadenas w que parten del estado
inicial q0 y van hasta uno de los estados de aceptación.
● Si L es L(A) para un determinado AFD A, entonces decimos que L es un
lenguaje regular.
21
Autómata Finito No
Determinista
22
Autómata Finito No Determinista
23
Autómata Finito No Determinista
24
AUTÓMATA FINITO NO DETERMINISTA (AFN)
A=(Q,Σ,δ,q0,F)
● Al igual que el AFD está formado por una quíntupla de elementos.
● Donde:
○ Q: conjunto finito de estados.
○ Σ: un alfabeto, conjunto finito de símbolos de entrada.
○ q0: un elemento de Q, estado inicial.
○ F, un subconjunto de Q, conjunto de estados finales (o de aceptación).
○ δ , la función de transición, es una función que toma como argumentos un estado de
Q y un símbolo de entrada de Σ y devuelve un subconjunto de Q.
● La única diferencia entre un AFN y un AFD se encuentra en el tipo de valor que devuelve
δ : un conjunto de estados en el caso de un AFN y un único estado en el caso de un AFD.
25
Ejemplo: Los movimientos del tablero de ajedrez
26
Ejemplo: Tablero de ajedrez – (2)
1 2 3
r b
1 2,4 5
2 4,6 1,3,5
4 5 6
3 2,6 5
4 2,8 1,5,7
7 8 9
5 2,4,6,8 1,3,7,9
6 2,8 3,5,9
r b b 7 4,8 5
1 2 1 5 8 4,6 5,7,9
4 3 1 * 9 6,8 5
5 3
7 7
28
Lenguaje de un AFN
29
Ejemplo de AFN
● Conjunto de todas las cadenas con dos a’s consecutivas o dos b’s consecutivas:
1 2 3
4 5 6
7 8 9
31
Equivalencia entre un AFD y un AFN
32
Equivalencia entre un AFD y un AFN
33
Construcción de subconjuntos
34
Construcción de subconjuntos
35
Ejemplo: Construcción de subconjuntos
r b
r b
1 2,4 5 {1} {2,4} {5}
3 2,6 5 {5}
4 2,8 1,5,7
5 2,4,6,8 1,3,7,9
6 2,8 3,5,9
7 4,8 5
8 4,6 5,7,9
* 9 6,8 5
36
Ejemplo: Construcción de subconjuntos
r b
r b
1 2,4 5 {1} {2,4} {5}
3 2,6 5 {5}
6 2,8 3,5,9
7 4,8 5
8 4,6 5,7,9
* 9 6,8 5
37
Ejemplo: Construcción de subconjuntos
r b
r b
1 2,4 5 {1} {2,4} {5}
7 4,8 5
8 4,6 5,7,9
* 9 6,8 5
38
Ejemplo: Construcción de subconjuntos
r b
r b
1 2,4 5 {1} {2,4} {5}
39
Ejemplo: Construcción de subconjuntos
r b
r b
1 2,4 5 {1} {2,4} {5}
7 4,8 5 * {1,3,5,7,9}
8 4,6 5,7,9
* 9 6,8 5
40
Ejemplo: Construcción de subconjuntos
r b
r b
1 2,4 5 {1} {2,4} {5}
7 4,8 5 * {1,3,5,7,9}
8 4,6 5,7,9
* 9 6,8 5
41
Ejemplo: Construcción de subconjuntos
r b
r b
1 2,4 5 {1} {2,4} {5}
42
Ejemplo: AFD resultante
44