Está en la página 1de 10

MBA. Ing.

Walter Pereira

Autmatas finitos
Un autmata finito es un conjunto de nodos y aristas
que representan trayectorias para generar una
expresin bajo un alfabeto. Un diagrama de transicin
es un autmata finito. Se clasifican en:
Autmatas finitos no determinsticos. NFA
Autmatas finitos determinsticos. DFA

Partes de un autmata
Estados: Son localidades en el proceso de reconocimiento que registran cunto
del patrn ya se ha visto y son representados por un circulo y el nmero de
estado.

Transicin o cambio de estado: Son identificados por las flechas, estos


representan transiciones que registran un cambio de un estado a otro en una
coincidencia del carcter o caracteres mediante los cuales son etiquetados. Por
convencin, el estado de inicio se indica dibujando una lnea con flechas sin
etiqueta que proviene de "de ninguna parte".
Estados de aceptacin: Son Los estados que representan el fin del proceso de
reconocimiento, en los cuales podemos declarar un xito. Se indican dibujando
un borde con Inea doble alrededor del estado en el diagrama. Puede haber ms
de uno de stos.
.

Q es un conjunto de estados
Sigma es un alfabeto

Qo es el estado inicial
Q x Sigma Q es una funcin de transicin
F C Q es un conjunto de estados finales de aceptacion

Ejemplo
Identificador=letra(letra|digito)*

Autmata Finito No Determinstico (NFA)


Un NFA no tiene restricciones para que exista mas de
una transicin con el mismo nombre a diferentes
estados, por lo que en una representacin tabular no es
posible determinar de manera nica el estado destino
para un smbolo determinado. Por ejemplo, el
siguiente diagrama representa la expresin:
(a | b)* a b b

Autmata finito determinista (DFA)


Un DFA es un caso especial de NFA en el que ningn
estado tiene transiciones para diversos estados bajo el
mismo smbolo y no se permiten transiciones de
cadena vaca (). Los diagramas de transicin son
autmatas determinsticos. Por ejemplo, el DFA de
(a | b)* a b b puede ser:

Ejemplos
para comprobar que la fecha leda cumple el patrn
dd/mm/aaaa
para comprobar que una direccin de correo
electrnico es una direccin vlida.

Ejercicios
a. toda las cadenas de letras minsculas que
comiencen y finalicen con a.
b. Todas las cadenas de letras minsculas
que comiencen o finalicen con a (o ambos).
c. Todas las cadenas de dgitos que no contengan ceros
al principio.
d. Todas las cadenas de dgitos que representen
nmeros pares.
e. Todas las cadenas de dgitos tales que todos los
nmeros "2" estn antes de los nmeros 9
f. Todas las cadenas de a y b que no contengan tres b
consecutivas.

Ejercicios
Para comprobar que un NIF est formado por 8 cifras,
un guin y una letra
Para comprobar que una contrasea cumple unas
determinadas condiciones.
Para comprobar que una URL es vlida.
L = {x* : si x empieza por a no contiene la
subpalabra aa y si x empieza por b contiene la
subpalabra aa }

También podría gustarte