Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Objetivos
Repaso de conceptos
Actividad Verdadero o falso
lenguajes regulares son aquellos que pueden describirse mediante un autmata nito.
Despus de ver un ejemplo deniremos formalmente los autmatas nitos.
Autmatas finitos
Un autmata nito tiene un conjunto de estados y su control
pasa de un estado a otro en respuesta a las entradas externas.
Una de las diferencias fundamentales entre las clases de
autmatas nitos es si dicho control es determinista, lo que
quiere decir que el autmata no puede encontrarse en ms de un
estado a un mismo tiempo, o no determinista, lo que signica
que s puede estar en varios estados a la vez.
Ejercicio ejemplo
Autmatas finitos
Ejemplo
Reglas bsicas
Tenemos tres participantes:
El cliente
La tienda
El banco
Para simplicar, suponemos que slo
existe un archivo de dinero electrnico.
Escuela de Ingeniera en Computacin (EIC)/Teora de la Computacin
Autmatas finitos
El cliente puede decidir transferir este archivo a la tienda, la cual
lo reenviar al banco (es decir, solicita al banco que emita un
nuevo archivo que reeje que el dinero pertenece a la tienda en
lugar de al cliente) y suministra los bienes al cliente.
Adems, el cliente tiene la opcin de cancelar el archivo; es decir,
el cliente puede pedir al banco que devuelva el dinero a su
cuenta, anulando la posibilidad de gastarlo.
La interaccin entre los tres participantes se limita por tanto a
cinco sucesos:
Escuela de Ingeniera en Computacin (EIC)/Teora de la Computacin
Autmatas finitos
Autmatas finitos
El protocolo
Los tres participantes tienen que disear sus comportamientos muy
cuidadosamente, o de lo contrario pueden producirse errores.
En nuestro ejemplo, podemos hacer la suposicin de que no es posible conar
en que el cliente acte de manera responsable.
En concreto, el cliente puede intentar copiar el archivo de dinero y emplearlo
para pagar varias veces, o puede pagar y luego cancelar el pago, obteniendo as
los bienes gratuitamente.
Escuela de Ingeniera en Computacin (EIC)/Teora de la Computacin
Autmatas finitos
El banco debe comportarse de manera responsable, o no sera un banco.
En concreto, debe garantizar que dos tiendas no puedan liberar el mismo
archivo de dinero y no debe permitir que el mismo dinero sea a la vez
cancelado por el cliente y liberado por una tienda.
Autmatas finitos
Los protocolos de este tipo pueden representarse mediante un
autmata nito.
Cada estado representa una situacin en la que puede encontrarse
uno de los participantes.
Es decir, el estado recuerda qu sucesos importantes han ocurrido
y qu sucesos todava no han tenido lugar.
Autmatas finitos
Las transiciones entre estados se producen cuando tiene lugar uno de
los cinco sucesos descritos anteriormente.
Supondremos que estos sucesos son externos al autmata que
representa a los tres participantes, aunque cada participante sea
responsable de iniciar uno o ms de los sucesos.
Autmatas finitos
La Figura representa los tres
participantes mediante
autmatas.
En este diagrama, slo se
muestran los sucesos que
afectan a un participante.
Por ejemplo, la accin pagar
slo afecta al cliente y a la
tienda.
Autmatas finitos
Examinemos en primer lugar el autmata (c) correspondiente al
banco.
El estado inicial es el estado 1, que representa la situacin en la que
el banco ha emitido el archivo de dinero electrnico en cuestin
pero no se ha solicitado que sea liberado o cancelado.
Si el cliente enva al banco una solicitud cancelar, entonces el banco
devuelve el dinero a la cuenta del cliente y pasa al estado 2.
Este estado representa la situacin en la que el pago ha sido
cancelado.
El banco, puesto que es responsable, no saldr del estado 2 una vez
que ha entrado en l, ya que no debe permitir que el mismo pago
sea cancelado otra vez o gastado por el cliente.
Autmatas finitos
Alternativamente, cuando se encuentra en el estado 1, el banco
puede recibir una solicitud de librar procedente de la tienda.
Autmatas finitos
Consideremos ahora la Figura (a), el autmata que representa las
acciones de la tienda.
Autmatas finitos
La tienda comienza en el estado a. Cuando el cliente pide los bienes
mediante la accin pagar, la tienda pasa al estado b.
En este estado, la tienda inicia los procesos de suministro y
libramiento.
Si se suministran los bienes en primer lugar, la tienda entra en el
estado c, donde todava tiene que librar el dinero del banco y recibir
la transferencia de un archivo de dinero equivalente del banco.
Alternativamente, la tienda puede enviar primero el mensaje librar, pasando al estado d. A partir del estado d, la
tienda puede a continuacin realizar el suministro, pasando al estado e, o puede recibir la transferencia del
dinero procedente del banco, pasando al estado f. A partir del estado f, la tienda realizar el suministro, pasando
al estado g, donde la transicin se completa y ya no puede ocurrir nada ms.
En el estado e, la tienda est a la espera de la transferencia del banco. Lamentablemente, los bienes ya han sido
enviados y, si la transferencia no se produce nunca,la tienda habr tenido mala suerte.
Escuela de Ingeniera en Computacin (EIC)/Teora de la Computacin
Autmatas finitos
Observemos por ltimo el autmata correspondiente al cliente, la
Figura (b).
Este autmata slo tiene un estado, el cual reeja el hecho de que
el cliente puede hacer cualquier cosa.
El cliente puede realizar las acciones pagar y cancelar cualquier
nmero de veces, en cualquier orden y despus de cada accin
permanece en su nico estado.
Objetivos
AFD=(Q,,f,q0,F)
Q es su conjunto de estados,
son los smbolos de entrada,
f es la funcin de transicin,
q0 es el estado inicial y
{F} es el conjunto de estados
nales.
Por lo tanto, nos falta definir el diagrama de transiciones que representa a f, que tambin
nos permitir completar el conjunto de estados y de estados finales.
Dado que la palabra clave est formada por 4 smbolos, que deben aparecer siempre de
forma consecutiva, necesitaremos un estado diferente para reconocer cada subsecuencia
de smbolos ledos de la cadena.
Q es su conjunto de estados,
son los smbolos de entrada,
f es la funcin de transicin,
q0 es el estado inicial y
{F} es el conjunto de estados
nales.
Estados
Transicin
Estado final
Pero como se trata de un AFD hay que definir una transicin desde cada estado con cada
uno de los smbolos del alfabeto (1,0).
Tambin es necesario aadir dichas transiciones para controlar las situaciones de error,
en las que la secuencia inicialmente sea igual a la palabra clave, pero llegado un
determinado smbolo vare (1011 variacin 1001), y haya que retroceder hasta el estado
adecuado, que no siempre ser el inicio. As, aadiendo desde cada estado la transicin
con el smbolo que faltaba, nos queda:
Q es su conjunto de estados,
son los smbolos de entrada,
f es la funcin de transicin,
q0 es el estado inicial y
{F} es el conjunto de estados
nales.