Está en la página 1de 18

Teoría de Autómatas y Lenguajes Formales

Informática Técnica de Gestión


ESCUELA SUPERIOR DE INFORMATICA
Universidad de Castilla-La Mancha

Tema 1. Introducción

J.J. Castro Sánchez


Ciencias de la Computación
• Teoría de Autómatas.
Trata del estudio de máquinas de computación abstractas.
• Teoría de la Computación.
Trata del estudio de la computabilidad y de la
complejidad.
• Lenguajes y Gramáticas.
Trata del estudio y formalización de los lenguajes.

UNIVERSIDAD DE CASTILLA-LA MANCHA © J.J. Castro-Schez, 2001/2002


Historia (I)
• En 1930´s, A. Turing desarrolló una máquina abstracta
denominada Máquina de Turing para el estudio de la
computabilidad.
• En 1940´s y 1950´s, se desarrollan unas máquinas simples,
en cuanto su funcionamiento, que fueron conocidas como
autómatas finitos, para modelar el funcionamiento del
cerebro.
• También en los 1950´s, N. Chomsky comienza el estudio
formal de las gramáticas (generadoras de lenguajes).

UNIVERSIDAD DE CASTILLA-LA MANCHA © J.J. Castro-Schez, 2001/2002


Historia (II)
• En 1969, S. Cook extiende el estudio de Tuning. Cook
separa aquellos problemas que pueden ser solucionados de
aquellos que en principio pueden ser solucionados pero
que en la práctica toman demasiados recursos.
• Autómatas finitos y ciertas clases de gramáticas formales
son usadas en el diseño y construcción de software.
• La Máquina de Turing ayuda a comprender que es lo que
podemos esperar de nuestro software.

UNIVERSIDAD DE CASTILLA-LA MANCHA © J.J. Castro-Schez, 2001/2002


¿Por qué estudiar TALF?
• Autómatas Finitos son modelos útiles para muchos
elementos hardware y software:

– Software para diseñar y chequear la conducta de circuitos digitales.


– El analizador léxico de un compilador.
– Software para escanear grandes volúmenes de texto para encontrar
patrones.
– Software para verificar sistemas que tengan un número finito de
estados, tales como protocolos de comunicación o de intercambio
seguro de información.

UNIVERSIDAD DE CASTILLA-LA MANCHA © J.J. Castro-Schez, 2001/2002


¿Por qué estudiar TALF?
• Autómatas son esenciales para el estudio de los límites de
la computación:

– ¿Qué puede hacer un computador? Problema de la decibilidad.


– ¿Qué puede hacer un computador eficientemente? Problema de la
tratabilidad.

UNIVERSIDAD DE CASTILLA-LA MANCHA © J.J. Castro-Schez, 2001/2002


¿Por qué estudiar TALF?
• Los lenguajes nos permiten comunicarnos con la máquina,
parte de lo que puede hacer la máquina depende del poder
descriptivo del lenguaje.

– Compiladores.
– Traductores.
– Diseño de lenguajes de alto nivel.

UNIVERSIDAD DE CASTILLA-LA MANCHA © J.J. Castro-Schez, 2001/2002


Máquinas abstractas
• Autómatas Finitos.
• Autómatas a Pila.
• Autómatas linealmente acotados.
• Máquina de Turing.

UNIVERSIDAD DE CASTILLA-LA MANCHA © J.J. Castro-Schez, 2001/2002


Definición informal de autómata
• Son sistemas que en todo momento se encuentran en uno de un
conjunto finito de estados.
• El propósito de un estado es recordar la historia del sistema.
• Puesto que el número de estados es finito, el sistema debe ser
diseñado para recordar aquello que es importante y olvidar lo
que no.
• La ventaja de tener un número finito de estados es que el
sistema podrá ser implementado con un fijo conjunto de
recursos.

UNIVERSIDAD DE CASTILLA-LA MANCHA © J.J. Castro-Schez, 2001/2002


Ejemplo de AF
• Sistema: Interruptor.
• El sistema recuerda si está
conectado (ON) o desconectado Presión
(OFF). Comienzo
• El usuario lo presiona. off on
• Si está en OFF y es presionado
pasa al estado ON. Presión
• Si está en ON y es presionado
pasa al estado OFF.

UNIVERSIDAD DE CASTILLA-LA MANCHA © J.J. Castro-Schez, 2001/2002


Gramáticas Formales
• Gramática regulares.
• Gramáticas independientes de contexto.
• Gramáticas sensibles al contexto.
• Gramática sin restricciones o de estructura de
frase.

UNIVERSIDAD DE CASTILLA-LA MANCHA © J.J. Castro-Schez, 2001/2002


Definición informal de Gramática
• Es el mecanismo empleado para establecer la estructura de un
lenguaje, es decir las sentencias que lo forman.
• Consiste de un conjunto de reglas sintácticas que establecen la
forma en la que se pueden combinar los símbolos del alfabeto:
– ORACION es un SUJETO y un PREDICADO.
– SUJETO es una FRASE NOMINAL.
– FRASE NOMINAL es un GRUPO NOMINAL y un CALIFICATIVO que
puede o no estar.
– GRUPO NOMINAL es un ARTICULO que puede no estar y un
NOMBRE.
– CALIFICATIVO es un ADJETIVO o una CONJUNCIÓN y una
ORACION.

UNIVERSIDAD DE CASTILLA-LA MANCHA © J.J. Castro-Schez, 2001/2002


Tipos de Gramáticas
• N. Chomsky clasifica las gramáticas en cuatro tipos:
– Gramáticas sin restricciones o gramáticas de estructura de frases
(Tipo 0).
– Gramáticas sensibles al contexto (Tipo 1).
– Gramáticas independientes de contexto (Tipo 2).
– Gramáticas regulares (Tipo 3).

Tipo 0 Tipo 1 Tipo 2 Tipo 3

UNIVERSIDAD DE CASTILLA-LA MANCHA © J.J. Castro-Schez, 2001/2002


Tipos de Lenguajes
• Conforme a la clasificación de N. Chomsky, los lenguajes se
clasifican en cuatro tipos:
– Lenguajes sin restricciones (Tipo 0).
– Lenguajes sensibles (o dependientes) al contexto (Tipo 1).
– Lenguajes independientes de contexto (Tipo 2).
– Lenguajes regulares (Tipo 3).

Tipo 0 Tipo 1 Tipo 2 Tipo 3

UNIVERSIDAD DE CASTILLA-LA MANCHA © J.J. Castro-Schez, 2001/2002


Teoría de Autómatas - Lenguajes Formales
(Máquinas abstractas - Gramáticas Formales)

equivale
Gramática Máquina

describe reconoce
genera genera

Lenguajes

UNIVERSIDAD DE CASTILLA-LA MANCHA © J.J. Castro-Schez, 2001/2002


Teoría de Autómatas - Lenguajes Formales
(Máquinas abstractas - Gramáticas Formales)

Gramáticas Lenguajes Máquinas

Sin restricciones o Sin restricciones o Máquina de Turing


de Tipo 0 de Tipo 0

Sensible al contexto Sensible al contexto Autómata


o de Tipo 1 o de Tipo 1 linealmente acotado

Libre de contexto o Libre de contexto o Autómata a pila


de Tipo 2 de Tipo 2

Regular o de Tipo 3 Regular o de Tipo 3 Autómata Finito

UNIVERSIDAD DE CASTILLA-LA MANCHA © J.J. Castro-Schez, 2001/2002


¿Y en el resto del curso?
• En los Temas 2 y 3 trataremos conceptos básicos (como lenguajes y
gramáticas formales) que serán empleados en el resto de los temas.
• En el Tema 4 estudiaremos las gramáticas de tipo 3 y las máquinas
reconocedoras de los lenguajes de tipo 3.
• En los Temas 5 y 6 se describen las expresiones regulares, mecanismos
útiles para representar lenguajes regulares y sus propiedades.
• En los Temas 7, 8 y 9 están dedicados a las gramáticas de tipo 2, sus
máquinas reconocedoras y las propiedades de este tipo de lenguajes.
• En el tema 10 se estudian las gramáticas de tipo 0 y tipo 1 y las
máquinas de Turing.

UNIVERSIDAD DE CASTILLA-LA MANCHA © J.J. Castro-Schez, 2001/2002


¿Y al final del curso qué?
• Construir autómatas para modelar sistemas.
• Desarrollar gramáticas para generar un lenguaje dado.
• Construir máquinas para reconocer sentencias de un
determinado lenguaje.
• Comprobar el tipo de un lenguaje dado.

UNIVERSIDAD DE CASTILLA-LA MANCHA © J.J. Castro-Schez, 2001/2002

También podría gustarte