Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas...
Transcript of Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas...
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
Introducción a los Autómatas FinitosUn modelo de Computación.
Universidad de Cantabria
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
Esquema
1 Introducción
2 Teoría de Autómatas Finitos
3 Ejemplos
4 Representación Gráfica
5 Usos de los Autómatas
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
El Problema
Nuestro objetivo en este tema es introducir un “mecanismoideal” que resuelva problemas automáticamente. Esto es, quepara un problema concreto, nosotros le demos unos datos y el“nos de la respuesta correcta”.
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
El Problema
Empezaremos por problemas que “solamente” requieran unarespuesta “Si” o “No”.
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
El Problema
Elementos que podemos deducir que tiene un autómataCinta de entrada“Programa” (¿Que significa esto del programa?).Memoria
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
El Autómata
En la cinta de entrada y la memoria se almacenan elementosde 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 leído un elemento, ya no vuelve a ser leído.
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
El Autómata
El programa se considera en su forma más abstracta, en formade estados y una función de transición.
El comportamiento se define en función del estado queeste el autómata, parte de la memoria y el símbolo leídoen la cinta.El estado al final de la ejecución del programa determinala respuesta del autómata.
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
El Autómata
El programa, al ser un sistema de computación, debe admitiruna forma de representación que involucre un grafo (aunqueeste sea un grafo infinito).
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
El Autómata
La memoria también contiene información de cualquier tipo,pero asumiremos que son símbolos de un alfabeto finito.
Tiene dos funciones leer y almacenar.Dependiendo de que información se pueda leer y que sepueda almacenar definiremos el autómata.
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
El Autómata
Empezaremos por la versión más sencilla de autómatas. Loque esta claro es que de los elementos mencionados el únicoque es prescindible es la “memoria”. Los autómatas finitos sonaquellos que no tienen memoria.
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
La Formalización
DefiniciónLlamaremos autómata finito a todo quíntuploA := (Q,Σ,q0,F , δ) donde:
Σ es un conjunto finito (alfabeto),Q es un conjunto finito cuyos elementos se llaman estadosy 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 sedenominan estados finales ó aceptadores,δ : Q × (Σ ∪ {λ}) −→ Q es una correspondencia que sedenomina función de transición.
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
Pequeña nota
Si δ es aplicación, el autómata se denomina autómatadeterminístico ó determinista y en caso contrario autómataindeterminístico ó indeterminista.
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
Espacio de Configuraciones
S := Q × Σ∗ es el espacio de configuraciones. Esto representaun “snapshot” (o instantánea) en cada momento de unacomputación del autómata.
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
Computación de una Palabra
La transición→A⊆ S × S se define por las reglas siguientes:
(q, x)→A (q′, x ′) ⇔ ∃α ∈ Σ ∪ {λ}, x = αx ′, q′ = δ(q, x)
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
Interpretación del Proceso: Cinta de Entrada
| x1 | x2 | x3 | · · ·
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
Interpretación del Proceso
| x1 | x2 | x3 | · · ·
↑
| q0 |
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
Interpretación del Proceso
(q0, x)→A (q1, x (1))→A · · · →A (qn−1, x (n))→A (qn, λ)
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
Interpretación del Proceso
| | | | · · · | | · · · · · ·
↑
| qn |
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
Interpretación del Proceso
Al acabar de leer la cinta, el autómata comprueba si el estadoes final. En ese caso responde “Si”, en otro caso responde“No”.
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
Un Autómata
Consideremos el siguiente autómata A = (Q,Σ,q0,F , δ).Donde,
Σ = {a,b}.Q := {q0,q1,q2,q3}.F := {q2}.
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
Un Autómata
δ a bq0 q1 q3q1 q1 q2q2 q3 q2q3 q3 q3
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
Representación Gráfica
Los nodos del grafo están dados por los estados del grafo.Cada nodo está rodeado de, al menos, una circunferencia.Los nodos finales aceptadores del grafo son aquellos queestán rodeados por dos circunferencias, el resto de losnodos aparecen rodeados de una sola circunferencia.Dada una transición δ(q, z) = p, asignaremos la arista delgrafo (q,p) con etiqueta z.Hay una arista sin entrada, cuya salida es el nodoasociado al estado inicial.
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
Representación Gráfica
Figura: Representación gráfica del autómata.
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
Ejemplo de Uso de un Autómata
Queremos modelizar la siguiente situación. Un bancoelectrónico reparte dinero a un cliente. Este cliente quierecomprar bienes de un vendedor. Por simplicidad supondremosque solo hay una pieza de dinero en juego.
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
Ejemplo de Uso de un Autómata
El banco puede recibir transferir dinero de un cliente a lacuenta de un vendedor. El banco también puede cancelar estaoperación. Supondremos que cuando se cancela unaoperación, el banco no permitirá cobrar ese dinero.
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
Ejemplo de Uso de un Autómata
El vendedor puede pedir que le den el dinero en metálicocuando lo tenga en su cuenta. Además puede enviar porcorreo los bienes que le haya comprado el cliente.
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
Ejemplo de Uso de un Autómata
El cliente puede enviar la orden de pagar y cancelar todas lasveces que quiera.
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
Ejercicio
Modelar cada uno de los participantes como un autómata ydespués modelar como un autómata todo el escenario.
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
Conclusiones
Los autómatas así expresados son bastante abstractos yparece que los procedimientos “creativos” son mejores. Perocaptan la esencia del calculo y hacen posible que solo nostengamos que dedicar a realizar algoritmos.
Autómatas Finitos
IntroducciónTeoría de Autómatas Finitos
EjemplosRepresentación GráficaUsos de los Autómatas
Conclusiones
Los autómatas así expresados son bastante abstractos yparece que los procedimientos “creativos” son mejores. Perocaptan la esencia del calculo y hacen posible que solo nostengamos que dedicar a realizar algoritmos.
Autómatas Finitos