You are on page 1of 9

Teora de Autmatas y Lenguajes

Formales
Captulo 1: Introduccin
Holger Billhardt
holger.billhardt@urjc.es

Introduccin


Teora de Autmatas y Lenguajes formales es un


repaso a la informtica terica.

La informtica terica:


se ha desarrollado en base a la confluencia de campos en


aparencia muy distintos:




Investigacin acerca de Fundamentos Matemticos,


Teora de Mquinas,
Lingstica,

Ciencia multidisciplinar que se apoya en que los mismos


fenmenos pueden actuar y servir de fundamento en reas
totalmente desconectadas (aparentemente).

Universidad Rey Juan Carlos

Teora de Autmatas y Lenguajes Formales


Ingeniera Tcnica en Informtica de Sistemas
Curso 2007-2008

Introduccin


Pilares de la informtica terica:






Mquinas abstractas y algoritmos


Lenguajes y gramticas
Autmatas / mquinas secuenciales

Universidad Rey Juan Carlos

Teora de Autmatas y Lenguajes Formales


Ingeniera Tcnica en Informtica de Sistemas
Curso 2007-2008

Autmatas / Mquinas secuenciales




Eslabn de la informtica terica que proviene


de la Ingeniera Elctrica.

1938 Claude Elwood Shannon: A symbolic


Analysis of relay and switching circuits


Aplicacin de la lgica matemtica a los circuitos


combinatorios y secuenciales.

Sus ideas desarrollaron la Teora de los


autmatas finitos y mquinas secuenciales


Un autmata es un dispositivo abstracto que es capaz de


recibir informacin, cambiar de estado y transmitir informacin.

Universidad Rey Juan Carlos

Teora de Autmatas y Lenguajes Formales


Ingeniera Tcnica en Informtica de Sistemas
Curso 2007-2008

Autmatas / Mquinas secuenciales




Un autmata es un modelo abstracto de una


computadora digital







Lee smbolos en la entrada


Produce smbolos en la salida
Tiene una unidad de control que puede estar en uno de sus
posibles estados internos
Puede cambiar de los estados internos en funcin de la entrada
Puede tener algn tipo de memoria

Autmatas transductores / generadores / aceptadores


Entrada
Unidad de
Control

Salida

Memoria

Universidad Rey Juan Carlos

Teora de Autmatas y Lenguajes Formales


Ingeniera Tcnica en Informtica de Sistemas
Curso 2007-2008

Autmatas / Mquinas secuenciales




La Teora de Autmatas encuentra aplicacin en campos


muy diversos (que manejan concepto de control,
accin y memoria):












Teora de la Comunicacin
Teora del Control
Lgica de los Circuitos Secuenciales
Ordenadores
Redes Conmutadoras y Codificadoras
Teora Lgica de los Sistemas Evolutivos y Auto-reproductivos
Reconocimiento de Patrones
Fisiologa del Sistema Nervioso
Estructura y Anlisis de los Lenguajes de Programacin para
Ordenadores Digitales
Traduccin Automtica de Lenguajes
Teora Algebraica de Lenguajes

Universidad Rey Juan Carlos

Teora de Autmatas y Lenguajes Formales


Ingeniera Tcnica en Informtica de Sistemas
Curso 2007-2008

Lenguajes y Gramticas


Segundo eslabn: Lingstica (campo


tradicionalmente considerado no cientfico).
Aos 50 Avram Noam Chomsky


Teora de las Gramticas Transformacionales





Base de la Lingstica Matemtica


Proporcion una herramienta que no slo poda aplicarse a los
lenguajes naturales, sino que facilitaba el estudio y
formalizacin de los lenguajes de ordenador que aparecan en
aquella poca.

Universidad Rey Juan Carlos

Teora de Autmatas y Lenguajes Formales


Ingeniera Tcnica en Informtica de Sistemas
Curso 2007-2008

Lenguajes y Gramticas


Cualquier comunicacin se realiza mediante cadenas


de smbolos que corresponden a un lenguaje.
Lenguajes son conjuntos de cadenas de smbolos
(palabras, oraciones, textos o frases)
El estudio de los lenguajes se reduce, bsicamente, a:


Sintaxis: (gramtica)


define las secuencias de smbolos que forman cadenas vlidas de


un lenguaje
Gramtica: Descripcin formalizada de las oraciones de un lenguaje.
Una gramtica genera o describe un lenguaje.

Semntica:


significado de las cadenas que componen un lenguaje

Universidad Rey Juan Carlos

Teora de Autmatas y Lenguajes Formales


Ingeniera Tcnica en Informtica de Sistemas
Curso 2007-2008

Lenguajes y Gramticas


Ejemplo 1:


Semntica:


A es un nmero natural.

Diferente sintaxis en diferentes lenguajes:






A is a natural number.
A : Natural;
0100000100000001

Universidad Rey Juan Carlos

Teora de Autmatas y Lenguajes Formales


Ingeniera Tcnica en Informtica de Sistemas
Curso 2007-2008

Lenguajes y Gramticas


Ejemplo 2:

Sintaxis:


Semntica:


if_statement ::= if condition then sequence_of_statement {elsif


condition then sequence_of_statements} [else
sequence_of_statements] end if;
Si se cumple <condition> entonces haz lo que viene definido por
<sequence_of_statements>. En caso contrario ...

Cadena del lenguaje:




if Line_Too_Short then raise Layout_Error; elsif Line_Full then


New_Line; Put(Item); else Put(Item); end if;

Universidad Rey Juan Carlos

Teora de Autmatas y Lenguajes Formales


Ingeniera Tcnica en Informtica de Sistemas
Curso 2007-2008

10

Lenguajes y Gramticas


La Teora de Lenguajes Formales result tener una


relacin inmediata y directa con la Teora de Mquinas
Abstractas.


Chomsky clasific de las gramticas en diferentes tipos:





Se establecieron correspondencias (isomorfismos) entre ellas.

Lenguajes del mismo tipo tienen propiedades en comn


Segn el tipo de lenguaje, existen diferentes algoritmos que
permiten comprobar la sintaxis de textos.

Paralelamente a esta jerarqua de lenguajes existe una


jerarqua de mquinas abstractas equivalentes.

Teora de Autmatas y Lenguajes Formales


Ingeniera Tcnica en Informtica de Sistemas
Curso 2007-2008

Universidad Rey Juan Carlos

11

Lenguajes y Gramticas

Relacin entre autmatas y lenguajes:




Autmatas aceptadores: las entradas vlidas


corresponden a un lenguaje
equivalencia
Gramticas

Autmatas

generan

aceptan
Lenguajes

Universidad Rey Juan Carlos

Teora de Autmatas y Lenguajes Formales


Ingeniera Tcnica en Informtica de Sistemas
Curso 2007-2008

12

Mquinas abstractas y algoritmos




La historia de la informtica terica se remonta


a la dcada de los 30.

1931 - Kurt Gdel: On formally undecidable


Propositions in Principia Mathematica and
related systems


Revolucin Matemtica: Cualquier teora matemtica


ha de ser incompleta. Siempre habr en ella
afirmaciones que no se podrn demostrar ni negar.

Universidad Rey Juan Carlos

Teora de Autmatas y Lenguajes Formales


Ingeniera Tcnica en Informtica de Sistemas
Curso 2007-2008

13

Mquinas abstractas y algoritmos




1937 Alan Mathison Turing: On computable numbers


with an application to the Entscheidungsproblem







Desarrollo del teorema de Gdel


Origen oficial de la informtica terica.
Definicin de la Mquina de Turing como dispositivo matemtico
abstracto de clculo que introduce el concepto de algoritmo.
Precursora abstracta de las mquinas de calcular automticas.
Demuestra la existencia de problemas irresolubles, para los que
ninguna mquina de Turing (y ningn ordenador) puede encontrar
la solucin. (Teora de la Computabilidad).
La Mquina de Turing es un modelo adecuado para los
ordenadores actuales.

Universidad Rey Juan Carlos

Teora de Autmatas y Lenguajes Formales


Ingeniera Tcnica en Informtica de Sistemas
Curso 2007-2008

14

Desarrollo de la Asignatura









Conceptos bsicos: Lenguajes Formales y


Gramticas
Lenguajes regulares
Autmatas Finitos
Lenguajes Independientes del Contexto
Autmatas a Pila
Mquinas de Turing
Computabilidad

Universidad Rey Juan Carlos

Teora de Autmatas y Lenguajes Formales


Ingeniera Tcnica en Informtica de Sistemas
Curso 2007-2008

15

Notaciones que utilizaremos





Bsicamente operaciones sobre conjuntos.


Conjunto:



{x | ...}, el conjunto de los x tales que ...


{x1, x2, x3, x4, x5}, el conjunto compuesto por los
elementos x1 a x5

Pertenencia: x C, el elemento x pertenece al


conjunto C
Inclusin: C C, el conjunto C es un
subconjunto del C
Cardinalidad: |C|, el nmero de elementos del
conjunto C

Universidad Rey Juan Carlos

Teora de Autmatas y Lenguajes Formales


Ingeniera Tcnica en Informtica de Sistemas
Curso 2007-2008

16

Notaciones que utilizaremos







Unin de conjuntos: C C, la unin de los conjuntos


C y C
Interseccin: C C, la interseccin de los conjuntos
C y C
Simplificacin: a...z a, ...,z x1,...,xn (todos los
elementos entre x1 y xn)
Aplicacin entre conjuntos:


f : E1 E2 ... En S1 S2 ... Sm,


La funcin (aplicacin) f est definida entre los conjuntos Ei y Sj.

Desde el punto de vista computacional, se puede entender que f


recibe de entrada a un elemento para cada conjunto Ei y genera
una salida para cada conjunto Sj


Ms notaciones se introducirn a lo largo del curso.

Universidad Rey Juan Carlos

Teora de Autmatas y Lenguajes Formales


Ingeniera Tcnica en Informtica de Sistemas
Curso 2007-2008

17

You might also like