Teoría de Autómatas y Lenguajes Formales. Capítulo 1: Introducción. Teoría de Autómatas y Lenguajes formales es un repaso a la informática teórica.



Documentos relacionados
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR. Ciencias de la ingeniería

Introducción a la Teoría de Automátas

2.Teoría de Autómatas

Un conjunto se considera como una colección de objetos, llamados miembros o elementos del conjunto. Existen dos formas de expresar un conjunto:

TEMA I: LOS CONCEPTOS FUNDAMENTALES DE LA TEORÍA DE LA COMPUTABILIDAD

Ingeniería Informática

Fundamentos de Computación

Modelos de Computación I

Conjuntos. Dra. Noemí L. Ruiz Limardo Revisado 2011 Derechos Reservados

Algebra de Boole. Algebra de Boole. Ing. José Alberto Díaz García. EL Diseño Lógico. Página 1

TEORÍA DE CONJUNTOS A ={ 1, 2, 3, 4, 5, 6 }

UNIVERSIDAD DE OCCIDENTE UDO

LENGUAJES DE PROGRAMACION I. Propósito del curso :

Autómatas finitos con salidas

Introducción: historia de las Ciencias de la Computación. Informática Teórica I: Tema 1

Teoría de Conjuntos. Conjunto es: colección de cosas, o una colección determinada de objetos.

CONJUNTOS. Consideremos, por ejemplo, los siguientes conjuntos:

Máquinas Secuenciales, Autómatas y Lenguajes Formales. Tema 4: Autómatas finitos deterministas. Holger Billhardt holger.billhardt@urjc.

PROGRAMACIÓN ALGORITMOS y DIAGRAMAS

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Repaso. Lenguajes formales

2: Autómatas finitos y lenguajes regulares.

Tema 1. Introducción

MATEMÁTICAS 1ero ESO

Algoritmos y Diagramas de flujo

APUNTES PARA LENGUAJES Y COMPILADORES

10. CALENDARIO DE IMPLANTACIÓN

4.5 Curso de adaptación para el acceso de titulados en Ingeniería Técnica en Informática de Sistemas

ESCUELA ACADÉMICO PROFESIONAL DE INGENIERÍA DE INFORMÁTICA SÍLABO PLAN DE ESTUDIOS 2008

Matemáticas domésticas: Compras, facturas, ingresos

Parte 1: Introducción a la lógica funcional Parte 2: Introducción a la teoría intuitiva de conjuntos

Tema 1: Introducción. Teoría de autómatas y lenguajes formales I

Universidad Central Del Este U C E Facultad de Ciencias y Humanidades Escuela de Pedagogía Mención Informática

Nombre de la asignatura: Controladores Lógicos Programables

PROGRAMACIÓN TECNOLOGÍA 3º DE E.S.O.

Ingeniería Técnica en Informática de Sistemas

Circuitos equivalentes de transformadores trifásicos y de las redes 12.0 eléctricas

DESARROLLO DE UN ENTORNO DE SIMULACIÓN PARA AUTÓMATAS DETERMINISTAS CAROLINA GONZÁLEZ NARANJO CÉSAR AUGUSTO MONTOYA ROMÁN

Teoría de conjuntos. Tema 1: Teoría de Conjuntos.

Departamento de Tecnologías de la Información. Tema 1. Introducción a los Modelos de Computación. Ciencias de la Computación e Inteligencia Artificial

CIRCUITOS y SISTEMAS I

Apuntes de Matemática Discreta 2. Operaciones con Conjuntos

Introducción a la Geometría Computacional

Bloque 1. La sociedad de la información y el ordenador

Lógica de Predicados

Autómatas finitos no deterministas (AFnD)

14 Lenguajes y gramáticas II

Pontificia Universidad Católica del Ecuador

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR INGENIERÍA EN TECNOLOGÍA COMPUTACIONAL. ASIGNATURA Programación I. Básica ETAPA DE FORMACIÓN.

El método utilizado en esta investigación será el método probabilístico ya que el universo en estudio es finito.

Unidad de Promoción y Desarrollo Guadiana OBJETIVO GENERAL

Criterios de evaluación. Objetivos. Contenidos. Actitudes. Conceptos. Procedimientos

Oliverio J. Santana Jaria. Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso

UNIVERSIDAD POLITÉCNICA DE EL SALVADOR FACULTAD DE INGENIERÍA Y ARQUITECTURA ESCUELA DE INGENIERÍA ELÉCTRICA Educación Basada en Competencias

COLEGIO GIMNASIO LATINO AMERICANO. Plan de estudios MATEMATICAS GRADO TERCERO

Tema 1: Qué es la Intleigencia Artificial? pp. 1

ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES PRÁCTICAS DE LÓGICA CABLEADA

La computadora en la actualidad. Introducción a la Informática

Lenguajes de Cuarta Generación (4GL)

Tema 3.- Gramáticas formales

UNIVERSIDAD DE GUADALAJARA

Sintaxis y Semántica del Lenguaje. Gramáticas

PROFESORADO DE EDUCACIÓN SECUNDARIA EN MATEMÁTICA

Atributos Los atributos son las columnas de un relación y describen características particulares de ella.

UNIVERSIDAD DE LAS PALMAS DE GRAN CANARIA

UNIVERSIDAD INTERAMERICANA DE PUERTO RICO RECINTO METROPOLITANO

Denominación de la materia. N créditos ECTS = 36 carácter = MIXTO PROGRAMACIÓN

TECNOLOGÍA 4º ESO ORIENTACIÓN PROFESIONAL BLOQUES DE CONTENIDOS PROYECTOS PRÁCTICAS VISITAS Y CHARLAS

descripción del argumento identificador tipo longitud condición restricción

LENGUAJES FORMALES, AUTÓMATAS Y COMPUTABILIDAD

INSTITUTO TECNOLÓGICO DE APIZACO TEORÍA DE CONJUNTOS CONJUNTOS Y TÉCNICAS DE CONTEO

No investigar sobre algo que ya ha sido estudiado a fondo. Estructurar mas formalmente la idea de investigación

Informática Básica. Definiciones. Conceptos generales e historia

Programación Digital I

Carrera: SCB Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

La herramienta ArtEM: Aritmética Entera y Modular

Teoría de Conjuntos Definiciones Básicas

Programas Analíticos. Cuarto semestre. Circuitos eléctricos II. A) Nombre del Curso. B) Datos básicos del curso. C) Objetivos del curso

PLAN DE ESTUDIOS GENERAL DE LA LICENCIATURA EN FÍSICA Y MATEMÁTICAS

TABLA DE ADAPTACIONES

TRABAJO DE APLICACIÓN

Programación y matemática

Qué es una computadora?

ESCUELA: UNIVERSIDAD DEL ISTMO

ESCUELA SUPERIOR DE COMERCIO MANUEL BELGRANO NIVEL TERCIARIO. CURSO: VIGENCIA DEL PROGRAMA Desde TIPO DE ASIGNATURA: Complementaria

Historia y Filosofía de la Lógica

Presentación de PLN. Datos de la asignatura. Procesamiento del. Lenguaje Natural. Ingeniero en Informática, plan 2000

Conjuntos Un conjunto es una colección de objetos. A cada uno de esos objetos se llama elemento del conjunto.

Práctica 2 - Hay diferentes infinitos?- A. Propiedades básicas de los Conjuntos

Autómatas Finitos y Lenguajes Regulares

Universidad Central Del Este U.C.E. Facultad de Ciencias Administrativas y de Sistemas Escuela de Ingeniería de Sistemas

Etapas para la solución de un problema por medio del computador

Tema 1: Introducción

Logaritmos. Cuál es la etimología de la palabra logaritmo? Proviene del griego Lógos: estilo, manera, relación, razón Arithmós: número

MÓDULO MATERIA CURSO SEMESTRE CRÉDITOS TIPO

Informática Administrativa SABATINO

Centro de Nanociencias y Nanotecnología Licenciatura en Nanotecnología

Tercer trimestre: PRUEBA A

PERFIL DEL INGENIERO EN INFORMÁTICA DE LA UNELLEZ

Grado en Ingeniería Informática Inteligencia artificial. Información básica. Inicio. Resultados de aprendizaje que definen la asignatura

Transcripción:

Teoría de Autómatas y Lenguajes Formales Capítulo 1: Introducción Holger Billhardt holger.billhardt@urjc.es Introducción Teoría de Autómatas y Lenguajes formales es un repaso a la informática teórica. La informática teórica: se ha desarrollado en base a la confluencia de campos en aparencia muy distintos: Investigación acerca de Fundamentos Matemáticos, Teoría de Máquinas, Lingüística, Ciencia multidisciplinar que se apoya en que los mismos fenómenos pueden actuar y servir de fundamento en áreas totalmente desconectadas (aparentemente). Ingeniería Técnica en Informática de Sistemas 2 1

Introducción Pilares de la informática teórica: Autómatas / máquinas secuenciales Lenguajes y gramáticas Máquinas abstractas y algoritmos Ingeniería Técnica en Informática de Sistemas 3 Autómatas / Máquinas secuenciales Eslabón de la informática teórica que proviene de la Ingeniería Eléctrica. 1938 Claude Elwood Shannon: A symbolic Analysis of relay and switching circuits Aplicación de la lógica matemática a los circuitos combinatorios y secuenciales. Sus ideas desarrollaron la Teoría de los autómatas finitos y máquinas secuenciales Un autómata es un dispositivo abstracto que es capaz de recibir información, cambiar de estado y transmitir información. Ingeniería Técnica en Informática de Sistemas 4 2

Autómatas / Máquinas secuenciales Un autómata puede describir de forma formal el funcionamiento de un sistema Ejemplo: interruptor inicio off pulsar on pulsar Ingeniería Técnica en Informática de Sistemas 5 Autómatas / Máquinas secuenciales Un autómata es un modelo abstracto de una computadora digital Lee símbolos en la entrada Produce símbolos 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 función de la entrada Puede tener algún tipo de memoria Autómatas transductores / generadores / aceptadores Entrada Unidad de Control Salida Memoria Ingeniería Técnica en Informática de Sistemas 6 3

Lenguajes y Gramáticas Segundo eslabón: Lingüística (campo tradicionalmente considerado no científico). Años 50 Avram Noam Chomsky Teoría de las Gramáticas Transformacionales Base de la Lingüística Matemática Proporcionó una herramienta que no sólo podía aplicarse a los lenguajes naturales, sino que facilitaba el estudio y formalización de los lenguajes de ordenador que aparecían en aquella época. Ingeniería Técnica en Informática de Sistemas 7 Lenguajes y Gramáticas Cualquier comunicación se realiza mediante cadenas de símbolos que corresponden a un lenguaje. Lenguajes son conjuntos de cadenas de símbolos (palabras, oraciones, textos o frases) El estudio de los lenguajes se reduce, básicamente, a: Sintaxis: (gramática) define las secuencias de símbolos que forman cadenas válidas de un lenguaje Gramática: Descripción formalizada de las oraciones de un lenguaje. Una gramática genera o describe un lenguaje. Semántica: significado de las cadenas que componen un lenguaje Ingeniería Técnica en Informática de Sistemas 8 4

Lenguajes y Gramáticas Ejemplo 1: Semántica: A es un número natural. Diferente sintaxis en diferentes lenguajes: A is a natural number. A : Natural; 0100000100000001 Ingeniería Técnica en Informática de Sistemas 9 Lenguajes y Gramáticas Ejemplo 2: Sintaxis: if_statement ::= if condition then sequence_of_statement {elsif condition then sequence_of_statements} [else sequence_of_statements] end if; Semántica: 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; Ingeniería Técnica en Informática de Sistemas 10 5

Lenguajes y Gramáticas La Teoría de Lenguajes Formales resultó tener una relación inmediata y directa con la Teoría de Máquinas Abstractas. Se establecieron correspondencias (isomorfismos) entre ellas. Se puede describir el funcionamiento de sistemas mediante gramáticas lenguajes de programación Chomsky clasificó de las gramáticas en diferentes tipos: Lenguajes del mismo tipo tienen propiedades en común Según el tipo de lenguaje, existen diferentes algoritmos que permiten comprobar la sintaxis de textos. Ingeniería Técnica en Informática de Sistemas 11 Lenguajes y Gramáticas Relación entre autómatas, lenguajes y gramáticas: Autómatas aceptadores: las entradas válidas corresponden a un lenguaje Gramáticas equivalencia Autómatas generan Lenguajes aceptan Ingeniería Técnica en Informática de Sistemas 12 6

Máquinas abstractas y algoritmos La historia de la informática teórica se remonta a la década de los 30. 1931 - Kurt Gödel: On formally undecidable Propositions in Principia Mathematica and related systems Revolución Matemática: Cualquier teoría matemática ha de ser incompleta. Siempre habrá en ella afirmaciones que no se podrán demostrar ni negar. Ingeniería Técnica en Informática de Sistemas 13 Máquinas abstractas y algoritmos Cómo se puede formalizar el concepto de realizar un cálculo? 1937 Alan Mathison Turing: On computable numbers with an application to the Entscheidungsproblem Definición de la Máquina de Turing como dispositivo matemático abstracto de cálculo que introduce el concepto de algoritmo. Origen oficial de la informática teórica. Precursora abstracta de las máquinas de calcular automáticas. La Máquina de Turing es un modelo abstracto de los ordenadores actuales. Demuestra la existencia de problemas irresolubles, los que ninguna máquina de Turing (y ningún ordenador) puede resolver o calcular. (Teoría de la Computabilidad). Ingeniería Técnica en Informática de Sistemas 14 7

Desarrollo de la Asignatura Conceptos básicos: Lenguajes Formales y Gramáticas Lenguajes regulares Autómatas Finitos Lenguajes Independientes del Contexto Autómatas a Pila Máquinas de Turing Computabilidad Ingeniería Técnica en Informática de Sistemas 15 Notaciones que utilizaremos Básicamente operaciones sobre conjuntos. Conjunto: {x...}, el conjunto de los x tales que... {x 1, x 2, x 3, x 4, x 5 }, el conjunto compuesto por los elementos x 1 a x 5 Pertenencia: x C, el elemento x pertenece al conjunto C Inclusión: C C, el conjunto C es un subconjunto del C Cardinalidad: C, el número de elementos del conjunto C Ingeniería Técnica en Informática de Sistemas 16 8

Notaciones que utilizaremos Unión de conjuntos: C C, la unión de los conjuntos C y C Intersección: C C, la intersección de los conjuntos C y C Simplificación: a...z ó a,...,z ó x 1,...,x n (todos los elementos entre x 1 y x n ) Aplicación entre conjuntos: f : E 1 E 2... E n S 1 S 2... S m, La función (aplicación) f está definida entre los conjuntos E i y S j. Desde el punto de vista computacional, se puede entender que f recibe de entrada a un elemento para cada conjunto E i y genera una salida para cada conjunto S j Más notaciones se introducirán a lo largo del curso. Ingeniería Técnica en Informática de Sistemas 17 9