Sunteți pe pagina 1din 18

Teora de Autmatas y Lenguajes Formales

Informtica Tcnica de Gestin


ESCUELA SUPERIOR DE INFORMATICA
Universidad de Castilla-La Mancha

Tema 1. Introduccin

J.J. Castro Snchez


Ciencias de la Computacin
Teora de Autmatas.
Trata del estudio de mquinas de computacin abstractas.
Teora de la Computacin.
Trata del estudio de la computabilidad y de la
complejidad.
Lenguajes y Gramticas.
Trata del estudio y formalizacin de los lenguajes.

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


Historia (I)
En 1930s, A. Turing desarroll una mquina abstracta
denominada Mquina de Turing para el estudio de la
computabilidad.
En 1940s y 1950s, se desarrollan unas mquinas simples,
en cuanto su funcionamiento, que fueron conocidas como
autmatas finitos, para modelar el funcionamiento del
cerebro.
Tambin en los 1950s, N. Chomsky comienza el estudio
formal de las gramticas (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 prctica toman demasiados recursos.
Autmatas finitos y ciertas clases de gramticas formales
son usadas en el diseo y construccin de software.
La Mquina 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?
Autmatas Finitos son modelos tiles para muchos
elementos hardware y software:

Software para disear y chequear la conducta de circuitos digitales.


El analizador lxico de un compilador.
Software para escanear grandes volmenes de texto para encontrar
patrones.
Software para verificar sistemas que tengan un nmero finito de
estados, tales como protocolos de comunicacin o de intercambio
seguro de informacin.

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


Por qu estudiar TALF?
Autmatas son esenciales para el estudio de los lmites de
la computacin:

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 mquina,
parte de lo que puede hacer la mquina depende del poder
descriptivo del lenguaje.

Compiladores.
Traductores.
Diseo de lenguajes de alto nivel.

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


Mquinas abstractas
Autmatas Finitos.
Autmatas a Pila.
Autmatas linealmente acotados.
Mquina de Turing.

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


Definicin informal de autmata
Son sistemas que en todo momento se encuentran en uno de un
conjunto finito de estados.
El propsito de un estado es recordar la historia del sistema.
Puesto que el nmero de estados es finito, el sistema debe ser
diseado para recordar aquello que es importante y olvidar lo
que no.
La ventaja de tener un nmero 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 Presin
(OFF). Comienzo
El usuario lo presiona. off on
Si est en OFF y es presionado
pasa al estado ON. Presin
Si est en ON y es presionado
pasa al estado OFF.

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


Gramticas Formales
Gramtica regulares.
Gramticas independientes de contexto.
Gramticas sensibles al contexto.
Gramtica sin restricciones o de estructura de
frase.

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


Definicin informal de Gramtica
Es el mecanismo empleado para establecer la estructura de un
lenguaje, es decir las sentencias que lo forman.
Consiste de un conjunto de reglas sintcticas que establecen la
forma en la que se pueden combinar los smbolos 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 CONJUNCIN y una
ORACION.

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


Tipos de Gramticas
N. Chomsky clasifica las gramticas en cuatro tipos:
Gramticas sin restricciones o gramticas de estructura de frases
(Tipo 0).
Gramticas sensibles al contexto (Tipo 1).
Gramticas independientes de contexto (Tipo 2).
Gramticas 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 clasificacin 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


Teora de Autmatas - Lenguajes Formales
(Mquinas abstractas - Gramticas Formales)

equivale
Gramtica Mquina

describe reconoce
genera genera

Lenguajes

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


Teora de Autmatas - Lenguajes Formales
(Mquinas abstractas - Gramticas Formales)

Gramticas Lenguajes Mquinas

Sin restricciones o Sin restricciones o Mquina de Turing


de Tipo 0 de Tipo 0

Sensible al contexto Sensible al contexto Autmata


o de Tipo 1 o de Tipo 1 linealmente acotado

Libre de contexto o Libre de contexto o Autmata a pila


de Tipo 2 de Tipo 2

Regular o de Tipo 3 Regular o de Tipo 3 Autmata 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 bsicos (como lenguajes y
gramticas formales) que sern empleados en el resto de los temas.
En el Tema 4 estudiaremos las gramticas de tipo 3 y las mquinas
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 estn dedicados a las gramticas de tipo 2, sus
mquinas reconocedoras y las propiedades de este tipo de lenguajes.
En el tema 10 se estudian las gramticas de tipo 0 y tipo 1 y las
mquinas de Turing.

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


Y al final del curso qu?
Construir autmatas para modelar sistemas.
Desarrollar gramticas para generar un lenguaje dado.
Construir mquinas 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

S-ar putea să vă placă și