Está en la página 1de 19

AUTOMATAS FINITOS

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
+

También podría gustarte