Subido por luk5ollarce

Autómatas y gramáticas

Anuncio
AUTÓMATAS Y
GRAMÁTICAS
CALENDARIO
CRONOGRAMA AUTÓMATAS Y GRAMÁTICAS
FECHA
TEMAS
Explicación de la materia, condiciones de regularización.
15-mar Introducción a los autómatas finitos, alfabetos, cadena de caracteres, concatenación de cadenas, lenguajes, operaciones sobre lenguajes, autómatas finitos
22-mar Autómatas finitos deterministas y no deterministas - Trabajo en clase.
29-mar Expresiones regulares, generación de autómatas a partir de expresiones regulares
5-abr Uso de las expresiones regulares para la validación de datos Trabajo en clase.
12-abr Análisis Léxico. Reconocimiento de tokens. Diagramas de transición. Reconocimiento de palabras reservadas. Trabajo en clase
19-abr TP N° 1
Gramática, jerarquía de gramática - correspondencia entre gramáticas y lenguajes 26-abr Análisis sintáctico, ascendente y descendente - Autómata de pila
3-may Maquina de Turing - Introducción a problemas irresolubles y NP
10-may TP N° 2 - Presentación TP final
17-may MESAS
24-may FERIADO
31-may PARCIAL
7-jun Clase de consulta sobre trabajo final
14-jun REGULARIDADES
CONDICIONES DE REGULARIZACIÓN
• Asistencia, el alumno debe tener el 80% de la asistencia a las clases síncronas.
• Parcial, se realizará un parcial durante el cursado que el alumno deberá aprobar.
• Trabajos prácticos: se realizarán 2 trabajos prácticos y 3 trabajos de clase a lo
largo del cursado, todos los trabajos comenzarán durante la clase y el alumno
deberá realizar las entregas en tiempo y forma.
• Trabajo en la plataforma (glosario, foro, etc)
CONDICIONES PARA APROBAR LA MATERIA
• Presentación de trabajo final y preguntas sobre la
teoría.
BIBLIOGRAFÍA
• John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, "TEORÍA DE AUTÓMATAS,
LENGUAJES Y COMPUTACIÓN". Pearson Addison Wesley. (Tercera Edición).
• A. Aho, R.Sethi, J. Ullmam “COMPILADORES PRINCIPIOS, TECNICAS Y
HERRAMIENTAS”. Pearson Addison Wesley. (Primera y Segunda Edición).
• Dean Kelley “TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES“ Prentice Hall
(Segunda Edición).
• Cases Muñoz-Luis Villodre. “LENGUAJES, GRAMÁTICAS Y AAUTÓMATAS – Curso
básico” Alfaomega
INTRODUCCIÓN
• Teoría de autómatas (estudio de dispositivos de cálculos abstractos)
• Máquina de Turing – describir los límites de lo que una máquina
puede y no puede hacer.
https://www.youtube.com/watch?v=uoKLtu2Am6k
https://www.youtube.com/watch?v=0DFqSmdbsUM
• 1940-1950 máquinas simples denominadas autómatas finitos.
• 1969 S. Cook plantea los problemas insolubles o NP-difíciles.
AUTOMATAS FINITOS I
• Modelo útil para muchos tipos de hardware o software
• Software para diseñar y probar circuitos digitales.
• Analizador léxico.
• Software para explorar textos largos.
• Software para sistemas con estados finitos.
AUTOMATAS FINITOS II
SISTEMA COMBINACIONAL
• Se denomina sistema combinacional o lógica combinacional a
todo sistema lógico en el que sus salidas son función exclusiva
del valor de sus entradas en un momento dado, sin que
intervengan en ningún caso estados anteriores de las entradas
o de las salidas.
AUTOMATAS FINITOS - EJEMPLO
CONCEPTOS EN LA TEORÍA DE AUTÓMATAS
• ALFABETOS
• CADENA DE CARACTERES
• LONGUITUD DE LA CADENA
• POTENCIAS DEL ALFABETO
• CONCATENACIÓN DE CADENAS
ALFABETO
• Un alfabeto es un conjunto de símbolos finito y no vacío.
• Se utiliza el símbolo ∑
EJEMPLO
• 1. ∑ = {0,1}, el alfabeto binario.
• 2. ∑ = {a,b, . . . , z}, el conjunto de todas las letras minúsculas.
• 3. ∑ = {0,1, . . . ,9}, el conjunto de los dígitos del 0 al 9.
• 4. El conjunto de todos los caracteres ASCII o el conjunto de todos los
caracteres ASCII
CADENA DE CARACTERES
• Una cadena de caracteres (palabra) es una secuencia finita de símbolos
seleccionados de algún alfabeto.
Ejemplo:
• “01101” es una cadena del alfabeto binario ∑ = {0,1}. La cadena “111” es otra
cadena de dicho alfabeto.
• “hola” es una cadena del alfabeto ∑ = {a-z}.
• “2456” es una cadena del alfabeto ∑ = {0-9}.
CARACTERISTICAS DE LAS CADENA
CADENA VACIA
La cadena vacía es aquella cadena que presenta cero apariciones de símbolos. Esta cadena,
designada por ε, es una cadena que puede construirse en cualquier alfabeto.
LONGUITUD DE UNA CADENA
Número de posiciones ocupadas por símbolos dentro de la cadena.
EJEMPLO
• La cadena “01101” tiene una longitud de 5.
• Notación: w es |w|. Por ejemplo, |011| = 3
• |ε|= 0
POTENCIAS DE UN ALFABETO I
Conjunto de todas las cadenas de una determinada longitud de dicho
alfabeto utilizando una notación exponencial.
para que sea el conjunto de las cadenas de longitud k
EJEMPLO
∑ ={ ε }
Si ∑ = {0,1}, entonces
•
∑ = {0,1}
•
∑ = {00,01,10,11}
•
= {000,001,010,011,100,101,110,111}, etc
POTENCIAS DE UN ALFABETO II
• ∑∗ Conjunto de todas las cadenas de un alfabeto
EJEMPLO
Si ∑ ={0,1} = > ∑∗ = { ε ,0,1,00,01,10,11,000, . . .}
Ó
∑∗ = ∑ ∪ ∑ ∪ ∑ ∪ · · ·
• ∑ Conjunto de todas las cadenas de un alfabeto menos el vacio
EJEMPLO
Si ∑ ={0,1} = > ∑ = { 0,1,00,01,10,11,000, . . .}
Ó ∑ =∑ ∪ ∑ ∪···
∑∗ = ∑ ∪ { ε }.
CONCATENACIÓN DE CADENAS
• Sean x e y dos cadenas. Entonces, xy denota la concatenación de x e y, es decir, la cadena
formada por una copia de x seguida de una copia de y.
EJEMPLO
Sean x = 01101 e y = 110. Entonces xy = 01101110 e yx = 11001101.
ε w = w ε = w.
POTENCIA DE CADENAS
• Si w = 122 sobre el alfabeto Σ = { 1, 2 }
• w0 = ε
• w1=122
• w2=122122
• w3=122122122
Descargar