Está en la página 1de 68

Teora de Autmatas

Evander Flores (evanderex@gmail.com)

1
Contenidos

Objetivos

Alcance

Desarrollo del tema

Resumen

Ejercicios

2
Objetivos
Definir que son los Autmatas finitos
Autmatas Finitos Determinsticos.
Autmatas Finitos No Determinsticos.
Establecer las formas de representar los Autmatas.
Definir las propiedades de los Autmatas

3
Alcances
Autmatas Finitos Deterministas.
Definicin.
Estados
Tabla de transicin
Diagrama de Transicin

Transformacin ER-DFA, Tabla de Transicin-DFA y LR-DFA


Reconocimiento de Cadenas

4
Autmatas finitos
Definicin, Propiedades, Ejemplos

5
Autmatas Finitos
Tambin llamado mquina de estado finito.
Es un modelo matemtico que recibe una cadena de smbolos
de un alfabeto y determina si la cadena pertenece al lenguaje
que el autmata reconoce.
Puede reconocer o traducir una cadena de smbolos

6
Autmatas Finitos
Los autmatas a travs de una entrada de smbolos cambia de
estados.
Por ejemplo un video, donde las cada entrada modifica el
estado del video.

7
Autmata Finito

Es una mquina que interpreta expresiones regulares, y


reconoce cadenas de entrada

8
Autmata Finito
Inspecciona cada smbolo de la
cadena comparndola 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, hasta que
reconoce todos los elementos de la
Cabeza Lectora
cadena.

Cinta lectora

9
Autmata Finito
La cadena se divide en Celdas de memoria para almacenar.
Los estados son la memoria de los autmatas.
Cuando finaliza la cadena, acepta o rechaza la cadena,
dependiendo de procesamiento.

10
Diseo de Autmatas Finitos
Establecer un conjunto de estados que memoricen
condiciones importantes

Establecer correctamente cual es el estado inicial y los


estados de aceptacin

Establecer las transiciones que permiten pasar de un estado a


otro

11
Diseo de Autmatas Finitos
Algunos errores al momento de construir cualquier autmata:
Aceptar cadenas que no se debera aceptar , pues no estn
definidas.

No aceptar todas las cadenas que debe de aceptar.

12
Notacin
Descripcin abstracta

Tabla de transicin

Diagrama de transiciones (Diagrama de Moore)

13
Autmata Finito

Descripcin Abstracta
Se define por medio del quinteto
(Q, , q0, A, ) donde:
Q es un conjunto finito (de estados)
es un alfabeto (finito) de smbolos
q0 Q (El estado inicial)
A Q (El conjunto de estados aceptores)
es una funcin de transicin

14
Tabla de Transicin
Generado a travs de un producto cartesiano de los estados y
los smbolos del alfabeto.
Donde es el estado inicial
* es un estado de aceptacin

0 1
Q
A A B
B A C
*C A c

15
Diagrama de Transiciones
Define el flujo de un autmata
Los estados son nodos
Las transiciones son arcos

16
Autmatas finitos Determinsticos
Definicin, Propiedades, Ejemplos

17
Autmata Finito Determinstico
Tambin es llamado AFD o en sus siglas en ingls DFA
Deterministic finite automata.
Puede detectar smbolos conforme llegan y se basa en el
estado actual y el smbolo recibido, ejecutar una transicin.
Tiene un nmero finito de estados.

18
Autmata Finito Determinstico
Los Autmata Finito Determinista no debe tener
ambigedades.
El diagrama de transicin cada arco posee solo un smbolo
del alfabeto, al salir de un estado.

19
DFA ---Autmata Finito Determinstico

Definicin
Se define por medio del quinteto
(Q, , q0, A, ) donde:
Q es un conjunto finito (de estados)
es un alfabeto (finito) de smbolos
q0 Q (El estado inicial)
A Q (El conjunto de estados aceptores)
es una funcin de transicin
QxaQ

20
DFA ---Autmata Finito Determinstico

Funcin de Transicin
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 carcter a.
Una transicin: (q, a, q0) Q normalmente se describe
q q0

21
Algoritmo
Inicia en el estado Inicial, y en el primer smbolo de entrada
q = estado actual
s = smbolo actual en la cinta
Mientras (s! = blanco) haga
q = (q, s)
s = siguiente smbolo a la derecha en la cinta
entonces si qn = Estado Final
Acepta
sino No Acepta

22
Notacin General DFA

Estado

Estado Inicial

Estado de Aceptacin

Transicin

23
Ejemplos de transformacin
ER DFA , Tablas Transicin DFA, Definicin LR - DFA

24
Transformacin ER - DFA

a* a+

Cerradura de Kleene Cerradura de Positiva

25
Transformacin ER - DFA

ac*b

ac+b

26
Transformacin ER - DFA
Otro ejemplo

bc*d | h | ae

27
Transformacin ER - DFA

A partir de una expresin regular bb|(a(ba)*)*

Iniciando por
bb|(a(ba)*)*

Tomando en cuenta que


al completar la cadena
bb puede llegar a un
estado final.

28
Expresin Regular - DFA
Tomando en cuenta la utilizacin de parntesis se define la
secuencia (ba)*

Por estar contenida en una


cerradura, indica que puede
o no venir, por lo que q3 es
un estado de aceptacin

bb|(a(ba)*)*

29
Expresin Regular - DFA
Para finalizar, la secuencia (a (..) )*

Parte del estado inicial con


una transicin a, y dando la
recursividad en q3. Pero
tomando en cuenta que
puede recibir cadena vaca
q0 puede ser estado final.
bb|(a(ba)*)*

30
Generacin 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}

31
Definicin LR - DFA

Transformacin
Cadenas terminadas en 00

32
Reconocimiento de Cadenas
Por los estados de DFA

33
Reconocimiento de Cadenas
El autmata parte de un estado inicial y solamente
reconocer la cadena, si esta termina en un estado de
aceptacin.
Si no es as no se reconoce la cadena
Comprobar:
aaab
bbba

34
Comprobando
Comprobando la cadena: aaab
q q
0 1

35
Comprobando
Comprobando la cadena: aaab
q q
0 1

q q
1 2 a

36
Comprobando
Comprobando la cadena: aaab
q q
0 1

q q
1 2 a

q q
2 2 a

37
Comprobando
Comprobando la cadena: aaab
q 0 q 1

q1 q
2
a

q 2 q 2 a

q 2 q 2 a

q2 es estado de aceptacin, Se acepta la cadena


38
Comprobando
Comprobando la cadena: bbba
q q
0 1

39
Comprobando
Comprobando la cadena: bbba
q q
0 1

q q
1 1 b

40
Comprobando

Comprobando la cadena: bbba


q q
0 1 b

q q
1 1 b

q q
1 1 b

41
Comprobando
Comprobando la cadena: bbba
q 0 q 1

q 1 q 1 b

q 1 q 1 b

q 1 q 1 b

q1 NO ES estado de aceptacin, no es aceptada por DFA

42
Gramtica Regular - AFD
Partiendo de la una gramtica se puede construir un 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

43
Construccin AFD
Partimos de la definicin del ID (Identificador)

44
Construccin AFD
Se debe tomar en cuenta que cuando reciba cualquier otro
smbolo, (puede ser espacio) se terminara de reconocer.

Suponiendo que $ es cualquier otro smbolo

45
Evaluacin AFD
Evaluando la cadena var1; al llegar a ; se finaliza el
reconocimiento definiendo al identificador como var1

46
Autmatas finitos no
Determinsticos
Definicin, Propiedades, Algoritmo de Thompson

47
Autmata Finito No Determinstico
Los Autmata Finito No Determinista puede tener
ambigedades.
Los estados pueden tener una o mas transiciones con
diferentes smbolos del lenguaje.
El autmata 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 ()

48
Definicin
Se define por medio del quinteto
(Q, , q0, A, ) donde:
Q es un conjunto finito (de estados)
es un alfabeto (finito) de smbolos
q0 Q (El estado inicial)
A Q (El conjunto de estados aceptores)
es una funcin de transicin
*: Q x * 2Q

49
Construccin de AFND
Tabla de Transiciones, Expresin Regular, Gramtica

50
Construccin de AFND
Puede partir desde una tabla de transiciones, generando un
diagrama de Moore.
A travs de una expresin regular, generando un diagrama de
Moore.
Por medio de una gramtica regular.

51
Tabla de Transicin AFND
Ejemplo 1
A partir de la definicin (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 -
52
Construccin AFND
El estado de aceptacin es q3

Diagrama de Moore

53
AFND Expresin Regular
A partir del AFND se puede deducir la expresin o las
expresiones asociadas a este.
a b* b a* | a a* b a*

54
AFND Expresin Regular
A partir del AFND se puede deducir la expresin o las
expresiones asociadas a este.
a b* b a* | a a* b a*

Factorizando
a ( b*b| a*b) a*

55
AFND Expresin Regular
A partir del AFND se puede deducir la expresin 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*

56
Otro Ejemplo
Se tiene el siguiente AFND, cual sera el lenguaje aceptado?

q0 a q1 b q2 q3

57
Evaluando la cadena de entrada ab

a b

q0 a q1 b q2 q3

58
Evaluando la cadena de entrada ab

a b

q0 a q1 b q2 q3

59
Evaluando la cadena de entrada ab

a b
Acepta la cadena

q0 a q1 b q2 q3

60
Evaluando otra cadena abab

a b a b

q0 a q1 b q2 q3

61
Evaluando otra cadena abab

a b a b

q0 a q1 b q2 q3

62
Evaluando otra cadena abab

a b a b

q0 a q1 b q2 q3

63
Evaluando otra cadena abab

a b a b

q0 a q1 b q2 q3

64
Evaluando otra cadena abab

a b a b

q0 a q1 b q2 q3

65
Evaluando otra cadena abab

a b a b

q0 a q1 b q2 q3

66
a b a b
La cadena es aceptada

q0 a q1 b q2 q3

67
Lenguaje Aceptado

L ab, abab, ababab, ...



ab

q0 a q1 b q2 q3


68

También podría gustarte