teoría de autómatas

27
TEORÍA DE AUTÓMATAS UNIVERSIDAD LA SALLE - MARÍA INÉS CAHUANA LÁZARO

Upload: marines-kl

Post on 21-Feb-2017

234 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Teoría de autómatas

TEORÍA DE AUTÓMATASUNIVERSIDAD LA SALLE

- MARÍA INÉS CAHUANA LÁZARO

Page 2: Teoría de autómatas

AUTÓMATAS• ¿QUÉ ES?

• Es una máquina (mecanismo) de naturaleza formal• “sólo existe como un mecanismo matemático”

• Acepta una información de entrada (input)• La procesa

• La somete a transformaciones simbólicas que pueden adoptar la forma de un cálculo o computación

• Y genera un resultado o salida (outputs, a veces más de un resultado)

Page 3: Teoría de autómatas

PARA EL MODELO MATEMÁTICO Autómata:  

Modelo Matemático de computación. Dispositivo abstracto con capacidad de computación.

Teoría de autómatas: Abstracción de cualquier tipo de computador y/o

lenguaje de programación.

Page 4: Teoría de autómatas

ANTECEDENTES Estudio de las maquinas abstractas. Década de los 30', Alan Turing estudio una maquina abstracta, con

las capacidades de los ordenadores actuales. Turing, límites de lo que una maquina de calculo podía o no podía

hacer. 40' y 50', estudiaron los autómatas finitos (AF), propusieron para

modelar funcionamiento del cerebro. Finales 50', N. Chomsky inicio el estudio de las Gramáticas Formales.

Page 5: Teoría de autómatas

¿PARA QUÉ SABER DE AUTÓMATAS? 1969, S.Cook amplio estudio de Turing, separo los problemas que se

podan resolver de forma eficiente mediante la ayuda de un ordenador de los que al principio pueden resolverse pero en la practica consumen tanto tiempo que los ordenadores se vuelven inútiles para todo excepto para casos simples del problema

Conceptos de AF y GF, se emplean para el diseño y construcción de software.

Los conceptos de la Maquina de Turing, nos ayuda a comprender lo que esperamos de nuestro software.

La teoría de problemas intratables nos permite deducir si podremos enfrentarnos a un problema y escribir un programa para resolverlo o encontrar alguna manera de abordar el problema: hallar una aproximación, método heurístico o algún método para limitar el tiempo

que utilizara el programa para resolverlo.

Page 6: Teoría de autómatas

ENCENDIENDO EL FOQUITOEste almacén esta lleno de

miles de miles de cintas

regrabables! Que haremos

con esto?

y así nació la máquina de Turing

Page 7: Teoría de autómatas

ALGUNAS RAZONES Existen varias razones del estudio de la teoría de autómatas dentro de

las Ciencias de la Computación. Introducción a los autómatas finitos. Representaciones estructurales. Autómatas y complejidad.

Talvez dentro de un tiempo todo ya sea

totalmente automatizado

Page 8: Teoría de autómatas

ALGUNAS RAZONES AF son modelos útiles para diferentes tipos de hardware y software. SW para diseñar y probar el comportamiento de circuitos digitales. Analizador Léxico, separa el texto de entrada de en unidades lógicas:

identificadores, palabras reservadas, signos de puntuación, etc. SW para explorar cuerpos de texto largos, como colecciones de

paginas web o para determinar el numero de apariciones de palabras, frases u otros patrones.

SW para verificar sistemas que tengan un numero de estados finitos diferentes, como protocolos de comunicacional o protocolos seguros de intercambio de información.

Page 9: Teoría de autómatas

LOS AUTÓMATAS DEBERIAN SER CAPACES DE:• Reconocer los lenguajes• Comparación de cadenas

• Los autómatas deben ser capaces de entender un lenguaje y por el mismo hacer comparaciones que llevan a distintos estados para terminar en algún estado final, o en su caso en muchos estados finales

• Ejemplos (Word diccionario, buscar, reemplazar)

Page 10: Teoría de autómatas

PARA ENTENDER A LOS AUTÓMATAS SE DEFINIRAN ALGUNOS CONCEPTOS Alfabetos

• Conjunto de símbolos• A={a,b,c,d, ….z}

Palabras• Concatenación de símbolos pertenecientes a un alfabeto • A={a,b,c,d, ….z}• Ejemplo casa

Page 11: Teoría de autómatas

PARA ENTENDER A LOS AUTÓMATAS SE DEFINIRAN ALGUNOS CONCEPTOS Lenguaje

• Conjunto de palabras formadas sobre un alfabeto • L={alfabeto castellano}• Restricciones (ciertas palabras)

Page 12: Teoría de autómatas

TIPOS DE AUTÓMATASAutómatas finitosAutómatas probabilísticosAutómatas a pilaCélulas de Mc Culloch- PiksMáquinas de turingAutómatas celularesRedes de neuronas Celulares

Page 13: Teoría de autómatas

AUTÓMATAS DISTCRETOS CONTÍNUOS E HÍBRIDOS

DISCRETOS: Autómatas finitos Autómatas a pila Máquinas de turing

DISCRETOS, CONTINUOS Y/O HÍBRIDOS Autómatas Celulares Redes de neuronas Artificiales

Page 14: Teoría de autómatas

AUTÓMATAS DE ESTADO FINITO ¿Qué es un autómata Finito?

Un autómata finito es un conjunto de nodos y aristas que representan trayectorias para generar una expresión bajo un alfabeto.

Un diagrama de transición es un autómata finito.

Page 15: Teoría de autómatas

Elementos del Autómata Finito Los estados se identifican dentro de un circulo.

El estado inicial recibe una flecha de transición que llega de ninguna parte.

Los estado aceptadores pueden identificarse con doble circulo o con una

cruz(igual que signo +) al lado de ellos.

Las posibles transiciones se indicaran con flechas que van de un estado a

otro, o incluso a sí mismos. Deben etiquetarse con el símbolo que produce el

cambio de estado.

Page 16: Teoría de autómatas

Los Estado del Autómata Entonces decimos que los estado del autómata

pueden ser: Estados iniciales Estados finales llamados aceptadores Estados finales no aceptadores

La palabra que va de un estado a otro solo pertenece al lenguaje si el estado que la recibe es aceptador.

Y lo contrario, si llega al final hasta un estado no aceptador, la palabra no pertenece al lenguaje.

Page 17: Teoría de autómatas

Ejemplo Gráfico de Autómata Finito

Page 18: Teoría de autómatas

Supongamos un Lenguaje X El lenguaje X es capaz de identificar la

siguiente cadena.

w=aabab

Tratemos de identificar los procesos del Autómata.

Page 19: Teoría de autómatas

Ejemplo de Algoritmo para Autómata

Page 20: Teoría de autómatas

Clasificación de los autómatas finitos O Autómatas finitos determinísticos (DFA)

O Autómatas finitos no determinísticos (DNFA)

Page 21: Teoría de autómatas

Autómata Finito Determinista (DFA) Es un dispositivo que puede estar en un estado de entre

un número finito de los mismos; uno de ellos será el estado inicial y por lo menos uno será estado de aceptación.

Tiene un flujo de entrada por el cual llegan los símbolos de una cadena que pertenecen a un alfabeto determinado.

Se detecta el símbolo y dependiendo de este y del estado en que se encuentre hará una transición a otro estado o permanece en el mismo.

El mecanismo de control o programa es que determina cual es la transición a realizar.

Page 22: Teoría de autómatas

Analizar el siguiente Ejemplo.

Page 23: Teoría de autómatas

Porqué Finito, Por qué Determinista? Porqué finito: Se refiere que hay un conjunto finito de estados.

Porque determinista:

La palabra determinista es porque el programa no debe tener ambigüedades, es decir, en cada estado solo se puede dar una y solo una (ni dos ni ninguna) transición para cada símbolo posible.

El autómata acepta la cadena de entrada si la máquina cambia a un estado de aceptación después de leer el último símbolo de la cadena.

Si después del último símbolo la máquina no queda en estado de aceptación, se ha rechazado la cadena.

Page 24: Teoría de autómatas

Tuplas del Autómata Finito

Page 25: Teoría de autómatas

Explicación del Diagrama DeterministaEstará caracterizado porque debe estar totalmente

definido:

Para cada estado solo debe salir un arco y solo

uno para cada símbolo (el autómata no puede

determinar la transición en el caso de que haya

dos arcos con el mismo símbolo o no haya

ninguno).

Page 26: Teoría de autómatas

Ejemplo: Definición El alfabeto S = { a, b, c }

Reconoce la cadena c

La cadena a

Las cadenas que empiezan por a y acaban en a o en b y

Las que empiezan por a, seguidas de una serie de a ó de b y

acaban en c

Page 27: Teoría de autómatas

Ejemplo: Autómata