Un autmata es una mquina, ya sea real o virtual, que se
utiliza para el reconocimiento de patrones, es decir, buscar una cadena de smbolos determinada de entre varias vlidas. Una aplicacin real es la construccin de compiladores, que comprueban que las palabras reservadas de las estructuras estn bien puestas (parte del anlisis lxico). En un Autmata se tiene que !a entrada es un con"unto de patrones y !a salida de#ine si la entrada cumple o no cumple con una condicin Definicin AUTOMATAS FINITOS DETERMINISTAS Quntupla M= (Q, , , q 0 , F) con Q con"unto #inito de estados al#abeto de la mquina #uncin de transicin Qx Q q 0 estado inicial, q 0 Q F con"unto de estados de aceptacin, F Q (p,x) = q M pasa del estado p al q al leer el smbolo x Definicin formal M reconoce una cadena x1 x2 ... xn una serie en S, s0, s1 ... sn con s0 = q0 sn F (sj-1, xj) = sj, j [0, n] M reconoce un lenguaje si reconoce exclusivamente la coleccin de cadenas de dic$o len%ua"e. Definicin formal AUTOMATAS FINITOS DETERMINISTAS Se deduce que... Todo autmata #inito determinista de#inido para un al#abeto & con n smbolos debe contener al menos n transiciones. Un autmata #inito determinista acepta la cadena vaca si y slo si su estado inicial es un estado de aceptacin. Definicin formal AUTOMATAS FINITOS DETERMINISTAS Dia%rama que representa un autmata #inito en trminos de un %ra#o. 'onsiste en una coleccin #inita de smbolos (que representan a los estados), que se pueden rotular con #ines de re#erencia, conectados con #lec$as que reciben el nombre de arcos (que representan a las transiciones). 'ada arco se etiqueta con un smbolo o cate%ora de smbolos que podra presentarse en la cadena de entrada que el autmata analiza. Uno de los estados se distin%ue con un apuntador y representa el estado inicial. Diagrama de transiciones AUTOMATAS FINITOS DETERMINISTAS !os denotados con crculos dobles desi%nan estados en los cuales se $a reconocido una cadena vlida (estados de aceptacin). (abitualmente en estos dia%ramas slo se representan las transiciones que conducen al reconocimiento de al%una cadena, considerndose implcito un denominado )estado de captacin %lobal), donde se entiende que lle%an los arcos omitidos Diagrama de transiciones AUTOMATAS FINITOS DETERMINISTAS Una tabla de transiciones es una representacin tabular convencional de una #uncin como *, que recibe dos ar%umentos y devuelve un valor. !as #ilas de la tabla corresponden a los estados, y las columnas a las entradas. El valor correspondiente a la #ila del estado q y a la columna de la entrada a es el estado *(q, a). Tablas de transiciones AUTOMATAS FINITOS DETERMINISTAS Diagrama de transiciones y tabla de transiciones El estado inicial se marca con una #lec$a, y los estados de aceptacin con +. A,D que acepta -nicamente todas las cadenas de ceros y unos que contienen la secuencia ./ en al%-n lu%ar de la cadena 0&12.,/3 0 !12454 tiene la #orma x./y, donde x e y son cadenas que solo constan de los smbolos . y /3 q. q/ q6 7nicio . / ., / . / AUTOMATAS FINITOS DETERMINISTAS Bsqueda de una cadena alida en el diagrama de transiciones 0!a cadena ./ pertenece al len%ua"e 0!a cadena //./. pertenece al len%ua"e 0!a cadena /...// pertenece al len%ua"e 0!a cadena 8 no pertenece al len%ua"e 0!a cadena . no pertenece al len%ua"e 0!a cadena ///... no pertenece al len%ua"e q. q/ q6 . / ., / . / AUTOMATAS FINITOS DETERMINISTAS No devuelve cambio !os re#rescos valen 9 / Admite monedas de 9 ..6:, 9 ..: y 9 / ;or lo que se tiene &129 ..6:, 9 ..: y 9 /3 !12454 tiene como suma 9 /3 E!em"lo# M$quina de refrescos AUTOMATAS FINITOS DETERMINISTAS &129 ..6:, 9 ..: y 9 /3 !12454 tiene como suma 9 /3 E!em"lo# M$quina de refrescos q. q/ / q6 ..6: q< ..6: q= ..6: ..6: >uma acumulada q.1., q/1/, q61..6:, q<1..:, q=1..?: ..: ..: ..: inicio AUTOMATAS FINITOS DETERMINISTAS &129 ..6:, 9 ..: y 9 /3 ! 1 2 4 5 4 tiene como suma 9 /3 E!em"lo# M$quina de refrescos q. q/ / q6 ..6: q< ..6: q= ..6: ..6: ..: ..: ..: ..6: ..: / q. q6 q< q/ q/ error error error q6 q< q= error q< q= q/ error q= q/ error error + Dia%rama de transicin Tabla de transicin AUTOMATAS FINITOS DETERMINISTAS >ea el len%ua"e A12(ab) i 5 i@/3, el cual esta representado por la expresin re%ular (ab) A E!em"lo# q. q< q6 q/ inicio a b a a a, b b !a cadena debe tener al menos una copia de ab 0'adenas aceptadas ab, abab, ababab, etc 0'adena no aceptadas aa, aaab, abaa, abbab, etc AUTOMATAS FINITOS DETERMINISTAS >ea el len%ua"e A12(ab) i 5 i@.3, el cual esta representado por la expresin re%ular (ab)+ E!em"lo# q6 q. q/ inicio a b a a, b b !a cadena debe tener cero o ms copias de ab 0'adenas aceptadas 8, ab, abab, ababab, etc 0'adena no aceptadas aa, aaab, abaa, abbab, etc * a b q. q/ q6 q/ q6 q. q6 q6 q6 + AUTOMATAS FINITOS DETERMINISTAS E!em"lo# !a suma de los d%itos debe ser m-ltiplo de < 0'adenas aceptadas /6, ///, //66, etc 0'adena no aceptadas 6<6, 6<6/, //6<<<, etc + Beconoce n-meros m-ltiplos de <, compuestos por los d%itos /, 6 y <. q. inicio q/ / q6 / q< / 6 < 6 < 6 < 6 / < * / 6 < q. q/ q6 q< q/ q6 q< q/ q6 q< q/ q6 q< q/ q6 q< AUTOMATAS FINITOS DETERMINISTAS Un autmata #inito no determinista permite que desde un estado se realicen cero, una o ms transiciones mediante el mismo smbolo de entrada. Definicin AUTOMATA FINITO NO DETERMINISTA q. q6 q/ a a b a AUTOMATA FINITO NO DETERMINISTA ,ormalmente el autmata #inito no determinista consiste en una quntupla (>, & , C, i , ,), donde > es un con"unto #inito de estados & es el al#abeto de la mquina C es un subcon"unto de > x & x > (posibles transiciones de la mquina) i (un elemento de >) es el estado inicial , (un subcon"unto de >) es la coleccin de estados de aceptacin Definicin formal E!em"lo# AFN que ace"ta todas las cadenas que terminan en %& AUTOMATA FINITO NO DETERMINISTA inicio q. q/ . q6 / ., / q. q. q. q. q. q/ q/ q/ q6 q. q6 . . / . / muere muere Estados por los que pasa un A,N durante el proceso de la secuencia de entrada .././ Cadena aceptada E!em"lo# AFN que ace"ta todas las cadenas que terminan en %& AUTOMATA FINITO NO DETERMINISTA inicio q. q/ . q6 / ., / Tabla de transicin del A,N anterior . / q. 2q., q/3 2q.3 q/ D 2q63 q6 D D +