120 likes | 280 Views
Tema 2 Autómatas finitos. 1. Autómata finito determinista. Formas de Representación de un AFD Diagrama de transiciones Tabla de transiciones. 2. Autómata finito no determinista Equivalencia AF N - AFD. 3. Autómata finito no determinista con transiciones vacías
E N D
Tema 2 Autómatas finitos 1. Autómata finito determinista Formas de Representación de un AFD Diagrama de transiciones Tabla de transiciones 2. Autómata finito no determinista Equivalencia AFN - AFD 3. Autómata finito no determinista con transiciones vacías Equivalencia AF - AFD 4. Equivalencia Autómatas finitos-Gramáticas Regulares
Autómata finito determinista conjunto de estados finales F Q control finito estado inicial, q0 Q A = (Q, , , q0, F) ... a1 a2 a3 an función de transición : Q Q alfabeto conjunto de estados Extensión de a palabras (: Q * Q):
Formas de Representación de un AFD A = ({q0 , q1 , q2), {a, b}, , q0 , {q1}) con: (q0 ,a) = q1, (q0 , b) = q2 , (q1 ,a) = q2, (q1 ,b) = q0 , (q2,a) = q2, (q2,b) = q2 Diagrama de transiciones Tabla de transiciones a a b q0 q1 q2 q1 q2 q0 q2 q2 q2 q0 q1 b b a q2 a, b Lenguaje aceptado: L(A) = {x *: (q0 , x) F}
Autómata finito no determinista conjunto de estados finales F Q estado inicial, q0 Q A = (Q, , , q0, F) función de transición : Q 2Q alfabeto conjunto de estados Extensión de a cadenas (: Q * 2Q)
Ejemplo de AFN A = ({q0 , q1 , q2), {a, b, c}, , q0 , {q0, q1, q2}) con: (q0 ,a) = {q0, q1, q2}, (q0 , b) = {q1, q2}, (q0 ,c) = {q2}, (q1 ,a) = , (q1, b) = {q1, q2}, (q1,c) = {q2 }, (q2 ,a) = , (q2, b) = , (q2,c) = {q2 }. Tabla de transiciones a b c q0 {q0, q1, q2} {q1, q2} {q2} q1 {q1, q2} {q2 } q2 {q2 } Diagrama de transiciones Lenguaje aceptado: L(A) = {x *: (q0 , x) F }
Equivalencia AFN - AFD Dado un lenguaje L aceptado por un AFN, existe un AFD que acepta L. Paso de AFN a AFD a b c a,b b,c q0 q1 q2 a,b,c a b c {q0 } {q0, q1, q2} {q1, q2} {q2} {q0, q1, q2} {q0, q1, q2} {q1, q2} {q2} {q1, q2} {q1, q2} {q2} {q2} {q2}
a b c {q0 } {q0, q1, q2} {q1, q2} {q2} {q0, q1, q2} {q0, q1, q2} {q1, q2} {q2} {q1, q2} {q1, q2} {q2} {q2} {q2} a,b,c a p1 b b a a a,b c p0 p2 b c c c p3
Autómata finito no determinista con transiciones vacías conjunto de estados finales F Q estado inicial, q0 Q A = (Q, , , q0, F) función de transición : Q ( {}) 2Q alfabeto conjunto de estados -clausura de un estado Lenguaje aceptado: L(A) = {x *: (q0 , x) F }
Equivalencia AF - AFD -Dado q Q, -clausura(q) es el conjunto de estados a los que se puede llegar desde q sin consumir símbolos. -Dado P Q -clausura(P )= pP -clausura(p) Extensión a cadenas de la función de transición -’(q, ) = -clausura(q) -’(q, xa) = -clausura(p ’(q , x) (p, a) ) Dado A = (Q, , , q0, F) AF , construimos A’ = (Q, , ’, q0, F’) con F’ = F {q0} si -clausura(q0) F F en caso contrario Se cumple que L(A) = L(A’ )
Ejemplo de AF- A = ({q0 , q1 , q2 , q3), {0, 1}, , q0 , {q0}) con: Tabla de transiciones 0 1 q0 {q1} q1 {q3} {q2 } q2 {q1}{q2} q3 {q3} {q0} Diagrama de transiciones Lenguaje aceptado: L(A) = {x * : (q0 , x) F }
Equivalencia Autómatas finitos-Gramáticas Regulares Si L es un lenguaje regular, L es aceptado por un A. Finito -Dada G = (N, , P, S) lineal por la derecha con L = L(G) se construye un AFA = (Q, , , q0, F) con L(A) = L(G): Q = N {X}, X N; q0= S; F ={X}. Función de transición: 1. (A aB) P se define B (A, a); A,B N; a {} 2. (A a) P se define X (A, a); A N; a {} 3. a {} se define (A, a) =
Equivalencia Autómatas finitos-Gramáticas Regulares Si L es aceptado por un A. Finito, L es un lenguaje regular. -SeaA = (Q, , , q0, F) un AF tal que L = L(A) se construye una G = (N, , P, S) lineal por la derecha con L = L(G): N = Q; S = q0 El conjunto de reglas de producción se construye: 1. q’ (q, a) se define (q aq’) P ; q,q’ Q; a {} 2. q F se define (q ) P