Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porMargarita Toro Sandoval Modificado hace 7 años
1
LENGUAJES FORMALES, AUTOMATAS Y MAQUINAS DE ESTADOS FINITOS
2
CONCEPTOS BASICOS SIMBOLO: Es la representación abstracta de un objeto. En general, es cualquier carácter que represente algún elemento. Ejs: 1, a, . ALFABETO o VOCABULARIO: Es un conjunto finito de símbolos. Debe existir al menos un símbolo en el alfabeto es decir, el alfabeto no puede ser el conjunto vacío. Notación: Este conjunto se denota con .
3
CONCEPTOS BASICOS II CADENA: Es una secuencia de símbolos de un alfabeto. Se dice que una cadena sobre un alfabeto es tal que *, siendo * el conjunto formado por todas las posibles cadenas que pueden formarse con los elementos de . Una cadena no puede ser infinita: no es un subconjunto de *, sino uno de sus elementos. Ejemplo: Si ={0,1}, entonces *={1,0,00,01,10,11,100,…} y una posible cadena * es
4
CONCEPTOS BASICOS III LENGUAJE: Es un conjunto de cadenas, las cuales deben estar formadas sobre un alfabeto . Ejemplo: Si ={0,1} es un alfabeto, L = {100, 001, 00, 111} es un lenguaje y las cadenas ,* son, respectivamente, 1010 y 100, entonces, se tiene que L L. ESTADO: Es la situación o las características de un objeto en un momento dado. Un objeto no pude estar en más de un estado al mismo tiempo.
5
AUTOMATAS FINITOS Los autómatas se caracterizan por tener un estado inicial. En dicho estado, reciben una cadena de símbolos, cambian de estado por cada elemento o permanecen en el mismo estado. También tienen un conjunto de estados finales o aceptables, que indican si una cadena pertenece al lenguaje al final de una lectura.
6
AUTOMATAS FINITOS DETERMINISTICOS I(AFD)
Un AFD está definido por una 5 – upla como sigue: A = (Q, qo, F, , ), donde: Q es un conjunto finito de estados qo es el estado inicial. Luego, qo Q. Debe ser uno, y sólo uno. En consecuencia, qo Q. F es un conjunto finito de estados finales. En consecuencia, F Q. Puede ser qo F. es el alfabeto finito de entrada. es una función de Q X Q. se denomina función de transición.
7
AUTOMATAS FINITOS DETERMINISTICOS II (AFD)
EJEMPLO: Q = {qo, q1, q2, q3, q4} Estado inicial: qo. F = {q3} = {x, y} : Qx Q/ (qo,x) = q1; (qo,y) = q1; (q1,x)= q1; (q1,y)= q2; (q2,x)=q3; (q2,y)= q2; (q3,x) = q1; (q3,y) = q2; (q4,x) = (q4,y) = q4.
8
DIAGRAMA DE TRANSICION DE UN AFD
Para el ejemplo dado, es el siguiente grafo orientado y etiquetado:
9
TABLA DE TRANSICION DE UN ADF
x y qo q1 q4 q2 q3 q3
10
ACEPTACION DE UNA CADENA
Una cadena se acepta, si finaliza en un estado final. En caso contrario, no. Cadena 1: xxyxxyyy No se acepta. Cadena 2: xxyyx Sí se acepta.
11
AUTOMATAS FINITOS NO DETERMINISTICOS I(AFN)
Un AFN está definido por una 5 – upla como sigue: A = (Q, I, F, , ), donde: Q es un conjunto finito de estados I es un conjunto de estados iniciales. Luego, I Q (I puede no ser un conjunto unitario). F es un conjunto finito de estados finales. En consecuencia, F Q. es el alfabeto finito de entrada. es una función de Q X P(S), con S Q.
12
DIFERENCIAS ENTRE AFD Y AFN
En AFN c(I) 0, con I Q. qiQx, qj, qkQ (qi,x) = {qj, qk} P(S). Nótese, que S Q, con lo cual, puede ser (qi,x)=. En el AFN no toda transición está determinada y la imagen de un par (estado, símbolo) es un subconjunto de Q, por lo cual pude ser . En AFD C(I) = 1, con I Q. qiQx, qjQ (qi,x) =qj. En el AFD toda transición está determinada y existe uno, y sólo un estado imagen.
13
AUTOMATAS FINITOS NO DETERMINISTICOS II(AFN)
EJEMPLO: Q = {qo, q1, q2} I = {qo} F = {qo, q1} = {a, b} : Qx P(Q) tal que: (qo, a) ={q0, q1}; (qo, b) = {q2}; (q1,a)= ; (q1,b)= q1; (q2,a) ={q1,q2,}; (q2,b)= .
14
DIAGRAMA DE TRANSICION DE UN AFN
Es, a su vez, un grafo:
15
TABLA DE TRANSICION DE UN AFN
qo {qo, q1} {q2} q1 {q1} q2 {q1, q2}
16
CONVERSION DE UN AFN EN AFD
Consideremos el AFN anterior. Se rediseña la función , como *: P(Q)x P(Q), como sigue: *(,a)=*(,b)=; *({qo,q1},a)={qo,q1}, *({qo,q1},b)={q2,q1}, *({qo,q2},a)={qo,q1}, *({qo,q2},b)={q2}, *({q1,q2},a)={q2,q1}, *({q1,q2},b)={q1}, *({qo},a)=({qo,q1}, *({qo},b)={q2}, *({q1},a)= , *({q1},b)={q1}, *({q2},a)={q2,q1},*({q2},b)=,*(Q,a)={qo,q1} y *(Q, b)={q2,q1}
17
NUEVA TABLA E0 {qo} E3 E2 E1 {q1} {q2} E5 {qo,q1} E4 {qo,q2} {q2,q1}
Elemento de Q’ Elemento de P(E) a b E0 {qo} E3 E2 E1 {q1} {q2} E5 {qo,q1} E4 {qo,q2} {q2,q1} E6 Q Los estados finales serán E2, E4, E5 y E6, puesto que son los que contienen a q2.
18
DIAGRAMA DE TRANSICIÓN
19
DIAGRAMA DE TRANSICIÓN
20
DIAGRAMA EQUIVALENTE
21
MAQUINA DE ESTADOS FINITOS
Una máquina de estados finitos es un autómata finito, en el cual no existen estados finales y los símbolos de entrada se colocan junto con los símbolos de salida. Es decir, una máquina de estados finitos es una 5-upla M = {Q, E, S, qo, ,) donde: Q es el conjunto finito de estados. qo estado inicial. E es el conjunto finito de entradas. S es el conjunto finito de salidas. : QxE Q función de estado siguiente y la función de salida, : QxE S.
22
MAQUINA DE TURING(MT) Una MT consiste en una cinta que se extiende de manera infinita, en donde se escribe o se lee información por medio de una cabeza de lectura/escritura. MT = (Q, , A, qo, b, F,) donde:Q: conjunto finito de estados.qoQ: estado inicial. : conjunto de símbolos de entrada. A: alfabeto de la cinta. b: símbolo blanco. b A b . F: conjunto de estados finales. M = {I, D} (conjunto de movimientos posibles de la cabeza). : función de transición, de QxA QxAxM.
23
EJEMPLO (qo, x)= (qo, x, D), (qo, y)= (q1, y, D)
MT= (Q, , A, qo, b, F,), con Q={qo,q1,q2,q3}, ={x,y}, A={x, y, b}, F= {q3}, M = {I, D} La función de transición definida por: (qo, x)= (qo, x, D), (qo, y)= (q1, y, D) (q1, b)= (q2, b, I), (q2, x)= (q2, x, I) (q2, y)= (q2, y, I), (q2, b)= (q3, b, D) Usaremos esta MT para decidir si la cadena xxy es o no aceptada.
24
(qo, x)= (qo, x, D), (qo, y)= (q1, y, D)
(q1, b)= (q2, b, I), (q2, y)= (q2, y, I), (q2, x)= (q2, x, I), (q2, b)= (q3, b, D)
25
COMPLEJIDAD COMPUTACIONAL
Es la cantidad de recursos necesarios (tiempo y espacio) para resolver un problema. El tiempo es el número de pasos de ejecución de un algoritmo para resolver un problema. El espacio es la cantidad de memoria utilizada para resolver dicho problema.
26
ALGORITMO POLINOMIALES (P)
En estos algoritmos la relación entre el número de datos (n) y el tiempo de ejecución esta dada por una expresión polinomial
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.