Professional Documents
Culture Documents
Definicin
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: La entrada es un conjunto de patrones y La salida define si la entrada cumple o no cumple con una condicin
Definicin formal
Quntupla M= (Q, , , q0, F) con Q : conjunto finito de estados : alfabeto de la mquina : funcin de transicin Qx Q q0 : estado inicial, q0 Q F : conjunto 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 dicho lenguaje.
Definicin formal
Se deduce que... Todo autmata finito determinista definido para un alfabeto con n smbolos debe contener al menos n transiciones. Un autmata finito determinista acepta la cadena vaca si y slo si su estado inicial es un estado de aceptacin.
Diagrama de transiciones
Diagrama que representa un autmata finito en trminos de un grafo. Consiste en una coleccin finita de smbolos (que representan a los estados), que se pueden rotular con fines de referencia, conectados con flechas que reciben el nombre de arcos (que representan a las transiciones). Cada arco se etiqueta con un smbolo o categora de smbolos que podra presentarse en la cadena de entrada que el autmata analiza. Uno de los estados se distingue con un apuntador y representa el estado inicial.
Diagrama de transiciones
Los denotados con crculos dobles designan estados en los cuales se ha reconocido una cadena vlida (estados de aceptacin). Habitualmente en estos diagramas slo se representan las transiciones que conducen al reconocimiento de alguna cadena, considerndose implcito un denominado "estado de captacin global", donde se entiende que llegan los arcos omitidos
Tablas de transiciones
Una tabla de transiciones es una representacin tabular convencional de una funcin como , que recibe dos argumentos y devuelve un valor. Las filas de la tabla corresponden a los estados, y las columnas a las entradas. El valor correspondiente a la fila del estado q y a la columna de la entrada a es el estado (q, a).
El estado inicial se marca con una flecha, y los estados de aceptacin con *.
0 0
q2 1 q1
0, 1
Por lo que se tiene: ={$ 0.25, $ 0.5 y $ 1} L={w|w tiene como suma $ 1}
0.5
0.25
q3 0.25
0.25
0.25
q2 0.5 q4
q0 0.5 0.25
q1 * 0.25 0.25
q0 q1
q3 0.25
q2 q3 q4
q2
0.5
q4
Diagrama de transicin
Tabla de transicin
Ejemplo:
Sea el lenguaje A={(ab)i | i1}, el cual esta representado por la expresin regular (ab)+
a, b q3 b
a inicio q0 a q1 a b
q2
La cadena debe tener al menos una copia de ab: Cadenas aceptadas : ab, abab, ababab, etc Cadena no aceptadas : aa, aaab, abaa, abbab, etc
Ejemplo:
Sea el lenguaje A={(ab)i | i0}, el cual esta representado por la expresin regular (ab)*
b inicio q0
a a b
q1 *
q0 q1 q2
a
q1 q2 q2
b
q2 q0 q2
q2
a, b
La cadena debe tener cero o ms copias de ab: Cadenas aceptadas : , ab, abab, ababab, etc Cadena no aceptadas : aa, aaab, abaa, abbab, etc
Ejemplo:
Reconoce nmeros mltiplos de 3, compuestos por los dgitos 1, 2 y 3. 1 2 3 3
inicio q0 2 1 3 2 q3
q0 q1 q2 q3 q1 q2 q3 q1
1 q2
1 1
2
q1 2
q2 q3 q1 q2
*
q3 q1 q2 q3
La suma de los dgitos debe ser mltiplo de 3: Cadenas aceptadas : 12, 111, 1122, etc Cadena no aceptadas : 232, 2321, 112333, etc
Definicin
Un autmata finito no determinista permite que desde un estado se realicen cero, una o ms transiciones mediante el mismo smbolo de entrada.
a q0 q1
a
q2 a
Definicin formal
Formalmente el autmata finito no determinista consiste en una quntupla (S, , , i , F), donde
S es un conjunto finito de estados es el alfabeto de la mquina es un subconjunto de S x x S (posibles
transiciones de la mquina) i (un elemento de S) es el estado inicial F (un subconjunto de S) es la coleccin de estados de aceptacin
AUTOMATA FINITO NO DETERMINISTA Ejemplo: AFN que acepta todas las cadenas que terminan en 01
inicio q0 0 q1 1 q2
0, 1
Estados por los que pasa un AFN durante el proceso de la secuencia de entrada 00101 q0 q0 q0 q0 q0 q0
q1 muere
q1 q2 muere 0
q1 q2 1
0 Cadena aceptada
AUTOMATA FINITO NO DETERMINISTA Ejemplo: AFN que acepta todas las cadenas que terminan en 01
inicio q0 0 q1 1 q2
0, 1
Tabla de transicin del AFN anterior
q0
q1
*
{q0, q1}
{q0}
{q2}
q2