Tema 1. Introducción

Documentos relacionados
Contenido. BLOQUE I: PRELIMINARES Tema 1: INTRODUCCIÓN Lógica Grado en Ingeniería Informática. Introducción. El lenguaje natural.

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

Texto: Hopcroft, J. E., Motwani, R., Ullman, J.D., Introduction to Automata Theory, Languajes, and Computation. 3rd Edition. Addison Wesley, 2007.

Procesadores de Lenguaje

Capítulo 9. Introducción a los lenguajes formales. Continuar

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

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.

LENGUAJES Y GRAMÁTICAS

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO

Introducción a la lingüística computacional

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES

Departamento de Tecnologías de la Información. Tema 5. Decidibilidad. Ciencias de la Computación e Inteligencia Artificial

CONJUNTOS REGULARES. Orlando Arboleda Molina. 19 de Octubre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle

PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR FACULTAD DE INGENIERIA ESCUELA DE INGENIERIA DE SISTEMAS

TEORÍA DE LA COMPUTACIÓN Y VERIFICACIÓN DE PROGRAMAS FUNDAMENTACIÓN

Coordinación de Ciencias Computacionales INAOE. Teoría de Autómatas y Lenguajes Formales. Temario detallado para examen de ingreso 2012

Máquinas de estado finito y expresiones regulares

Tema 1. Introducción

Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Máquinas de Turing

Introducción a la Lógica y la Computación

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

Nombre de la asignatura : Lenguajes y Autómatas. Carrera : Ingeniería en Sistemas Computacionales. Clave de la asignatura : SCB- 9324

TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY

Enfoques computacionales de la memoria humana: un estado del arte. Renato Garita Figueiredo PROIFED

La máquina de Turing

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR AREA DE CONOCIMIENTO DE CIENCIAS DEL MAR DEPARTAMENTO DE SISTEMAS COMPUTACIONALES

Introducción a la Lógica y la Computación

300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos

Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I

Nombre de la asignatura: Lenguajes y Autómatas I. Créditos: Aportación al perfil

Examen. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003.

8. Complejidad Computacional

UNIVERSIDAD TECNOLOGICA DE PEREIRA FACULTAD DE INGENIERIAS

Los visionarios de la Globalización, Turing y von Neumann

Carácter Modalidad Horas de estudio semestral (16 semanas)

Introducción a las Ciencias de la Computación

Prof. Sven Dickinson. Catedrático y director del Departamento de Ciencias de la Computación Universidad de Toronto Canadá.

Temas. Objetivo. Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2) Definir autómatas de pila.

PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS

Programa de la asignatura Curso: 2008 / 2009 AUTÓMATAS Y LENGUAJES FORMALES (1314)

13.3. MT para reconocer lenguajes

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE INTRODUCCIÓN Y TEORÍA DE LA COMPUTACIÓN

ESCUELA: UNIVERSIDAD DEL ISTMO

Universidad Fermín Toro. Cabudare Lara

Máquinas de Turing, recordatorio y problemas

Tema 03: Programación estructurada

Matemáticas Discretas TC1003

ESPECIFICACIÓN DE SÍMBOLOS

Tema 3: Gramáticas regulares. Teoría de autómatas y lenguajes formales I

Programa de Asignatura

Tema 2.- Caracterización de la informática La informática como disciplina científica Sub-áreas de la disciplina.

NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN

Compiladores e Intérpretes

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.

Facultad de Ingeniería de Sistemas 1.5 Carrera: Ingeniería de Sistemas 1.6 Código: ISI 1.7 Nivel: Pregrado

Cátedra de Sintaxis y Semántica de Lenguajes

COMPUTABILIDAD Y COMPLEJIDAD

Tema 1: Introducción. Definiciones. Lógica Computacional. Lógica Computacional. Temas Avanzados en Ingeniería Informática I (Lógica)

09 Análisis léxico V Compiladores - Profr. Edgardo Adrián Franco Martínez

1 Relaciones entre la lógica y la computación. 2 Descripción y análisis de lenguajes. 3 Otras tres áreas de aplicación directa de la lógica

Contenido. Capítulo I Sistemas numéricos 2. Capítulo II Métodos de conteo 40

UNIVERSIDAD DE BUENOS AIRES FACULTAD DE FILOSOFIA Y LETRAS

Lenguajes y Compiladores Aspectos Formales (Parte 1) Compiladores

Aprendizaje Computacional y Extracción de Información

Algoritmo para la obtención de los estados accesibles

UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática

Modelos De Computación. Guía Modelos de Computación. Tema I: Lenguajes y Gramáticas

ANÁLISIS LÉXICO AUTÓMATAS FINITOS

Conceptos básicos sobre gramáticas

Problemas computacionales, intratabilidad y problemas NP completos. Febrero Facultad de Ingeniería. Universidad del Valle

Unidad I Introducción a la programación de Sistemas. M.C. Juan Carlos Olivares Rojas

Los fundamentos de la matemática y los teoremas de Gödel

La Máquina de Turing como precusora de la Teoría de la Computación (I)

Universidad Nacional Autónoma de México Facultad de Psicología

Teoría de Autómatas y Compiladores [ICI-445] Capítulo 2: Autómatas Finitos

Departamento de Tecnologías de la Información. Tema 3. Autómatas finitos y autómatas de pila. Ciencias de la Computación e Inteligencia Artificial

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.

NOMBRE DEL CURSO: Laboratorio de Lenguajes Formales y de Programación

Profs. Carlos Pérez y Ricardo Monascal

Autómatas Finitos Deterministicos (DFA)

DEPARTAMENTO: Ingeniería e Investigaciones Tecnológicas

Contenido. Capítulo 1. Teoría de conjuntos. 1. Capítulo 2. Lenguaje. 39. Capítulo 3. Lenguajes formales. 55

Autómatas Finitos Deterministicos (DFA)

Problemas computacionales, intratabilidad y problemas NP completos. 26 de agosto de Facultad de Ingeniería. Universidad del Valle

Intensificación en "Lenguajes e Inteligencia Artificial"

Departamento de Matemáticas Facultad de Química UNAM. Febrero de 2011

UNIVERSIDAD DE GUADALAJARA

Teoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales

Grado en Ingeniería Informática itinerario Computación

Teoría de la Computación Lenguajes Regulares (LR) - Propiedades

Contenido del curso Fundamentos de Lenguajes de Programación

DATOS DE IDENTIFICACIÓN. Materia: Introducción a la teoría de los lenguajes formales Definición de alfabeto ETAPA PREINSTRUCCIONAL

Sintaxis y Semántica de los Lenguajes Régimen de Dictado: Cuatrimestral

Nuestro objetivo es demostrar que autómata = lógica Qué significa esto? Queremos encontrar una lógica que defina a los lenguajes regulares

1. Introducción. 2. Semiautómatas: definiciones básicas. Tema 3: Autómatas

Semántica española. César Antonio Aguilar Facultad de Lenguas y Letras 17/04/2017.

Tema 3: Características de la programación funcional. Sesión 5: El paradigma funcional (1)

Teoría de Autómatas y Lenguajes Formales Equivalencia de Conjuntos Pruebas por Inducción

Pontificia Universidad Católica del Ecuador

Transcripción:

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

Índice 1.1. Definiciones. 1.3. Lenguajes, Gramáticas y Autómatas 2

Índice 1.1. Definiciones. 1.3. Lenguajes, Gramáticas y Autómatas 3

1.1 Definiciones Lenguaje: Forma de representar información basada en un conjunto finito de signos o símbolos Alfabeto: Conjunto de símbolos que forman parte de un lenguaje Sentencia o palabra o fórmula bien formada: Secuencia de símbolos correcta. Lenguaje formal: Lenguaje descrito mediante un formalismo matemático 4

1.1 Definiciones Computar: Procesar información Modelo de computación Máquina abstracta que toma como entrada una secuencia de símbolos y los procesa Dependiendo del modelo, el resultado del cómputo puede ser : Una secuencia de acciones Una salida expresada en un cierto lenguaje Una respuesta de aceptación o rechazo de la entada 5

1.1 Definiciones Autómata: Modelo de computación Maquina de estados El funcionamiento de la máquina se basa en transiciones de estados Las transiciones están provocadas por la lectura de los símbolos de entrada 6

1.1 Definiciones Informática: Ciencia aplicada que abarca el estudio y aplicaciones del tratamiento automático de la información Informática teórica: Disciplina que estudia las capacidades de los modelos de computación y sus límites, así como el tipo de problemas que pueden tratar y la eficiencia con la que pueden ser tratados. 7

Índice 1.1. Definiciones. 1.3. Lenguajes, Gramáticas y Autómatas 8

Lógica matemática Friedrich Ludwig Gottlob Frege Nacido en Wismar (Alemania) en 1848 Muerto en Bad Kleinen en 1945 Profesor en la Universidad de Jena En 1879 publicó Conceptografía (Begriffsschrift) Desarrollo de la lógica de primer orden (operadores and, or, not, implicación, para-todo, existe) La notación que utilizaba era bastante complicada 9

Lógica matemática Giuseppe Peano Nacido en Spinetta (Italia) en 1858 Muerto en Turín e 1932 Profesor en la Universidad de Turín y en la Academia Militar Real Matemático y filósofo, propuso la notación actual de la lógica y estudió los principios de la matemática. Formulario, enciclopedia con todas las fórmulas y teoremas conocidos en matemáticas 10

Lógica matemática Bertrand Russell (1872-1970) Conoce a Peano en el congreso de Filosofía de París (1900) Publica Principia Mathematica en 1910, 1912, 1913. Alfred North Whitehead (1861-1947) Profesor en las universidades de Londres, Cambridge y Harvard Fue profesor de Russell y escribió con él los Principia Mathematica 11

Lógica matemática David Hilbert (1862 1943) Profesor en la Universidad de Gottingen El matemático más importante del s. XX. Trabajos en análisis funcional, geometría, fundamentos de física cuántica y de relatividad general, lógica Axiomatización de la geometría. Problemas de Hilbert. Publica en 1928 Principios de lógica teórica Problema de la decisión: descubrir un método general para decidir si una fórmula lógica es verdadera o falsa 12

Lógica matemática Kurt Gödel (1906 1978) Profesor en Viena y en Princeton Publica en 1931 el artículo Sobre proposiciones formalmente indecidibles de Principia Mathematica y sistemas relacionados Teorema de incompletitud: En cualquier formalización consistente de las matemáticas que sea lo bastante fuerte para definir el concepto de números naturales, se puede construir una afirmación que ni se puede demostrar ni se puede refutar dentro de ese sistema. 13

Computabilidad Alan Mathison Turing (1912 1954) Estudia en Cambridge y en Princeton (con A. Church) Profesor en Cambridge y U. Manchester Participa en la ruptura del cifrado de la máquina Enigma Publica en 1936 el artículo Los números computables, con una aplicación al Entscheidungsproblem. Nacimiento de la Informática Teórica Inventa las máquinas de Turing 14

Computabilidad Alonzo Church (1903 1995) Profesor en Princeton Desarrolla el cálculo lambda, basado en funciones recursivas. (Base de los lenguajes funcionales) En 1936 demuestra la existencia de problemas indecidibles para el cálculo lambda. Entre 1938 y 1939 trabaja con A. Turing Tesis de Church-Turing: cualquier modelo computacional existente tiene las mismas capacidades algorítmicas, o un subconjunto, de las que tiene una máquina de Turing. 15

Computabilidad Stephen Kleene (1909-1994) Profesor de la U. Wisconsin Discípulo de A. Church. Estudia la teoría de funciones recursivas. Desarrolla las expresiones regulares Numerosos estudios en Teoría de Autómatas 16

Teoría de autómatas Claude Elwood Shannon (1916 2001) Estudia en la U. Michigan. Profesor en el Instituto de Tecnología de Massachusetts (MIT) En 1938 publica A Symbolic Analysis of Relay and Switching Circuits. Aplicación de la lógica matemática a los circuitos electrónicos. En 1948 publica Una Teoría Matemática de la Comunicación. Nacimiento de la Teoría de la Información En 1956 edita, junto a McCarthy, Automata Studies, sobre máquinas secuenciales y autómatas finitos. 17

Teoría de autómatas Autómatas Finitos Deterministas D. A. Huffman, The synthesis of sequential switching circuits, J. Franklin Inst., vol. 257, (1954) G. H. Mealy, A method for synthesizing sequential circuits, Bell System Technical Journal vol. 34 (1955) E.F. Moore, Gedanken experiments on sequential machines, en Automata Studies (1956) Autómatas Finitos No Deterministas M.O. Rabin y D. Scott, Finite automata and their decision problems, IBM J. Research and Development, vol. 3 (1959) 18

Lingüística Noam Chomsky (1928 - ) Profesor del Massachusetts Institute of Technology (MIT) Conocido por su activismo político Doctorado en 1955 en la U. Harvard con la tesis Estructura lógica de la teoría lingüística (que no se publicó hasta 1975) En 1957 publica Estructuras sintácticas en el que aparece la clasificación de gramáticas (Jerarquía de Chomsky) 19

Teoría de autómatas Autómatas de Pila A. G. Oettinger, Automatic syntactic analysis and the pushdown store, Proc. Symposia on Applied Math. (1961). M.P. Schutzenberger, On context-free languages and pushdown automata, Information and Control, vol. 6 (1963) P.C. Fisher, On computability by certain classes of restricted Turing machines, Proc. 4th Annl. Symposium on Switching Circuit Theory and Logical Design (1963) D.E. Knuth, On the translation of languages from left to right, Information and Control, vol. 8 (1965). 20

Complejidad computacional Stephen Arthur Cook (1939 - ) Estudiante en U. Michigan y U. Harvard Profesor en U. Berkeley y U. Toronto En 1971 publica The Complexity of Theorem Proving Procedures, donde define las clases de problemas P, NP, y NP completos. 21

Índice 1.1. Definiciones. 1.3. Lenguajes, Gramáticas y Autómatas 22

1.3 Lenguajes, Gramáticas y Autómatas Desde su nacimiento, la teoría de autómatas ha encontrado aplicación en muy diversos campos. Esto se debe a que resulta muy natural considerar, tanto los autómatas como las máquinas secuenciales, sistemas capaces de transmitir (procesar) información. En definitiva, esto es equiparable a cualquier sistema existente en la naturaleza, que recibe señales de su entorno, reacciona ante ellas y emite así nuevas señales al ambiente que le rodea. Algunos de los campos donde ha encontrado aplicación la teoría de autómatas son: Teoría de la Comunicación Teoría de Control Lógica de los circuitos secuenciales Ordenadores Teoría lógica de los sistemas evolutivos y auto-reproductivos Reconocimiento de patrones Fisiología del sistema nervioso Traducción automática de lenguajes etc 23

1.3 Lenguajes, Gramáticas y Autómatas Chomsky clasificará los lenguajes formales de acuerdo a una jerarquía de cuatro niveles, conteniendo cada uno de todos los siguientes. El lenguaje más general será, pues, de tipo 0, y no posee restricción alguna. Este conjunto engloba el conjunto de todos los lenguajes posibles. En el segundo nivel aparecen los lenguajes de tipo 1, también llamados lenguajes sensibles al contexto, al permitir que el papel de las palabras dependa de la posición en que aparezcan (es decir, del contexto). La mayor parte de los lenguajes de ordenador pertenecen a este tipo. En tercer lugar aparecen los lenguajes de tipo 2, o lenguajes independientes del contexto. En ellas el significado de una palabra es independiente del lugar que ocupa en la frase. Finalmente, los lenguajes de tipo 3, o lenguajes regulares, son los que presentan una estructura más sencilla. 24

1.3 Lenguajes, Gramáticas y Autómatas Resulta curioso observar como paralelamente a la jerarquía de lenguajes aparece otra de máquinas abstractas equivalentes, como se observa en el esquema siguiente : Problemas no enumerables Lenguajes Tipo 0 Lenguajes Tipo 1 Lenguajes Tipo 2 Máquinas de Turing Autómatas acotados linealmente Autómatas a pila Problemas recursivamente enumerables Lenguajes Tipo 3 Autómatas finitos Expresiones regulares Cada uno de estos tipos de máquinas es capaz de resolver problemas cada vez más complicados, hasta llegar a las máquinas de Turing. Como descubrió Turing, existen una serie de problemas que no son computacionalmente abordables y que reciben el nombre de problemas no enumerables. 25

1.3 Lenguajes, Gramáticas y Autómatas La relación estrecha entre la Teoría de Lenguajes Formales y la Teoría de Autómatas se pone de manifiesto en este tema. Se establece un isomorfismo entre ambas, estableciendo una conexión entre la clase de lenguajes generados por ciertos tipos de gramáticas y la clase de lenguajes reconocibles por ciertas máquinas. los lenguajes del tipo 0 con los lenguajes reconocidos por una máquina de Turing, los lenguajes de tipo 1 con los Autómatas Linealmente Acotados, los lenguajes de tipo 2 con los Autómatas a Pila los lenguajes de tipo 3 con los Autómatas Finitos, los Autómatas Probabilísticos y los Autómatas de Células de McCulloch-Pitts. Cada uno de estos tipos/máquinas añade restricciones al tipo/máquina del nivel superior. 26

1.3 Lenguajes, Gramáticas y Autómatas Gramáticas Lenguajes Máquinas Sin restricciones o de Tipo 0 Sin restricciones o de Tipo 0 Máquina de Turing Sensible al contexto o de Tipo 1 Sensible al contexto o de Tipo 1 Autómata linealmente acotado Libre de contexto o de Tipo 2 Libre de contexto o de Tipo 2 Autómata con pila Regular o de Tipo 3 Regular o de Tipo 3 Autómata Finito 27

1.3 Lenguajes, Gramáticas y Autómatas Gran parte del temario se basará en problemas que tienen que ver con el procesamiento del lenguaje, por tanto, se repasa la terminología y algunos de los conceptos asociados al proceso de traducción. Se establecen los términos de lenguaje formal, definidos por reglas preestablecidas, y de lenguaje natural, no cuentan con reglas gramaticales formales. Así, el estudio de los lenguajes se reduce al análisis de la estructura de las frases (Gramática) y del significado de las mismas (Semántica). A su vez, la Gramática puede analizar las formas que toman las palabras (Morfología), su combinación para formar frases correctas (Sintaxis), y las propiedades del lenguaje hablado (Fonética) (única no aplicable a los lenguajes de ordenador). Para realzar el papel de la gramática en el proceso de traducción se indican los componentes básicos de que consta compilador para un determinado lenguaje de programación: análisis léxico, análisis sintáctico y generación de código. 28