Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UNIDAD 3. AUTOMATAS
FINITOS
Objetivos
Alcance
Desarrollo del
tema Resumen
Ejercicios
2
Objetivo
s Definir que son los Autómatas finitos
Autómatas Finitos Determinísticos.
Autómatas Finitos No Determinísticos.
Establecer las formas de representar los
Autómatas.
Definir las propiedades de los Autómatas
3
Alcances
Autómatas Finitos Deterministas.
Definición.
Estados
Tabla de transición
Diagrama de Transición
4
Autómatas finitos
5
Autómatas Finitos
También llamado máquina de estado finito.
Es un modelo matemático que recibe una cadena de
símbolos de un alfabeto y determina si la cadena
pertenece al lenguaje que el autómata reconoce.
Puede reconocer o traducir una cadena de símbolos
7
Autómata Finito
Es una máquina que interpreta expresiones
regulares, y reconoce cadenas de entrada
8
Autómata Finito
Inspecciona cada símbolo de la
cadena comparándola con una
tabla de transiciones y el
estado actual en que se
encuentra, si es reconocido
cambia su estado y se mueve
una celda hacia la derecha,
Cabeza Lectora
hasta que reconoce todos los
elementos de la cadena.
Cinta lectora
9
Autómata Finito
La cadena se divide en Celdas de memoria para
almacenar.
Los estados son la memoria de los autómatas.
Cuando finaliza la cadena, acepta o rechaza la
cadena, dependiendo de procesamiento.
10
Diseño de Autómatas Finitos
Establecer un conjunto de estados que
“memoricen” condiciones importantes
11
Diseño de Autómatas Finitos
Algunos errores al momento de
construir cualquier autómata:
Aceptar cadenas que no se
debería aceptar , pues no están
definidas.
12
Notación
Descripción abstracta
Tabla de transición
13
Autómata Finito
Descripción Abstracta
Se define por medio del quinteto
(Q, Σ, q0, A, ) donde:
Q es un conjunto finito (de estados)
Σ es un alfabeto (finito) de símbolos
q0 Є Q (El estado inicial)
A Q (El conjunto de estados
aceptores)
es una función de transición
14
Ejemplo
aaa
b
Este autómata
a acepta la cadena
a q1
aaa, pero podría
aceptar mas
cadenas....generad
q2
as para este
autómata en sus
q0
diferentes estados
mientras e
a cumplan las reglas
para construcción
q3 de autómatas.
Diagrama de Transiciones
Define el flujo de un
autómata
Los estados son nodos
Las transiciones son arcos
16
Tabla de Transición
Generado a través de un producto cartesiano de los
estados y los símbolos del alfabeto.
Donde → es el estado inicial
* es un estado de aceptación
Σ 0 1
Q
→A A B
B A C
*C A c
17
Autómatas finitos Determinísticos
Definición, Propiedades,
Ejemplos
18
Autómata Finito Determinístico
También es llamado AFD o en sus siglas en inglés
DFA
Deterministic finite automata.
Puede detectar símbolos conforme llegan y se basa
en el estado actual y el símbolo recibido, ejecutar
una transición.
Tiene un número finito de estados.
19
Autómata Finito Determinístico
Los Autómata Finito Determinista no debe
tener ambigüedades.
El diagrama de transición cada arco posee solo un
símbolo del alfabeto, al salir de un estado.
20
DFA ---Autómata Finito Determinístico
Definició
n Se define por medio del quinteto
(Q, Σ, q0, A, ) donde:
Q es un conjunto finito (de
estados)
Σ es un alfabeto (finito) de
símbolos
q0 Є Q (El estado inicial)
A Q (El conjunto de estados
aceptores)
es una función de transición
QxaQ
21
DFA ---Autómata Finito Determinístico
Función de Transición
Para todo q Є Q & a Є Σ, (q, a) = p
es decir, existe un estado p al que se mueve al
estar en el estado q, y lee el carácter a.
Una transición: (q, a, q0) Є Q normalmente se
describe q q0
22
Algoritm
oentradaen el estado Inicial, y en el primer símbolo de
Inicia
q = estado actual
s = símbolo actual en la
cinta Mientras (s! =
blanco) haga
q = (q, s)
s = siguiente símbolo a la derecha en la
cinta entonces si qn = Estado Final
Acepta
sino
23 No Acepta
Notación General DFA
Estado
Estado Inicial
Estado de
Aceptación
Transición
24
Ejemplos de transformación
ER –DFA , Tablas Transición – DFA, Definición LR
- DFA
25
Transformación ER -
DFA
a*
a+
26
Transformación ER -
DFA
ac*b
ac+b
27
Transformación ER -
DFA
Otro ejemplo
bc*d | h | ae
28
Transformación ER -
DFA
A partir de una expresión regular bb|
(a(ba)*)*
Iniciando por
bb|(a(ba)*)*
Tomando en cuenta
que al completar la
cadena bb puede
llegar a un estado
29 final.
Expresión Regular -
DFA en cuenta la utilización de paréntesis se
Tomando
define la secuencia (ba)*
bb|(a(ba)*)*
30
Expresión Regular -
DFA
Para finalizar, la secuencia (a
(..) )*
31
Generación de DFA a partir de
Definiciones LR
Al ser los DFA reconocedores de LR, puede generarse
un DFA a partir de definiciones de lenguaje como:
Cadenas terminadas en 00
32
Definición LR - DFA
Transformación
Cadenas terminadas en
00
33
Reconocimiento de Cadenas
Por los estados de
DFA
34
Reconocimiento de Cadenas
El autómata parte de un estado inicial y
solamente reconocerá la cadena, si esta
termina en un estado de aceptación.
Si no es así no se reconoce la
cadena Comprobar:
aaab
bbba
35
Comprobando
Comprobando la cadena:
aaab
q q0 1
36
Comprobando
Comprobando la cadena:
aaab
q a
q q
1
0 1
q2 a
37
Comprobando
Comprobando la cadena:
aaab
q a
q q
1
0 1
qq2 2 a
q 2 a
38
Comprobando
Comprobando la cadena:
aaab
q a
q q
1
0 1
q q
2 2 a
q 2 a
q
2 b
q2
40
Comprobando
Comprobando la cadena:
bbba
1
q
qq
0 1
b
q1 b
41
Comprobando
Comprobando la cadena:
q0bbba b
q q
1 1 b
q 1 b
q
1
q1
42
Comprobando
Comprobando la cadena:
bbba
qq
0
1
q 1
b
q q
1 1 b
q 1 b
q
1
a
q1
q1 NO ES estado de aceptación, no es
aceptada por DFA
43
Gramática Regular -
AFD de la una gramática se puede construir un
Partiendo
diagrama de Moore que represente el AFD.
Identificadores, ER: L(L|D)*
<ID> <Letra> <COMP>
<COMP> <Letra> <COMP>
| <Num> <COMP>
|λ
<Letra> a|b|c|…|z
<Num> 0|1|2|…|9
44
Construcción
AFD de la definición del ID
Partimos
(Identificador)
45
Construcción
AFD
Se debe tomar en cuenta que cuando reciba
cualquier otro símbolo, (puede ser espacio) se
terminara de reconocer.
46
Evaluación
AFD la cadena var1;
Evaluando al llegar a “;” se
finaliza el reconocimiento definiendo al
identificador como var1
47
Autómatas finitos no
Determinísticos
Definición, Propiedades, Algoritmo de
Thompson
48
Autómata Finito No
Determinístico
Los Autómata Finito No Determinista puede
tener ambigüedades.
Los estados pueden tener una o mas
transiciones con diferentes símbolos del
lenguaje.
El autómata acepta una palabra si existe al menos un
camino desde el estado q0 a un estado final con la
palabra de entrada.
Acepta transiciones con cadenas vacias (λ)
49
Definició
n Se define por medio del quinteto
(Q, Σ, q0, A, ) donde:
Q es un conjunto finito (de
estados)
Σ es un alfabeto (finito) de
símbolos
q0 Є Q (El estado inicial)
A Q (El conjunto de estados
aceptores)
es una función de transición
*: Q x Σ* → 2Q
50
Construcción de
AFND
Tabla de Transiciones, Expresión Regular,
Gramática
51
Construcción de
AFND
Puede partir desde una tabla de transiciones,
generando un diagrama de Moore.
A través de una expresión regular, generando un
diagrama de Moore.
Por medio de una gramática regular.
52
Tabla de Transición –
AFND Ejemplo 1
A partir de la definición (Q, Σ, q0, A, ) donde:
Q= {0,1,2,3}
Σ ={a, b}
q0 =0
A={3}
Genere el Diagrama de Moore que representa al AFND a
partir de la tabla de transiciones
Σ
a b
Q
0 1,2 -
1 - 1,3
2 2 3
3 3 -
53
Construcción
AFND
El estado de aceptación
es q3
Diagrama de Moore
54
AFND – Expresión
Regular
A partir del AFND se puede deducir la
expresión o las expresiones asociadas a este.
a b* b a* | a a* b a*
55
AFND – Expresión
Regular
A partir del AFND se puede deducir la
expresión o las expresiones asociadas a este.
a b* b a* | a a* b a*
Factorizando
a ( b*b| a*b) a*
56
AFND – Expresión
Regular
A partir del AFND se puede deducir la
expresión o las expresiones asociadas a este.
a b* b a* | a a* b a*
Factorizando
a ( b*b| a*b) a*
Factorizando
a ( b*|a*) b a*
57
Otro Ejemplo
Se tiene el siguiente AFND, cual sera el lenguaje
aceptado?
a b q2 q3
q0 q1
58
Evaluando la cadena de entrada “ab”
a b
a q1 b q2 q3
q0
59
Evaluando la cadena de entrada “ab”
a b
a q1 b q2 q3
q0
60
Evaluando la cadena de entrada “ab”
a b
Acepta la cadena
a q1 b q2 q3
q0
61
Evaluando otra cadena “abab”
a b a b
a b
q0 q1 q2 q3
62
Evaluando otra cadena “abab”
a b a b
a b
q0 q1 q2 q3
63
Evaluando otra cadena “abab”
a b a b
a b
q0 q1 q2 q3
64
Evaluando otra cadena “abab”
a b a b
a b
q0 q1 q2 q3
65
Evaluando otra cadena “abab”
a b a b
a b
q0 q1 q2 q3
66
Evaluando otra cadena “abab”
a b a b
a b
q0 q1 q2 q3
67
a b a b
La cadena es aceptada
a b
q0 q1 q2 q3
68
Lenguaje Aceptado
a q1 b q2 q3
q0
69