Sunteți pe pagina 1din 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).
Teora de Autmatas y Lenguajes Formales Ingeniera Tcnica en Informtica de Sistemas

Universidad Rey Juan Carlos

Introduccin
Pilares de la informtica terica:
Autmatas / mquinas secuenciales Lenguajes y gramticas Mquinas abstractas y algoritmos

Universidad Rey Juan Carlos

Teora de Autmatas y Lenguajes Formales Ingeniera Tcnica en Informtica de Sistemas

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 4

Autmatas / Mquinas secuenciales


Un autmata puede describir de forma formal el funcionamiento de un sistema
Ejemplo: interruptor
pulsar off on

inicio

pulsar

Universidad Rey Juan Carlos

Teora de Autmatas y Lenguajes Formales Ingeniera Tcnica en Informtica de Sistemas

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 Memoria
Teora de Autmatas y Lenguajes Formales Ingeniera Tcnica en Informtica de Sistemas

Salida

Universidad Rey Juan Carlos

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

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

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

Lenguajes y Gramticas
Ejemplo 2:
Sintaxis:
if_statement ::= if condition then sequence_of_statement {elsif condition then sequence_of_statements} [else sequence_of_statements] end if;

Semntica:
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

10

Lenguajes y Gramticas
La Teora de Lenguajes Formales result tener una relacin inmediata y directa con la Teora de Mquinas Abstractas.
Se establecieron correspondencias (isomorfismos) entre ellas. Se puede describir el funcionamiento de sistemas mediante gramticas lenguajes de programacin

Chomsky clasific de las gramticas en diferentes tipos:


Lenguajes del mismo tipo tienen propiedades en comn Segn el tipo de lenguaje, existen diferentes algoritmos que permiten comprobar la sintaxis de textos.

Universidad Rey Juan Carlos

Teora de Autmatas y Lenguajes Formales Ingeniera Tcnica en Informtica de Sistemas

11

Lenguajes y Gramticas
Relacin entre autmatas, lenguajes y gramticas:
Autmatas aceptadores: las entradas vlidas corresponden a un lenguaje
equivalencia Gramticas Autmatas

generan Lenguajes

aceptan

Universidad Rey Juan Carlos

Teora de Autmatas y Lenguajes Formales Ingeniera Tcnica en Informtica de Sistemas

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

13

Mquinas abstractas y algoritmos


Cmo se puede formalizar el concepto de realizar un clculo?
1937 Alan Mathison Turing: On computable numbers with an application to the Entscheidungsproblem

Definicin de la Mquina de Turing como dispositivo matemtico abstracto de clculo que introduce el concepto de algoritmo. Origen oficial de la informtica terica. Precursora abstracta de las mquinas de calcular automticas. La Mquina de Turing es un modelo abstracto de los ordenadores actuales. Demuestra la existencia de problemas irresolubles, los que ninguna mquina de Turing (y ningn ordenador) puede resolver o calcular. (Teora de la Computabilidad).
Teora de Autmatas y Lenguajes Formales Ingeniera Tcnica en Informtica de Sistemas

Universidad Rey Juan Carlos

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

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 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 17