2. 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)
3. 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.
4. ANTECEDENTES
Estudio de las maquinas abstractas.
Década de los 30',AlanTuring 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.
5. ¿PARA QUÉ SABER DE AUTÓMATAS?
1969, S.Cook amplio estudio deTuring, 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 deTuring, 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.
6. ENCENDIENDO EL FOQUITO
Este almacén esta
lleno de miles de
miles de cintas
regrabables!
Que haremos con
esto?
y así nació la máquina deTuring
7. 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
8. 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.
9. 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)
10. 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
11. PARA ENTENDER A LOS AUTÓMATAS SE
DEFINIRAN ALGUNOS CONCEPTOS
Lenguaje
• Conjunto de palabras formadas sobre un alfabeto
• L={alfabeto castellano}
• Restricciones (ciertas palabras)
12. TIPOS DE AUTÓMATAS
Autómatas finitos
Autómatas probabilísticos
Autómatas a pila
Células de Mc Culloch-Piks
Máquinas de turing
Autómatas celulares
Redes de neuronas Celulares
13. AUTÓMATAS DISTCRETOS CONTÍNUOS E
HÍBRIDOS
DISCRETOS:
Autómatas finitos
Autómatas a pila
Máquinas de turing
DISCRETOS, CONTINUOSY/O HÍBRIDOS
Autómatas Celulares
Redes de neuronas Artificiales
14. 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.
15. 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.
16. 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.
20. Clasificación de los autómatas finitos
O Autómatas finitos determinísticos (DFA)
O Autómatas finitos no determinísticos (DNFA)
21. 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.
23. 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.
25. Explicación del Diagrama Determinista
Estará 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).
26. 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