Está en la página 1de 69

Teoría de Autómatas

UNIDAD 3. AUTOMATAS
FINITOS

Ing. Leticia Méndez Blanco


1
Contenidos

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

Transformación ER-DFA, Tabla de Transición-DFA y


LR-DFA
Reconocimiento de Cadenas

4
Autómatas finitos

Definición, Propiedades, Ejemplos

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

Este autómata finito está definido sobre el alfabeto Σ={0,1}, posee


dos estados s1 y s2, y sus transiciones son δ(s1,0)=s2, δ(s1,1)=s1,
δ(s2,0)=s1 y δ(s2,1)=s2. Su estado inicial es s1, que es también su
6 único estado final.
Autómatas Finitos
Los autómatas a través de una entrada de símbolos
cambia de estados.
Por ejemplo un video, donde cada entrada
modifica el estado del video.

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

Establecer correctamente cual es el estado


inicial y los estados de aceptación

Establecer las transiciones que permiten pasar de un


estado a otro

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.

No aceptar todas las cadenas que


debe de aceptar.

12
Notación
 Descripción abstracta

 Tabla de transición

 Diagrama de transiciones (Diagrama de


Moore)

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
QxaQ
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+

Cerradura de Kleene Cerradura de Positiva

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)*

Por estar contenida en


una cerradura, indica
que puede o no venir,
por lo que q3 es un
estado de aceptación

bb|(a(ba)*)*

30
Expresión Regular -
DFA
Para finalizar, la secuencia (a
(..) )*

Parte del estado inicial


con una transición a, y
dando la recursividad
en q3. Pero tomando en
cuenta que puede
recibir cadena vacía q0
puede ser estado final.
bb|(a(ba)*)*

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

Donde el alfabeto = {0,1}

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

q2 es estado de aceptación, Se acepta la


cadena
39
Comprobando
Comprobando la cadena:
bbba
q q
0 1

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.

Suponiendo que $ es cualquier otro símbolo

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

L  ab, abab, ababab,


...

ab 

a q1 b q2 q3
q0

69

También podría gustarte