Está en la página 1de 30

Introduccin

Teora de Autmatas Finitos


Ejemplos
Representacin Grfica
Usos de los Autmatas

Introduccin a los Autmatas Finitos


Un modelo de Computacin.

Universidad de Cantabria

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

Esquema

1 Introduccin

2 Teora de Autmatas Finitos

3 Ejemplos

4 Representacin Grfica

5 Usos de los Autmatas

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

El Problema

Nuestro objetivo en este tema es introducir un mecanismo


ideal que resuelva problemas automticamente. Esto es, que
para un problema concreto, nosotros le demos unos datos y el
nos de la respuesta correcta.

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

El Problema

Empezaremos por problemas que solamente requieran una


respuesta Si o No.

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

El Problema

Elementos que podemos deducir que tiene un autmata


Cinta de entrada
Programa (Que significa esto del programa?).
Memoria

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

El Autmata

En la cinta de entrada y la memoria se almacenan elementos


de un alfabeto.
Estas son controladas por el programa.
El programa va leyendo de la cinta de izquierda a derecha,
un elemento cada vez.
Una vez ledo un elemento, ya no vuelve a ser ledo.

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

El Autmata

El programa se considera en su forma ms abstracta, en forma


de estados y una funcin de transicin.
El comportamiento se define en funcin del estado que
este el autmata, parte de la memoria y el smbolo ledo
en la cinta.
El estado al final de la ejecucin del programa determina
la respuesta del autmata.

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

El Autmata

El programa, al ser un sistema de computacin, debe admitir


una forma de representacin que involucre un grafo (aunque
este sea un grafo infinito).

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

El Autmata

La memoria tambin contiene informacin de cualquier tipo,


pero asumiremos que son smbolos de un alfabeto finito.
Tiene dos funciones leer y almacenar.
Dependiendo de que informacin se pueda leer y que se
pueda almacenar definiremos el autmata.

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

El Autmata

Empezaremos por la versin ms sencilla de autmatas. Lo


que esta claro es que de los elementos mencionados el nico
que es prescindible es la memoria. Los autmatas finitos son
aquellos que no tienen memoria.

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

La Formalizacin

Definicin
Llamaremos autmata finito a todo quntuplo
A := (Q, , q0 , F , ) donde:
es un conjunto finito (alfabeto),
Q es un conjunto finito cuyos elementos se llaman estados
y que suele denominarse espacio de estados,
q0 es un elemento de Q que se denomina estado inicial,
F es un subconjunto de Q, cuyos elementos se
denominan estados finales aceptadores,
: Q ( {}) Q es una correspondencia que se
denomina funcin de transicin.

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

Pequea nota

Si es aplicacin, el autmata se denomina autmata


determinstico determinista y en caso contrario autmata
indeterminstico indeterminista.

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

Espacio de Configuraciones

S := Q es el espacio de configuraciones. Esto representa


un snapshot (o instantnea) en cada momento de una
computacin del autmata.

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

Computacin de una Palabra

La transicin A S S se define por las reglas siguientes:

(q, x) A (q 0 , x 0 ) {}, x = x 0 , q 0 = (q, x)

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

Interpretacin del Proceso: Cinta de Entrada

| x1 | x2 | x3 |

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

Interpretacin del Proceso

| x1 | x2 | x3 |

| q0 |

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

Interpretacin del Proceso

(q0 , x) A (q1 , x (1) ) A A (qn1 , x (n) ) A (qn , )

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

Interpretacin del Proceso

| | | | | |

| qn |

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

Interpretacin del Proceso

Al acabar de leer la cinta, el autmata comprueba si el estado


es final. En ese caso responde Si, en otro caso responde
No.

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

Un Autmata

Consideremos el siguiente autmata A = (Q, , q0 , F , ).


Donde,
= {a, b}.
Q := {q0 , q1 , q2 , q3 }.
F := {q2 }.

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

Un Autmata

a b
q0 q1 q3
q1 q1 q2
q2 q3 q2
q3 q3 q3

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

Representacin Grfica

Los nodos del grafo estn dados por los estados del grafo.
Cada nodo est rodeado de, al menos, una circunferencia.
Los nodos finales aceptadores del grafo son aquellos que
estn rodeados por dos circunferencias, el resto de los
nodos aparecen rodeados de una sola circunferencia.
Dada una transicin (q, z) = p, asignaremos la arista del
grafo (q, p) con etiqueta z.
Hay una arista sin entrada, cuya salida es el nodo
asociado al estado inicial.

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

Representacin Grfica

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

Ejemplo de Uso de un Autmata

Queremos modelizar la siguiente situacin. Un banco


electrnico reparte dinero a un cliente. Este cliente quiere
comprar bienes de un vendedor. Por simplicidad supondremos
que solo hay una pieza de dinero en juego.

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

Ejemplo de Uso de un Autmata

El banco puede recibir transferir dinero de un cliente a la


cuenta de un vendedor. El banco tambin puede cancelar esta
operacin. Supondremos que cuando se cancela una
operacin, el banco no permitir cobrar ese dinero.

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

Ejemplo de Uso de un Autmata

El vendedor puede pedir que le den el dinero en metlico


cuando lo tenga en su cuenta. Adems puede enviar por
correo los bienes que le haya comprado el cliente.

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

Ejemplo de Uso de un Autmata

El cliente puede enviar la orden de pagar y cancelar todas las


veces que quiera.

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

Ejercicio

Modelar cada uno de los participantes como un autmata y


despus modelar como un autmata todo el escenario.

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

Conclusiones

Los autmatas as expresados son bastante abstractos y


parece que los procedimientos creativos son mejores. Pero
captan la esencia del calculo y hacen posible que solo nos
tengamos que dedicar a realizar algoritmos.

Autmatas Finitos
Introduccin
Teora de Autmatas Finitos
Ejemplos
Representacin Grfica
Usos de los Autmatas

Conclusiones

Los autmatas as expresados son bastante abstractos y


parece que los procedimientos creativos son mejores. Pero
captan la esencia del calculo y hacen posible que solo nos
tengamos que dedicar a realizar algoritmos.

Autmatas Finitos

También podría gustarte