Teoria de Automatas Finitos
-
Upload
evander-flores -
Category
Documents
-
view
630 -
download
0
description
Transcript of Teoria de Automatas Finitos
Teora de Autmatas
Evander Flores ([email protected])
1
ContenidosObjetivos Alcance Desarrollo del tema Resumen
Ejercicios2
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 finitosDefinicin, 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 FinitosLos 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 FinitoEs 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 cadena.
Cabeza Lectora
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 FinitosAlgunos 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
QA B
0 A A
1 B 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 DeterminsticosDefinicin, 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 TransicinPara 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 q0a
21
AlgoritmoInicia 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 transformacinER DFA , Tablas Transicin DFA, Definicin LR - DFA
24
Transformacin ER - DFAa*
a+
Cerradura de Kleene
Cerradura de Positiva
25
Transformacin ER - DFAac*b
ac+b
26
Transformacin ER - DFA Otro ejemplo
bc*d | h | ae
27
Transformacin ER - DFAA 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 - DFATomando 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 - DFAPara 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 LRAl 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
TransformacinCadenas terminadas en 00
32
Reconocimiento de CadenasPor 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
ComprobandoComprobando la cadena: aaab
q q0
1
a
35
ComprobandoComprobando la cadena: aaab
q q q q0 1
1
2
a a
36
ComprobandoComprobando la cadena: aaab
q q q q q q0 1 2
1
2
a a a
2
37
ComprobandoComprobando la cadena: aaab
q q q q
0
1
2
2
q q q q
1
2
a a a
2
2
b
q2 es estado de aceptacin, Se acepta la cadena38
ComprobandoComprobando la cadena: bbba
q q0
1
b
39
ComprobandoComprobando la cadena: bbba
q q q q0 1
1
1
b b
40
ComprobandoComprobando la cadena: bbba
q q q q q q0 1
1
bb b
1
1
1
41
ComprobandoComprobando la cadena: bbba
q q q q
0 1 1 1
q q q q
1 1 1 1
b b b a
q1 NO ES estado de aceptacin, no es aceptada por DFA42
Gramtica Regular - AFDPartiendo de la una gramtica se puede construir un diagrama de Moore que represente el AFD. Identificadores, ER: L(L|D)* | | a|b|c||z 0|1|2||943
Construccin AFDPartimos de la definicin del ID (Identificador)
44
Construccin AFDSe debe tomar en cuenta que cuando reciba cualquier otro smbolo, (puede ser espacio) se terminara de reconocer.
Suponiendo que $ es cualquier otro smbolo45
Evaluacin AFDEvaluando la cadena var1; al llegar a ; se finaliza el reconocimiento definiendo al identificador como var1
46
Autmatas finitos no DeterminsticosDefinicin, 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 AFNDTabla 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 1A 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
Q0 1 2
a1,2 2
b1,3 3
352
3
-
Construccin AFNDEl estado de aceptacin es q3
Diagrama de Moore53
AFND Expresin RegularA 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 RegularA 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 RegularA 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 bq0
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 bAcepta 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 bLa cadena es aceptada
q0
a
q1
b
q2
q3
67
Lenguaje Aceptado
L ab, abab, ababab, ... ab
q0
a
q1
b
q2
q3
68