Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas...

30
Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Introducción a los Autómatas Finitos Un modelo de Computación. Universidad de Cantabria Autómatas Finitos

Transcript of Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas...

Page 1: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 2: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 3: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 4: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 5: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 6: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 7: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 8: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 9: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 10: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 11: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 12: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 13: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 14: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 15: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 16: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 17: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 18: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

IntroducciónTeoría de Autómatas Finitos

EjemplosRepresentación GráficaUsos de los Autómatas

Interpretación del Proceso

| | | | · · · | | · · · · · ·

| qn |

Autómatas Finitos

Page 19: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 20: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 21: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 22: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 23: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 24: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 25: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 26: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 27: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 28: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 29: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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

Page 30: Universidad de Cantabria · 2017-06-02 · Autómatas Finitos. Introducción Teoría de Autómatas Finitos Ejemplos Representación Gráfica Usos de los Autómatas Pequeña nota

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