Unidad III.-Automatas Finitos
Unidad III.-Automatas Finitos
Unidad III.-Automatas Finitos
2021
M= <Q,Σ,δ,q0,F>
Donde:
Q es el conjunto de estados de M.
Σ es el alfabeto d entrada de M.
δ es la tabla de transición de M . δ: Q x (Σ ⋃ {ε } ) → Q
q0 es el estado inicial de M.
F es el conjunto de estados de aceptación de M.
Por ejemplo:
Notación formal.
M= <Q,Σ,δ,q0,F>
Donde:
Q={q0,q1,q2,q3}
Σ={0,1}
F={q0}
q0=q0
δ=tabla de transición
Entradas (Σ )
Estados 0 1
q0 {q2} {q1}
q1 {q3} {q0}
q2 {q0} {q3}
q3 {q1} {q2}
Autómata finito en representación grafica
Una maquina de estado finito puede representarse gráficamente
mediante un grafo llamado diagrama de transición ( D ) con las
siguientes características:
q0 q1
0 0 0
0
q2 q3
1
Análisis de la entrada a través de un autómata
finito.
1
q0 q1
0 0 0
0
q2 q3
1
Entrada: 001010
q0 q1
0 0 0
0
q2 q3
Entrada: 11100
q2
q1
a
c
q0 c
b
a
b
q3 q4
Autómatas finito determinista
q2
q1
a
c
q0 c
b
c
a
q3 q4
Autómatas finito con transiciones-ε
q2
q1
a
c
q0 c
b
ε
ε
q3 q4
3.3. Conversión de un AFND a AFD
Teorema de conversión
q2
q1
a
c
q0 c
b
a
b
q3 q4
Paso 1.
Paso 2
Paso 3
Paso 4
Paso 5
c
a
qA qB
c
c
qD qE
c
3.4.- Representación de ER usando
AFND
La expresión regular es conceptual y los autómatas son “maquinas”
el termino maquina los acerca a una implementación real solamente
el concepto.
∅ q0 f0
ε
ε q0 f0
a
a q0 f0
Las primitivas se aplican a la construcción de las operaciones para
las expresiones regulares.
Expresión regular
operación
Unión
M1|M2 AFND
q1 M1 f1
ε ε
q0 f0
ε ε
q2 M2 f2
Expresión regular
operación
Concatenación
M1M2
AFND
ε
q1 M1 f1 q2 M2 f2
Expresión regular
operación
Cerradura estrella
M1*
AFND
ε
ε ε
q0 q1 M1 f1 f0
ε
Por ejemplo:
ER: ab
q0 a q1
ε q2
b q3
ER: ab|cd
q1 a ε b
ε
q2 q3 q4 ε
q0 q9
ε q5 c q6
ε q7
d q8 ε
ER: (ab|cd)*
ε
q2 a q3
ε b
ε q4 q5
ε
ε q6 ε q11
q0 q1
ε q7 c q8 ε d q10
ε
q9
ε
3.5. Minimización de estados de
un AF
Dos estados de un autómata finito determinista son estados
equivalentes si al unirse en un sólo estado, pueden reconocer el
mismo lenguaje regular que si estuviesen separados. Esta unión de
estados implica la unión tanto de sus transiciones de entrada como
de salida. Si dos estados no son equivalentes, se dice que son
estados distinguibles. Un estado final con un estado no-final nunca
serán equivalentes.
Por ejemplo :
b 5
Estados a b
a
1 - 1 2 3
a b
2 2 2 4
b
b
a 3 2 3
a
4
a 4 2 5
3
(5) 2 1
b
El autómatas finito determinista mínimo asociado, se puede
construir mediante el algoritmo de la manera siguiente:
Paso 1
a - 1 2 3
1
a b 2 2 4
2
b
b 3 2 3
a
a
4 4 2 5
a
3
Estados finales
Estados a b
b
(5) 2 1
Paso 4
- 1
b 5 2
a 3
1
a b
2
b Estados no finales
b
a
a Estados a b
4
a
3 4
b Estados finales
Estados a b
(5)
Paso 5
- 1 2 3
b 5 2 2 4
a 3 2 3
1
a b
2
b Estados no finales
b
a
a Estados a b
4
a
3 4 2 5
b Estados finales
Estados a b
(5) 2 1
Y observamos nuevamente que el estado 2 se comporta
diferente al resto de los estados en su subconjunto, por lo tanto
aplicamos le regla del paso 4 y separamos el estado 2 creando
un nuevo subconjunto.
- 1 2 3
3 2 3
b 5
a Estados no finales
1
a b Estados a b
2
b 2 2 4
b
a
a
4 Estados no finales
a
3 Estados a b
4 2 5
b
Estados finales
Estados a b
(5) 2 1
Como no se reflejan cambios a la hora de aplicar el paso 3, hemos
llegado al final de los procedimientos a seguir, por lo tanto tenemos
nuestro autómatas mínimo.
Estados no finales
Estados a b
- 1 2 3
3 2 3
b 5
a Estados no finales
1
a b Estados a b
2
b 2 2 4
b
a
a
4 Estados no finales
a
3 Estados a b
4 2 5
b
Estados finales
Estados a b
(5) 2 1
Paso 6
b 5 - 1 2 3
3 2 3
1,3 a
a Estados no finales
b
2 Estados a b
b
b
2 2 4
a a
4 Estados no finales
Estados a b
4 2 5
Estados finales
Estados a b
(5) 2 1
3.6. Aplicaciones (definición de
un caso de estudio)