Subido por Pablo Antonio De León Bautista

Automatas

Anuncio
AUTOMATAS Y LENGUAJES FORMALES
PRESENTACIÓN DEL CURSO, EQUIPO DOCENTE Y PREREQUISITOS
PRESENTACIÓN
Este curso es un contacto importante con las nociones y conceptos del proceso
computacional o proceso algorítmico. Forma las bases para los cursos de
complejidad y compiladores. Incluye el estudio de técnicas de reconocimiento de
patrones, procesos básicos computacionales, análisis léxico y sintáctico, así como
una base para computabilidad.
EQUIPO DOCENTE
Para el presente curso se cuenta con el catedrático titular.
PRERREQUISITOS
Este curso tiene como prerrequisito establecido tener aprobados 80 créditos. El
participante debe estar en la disposición de colaborar activamente dentro del
curso, cumplir con las actividades establecidas y respetar las fechas y horarios de
entrega.
REQUISITO DE APROBACIÓN
NOTA: Recuerde que el curso se aprueba con 61 puntos, además debe aprobar
la nota de proyectos con 61% de la nota asignada. Las evaluaciones y
actividades que realizar se darán a conocer desde el primer día de clases.
COMPETENCIAS DEL CURSO
COMPETENCIAS GENERALES
Proporcionar al estudiante la base científica para resolver problemas importantes
dentro de la lógica algorítmica, fundamentales para la construcción de
compiladores.
COMPETENCIAS ESPECÍFICAS
Que el estudiante:
 Que el estudiante se introduzca en el análisis léxico, como método de
solución de problemas de renacimiento de patrones.

Que el alumno cuente con una idea básica de procesos computacionales
PLANIFICACIÓN
MES
Julio
Tema de la
Unidad
Sub Tema
Reglas - Iniciales Notas
Actividades
Clase magistral
Actividades,
Clase magistral
Exámenes
Cortos y Tareas
Contenido de
Clase magistral
Investigaciones
Bibliografía
Creación de
Grupos
Otras
Actividades
1.1 Definición
de lenguaje,
1.
Unidad orientada a la
Lenguaje
formalidad,
operaciones
con lenguajes.
1.2 Conceptos
básicos
orientados a la
teoría de
compiladores.
1.3
Terminología
asociada a la
definición
conceptual de
lenguaje.
1.4 Esquema y
simbología de
definición de
lenguaje.
Laboratorio
Laboratorio 1
Unidad 1
Clase magistral
Actividad por estudiantes
Resolución de preguntas
Fecha a
desarrolla
rse
13/07/201
9
13/07/201
9
13/07/201
9
13/07/201
9
13/07/201
9
13/07/201
9
Clase magistral
13/07/201
9
Clase magistral
13/07/201
9
Clase magistral
13/07/201
9
Clase magistral
Actividad por estudiantes
13/07/201
9
20/07/201
9
2. Unidad
Lenguajes
formales.
2.1 Conceptos
básicos.
2.2 Operadores
básicos * y +.
2.3 Primera
definición de
lenguaje.
Lenguaje
formal.
Lenguaje
regular.
2.4 Expresiones
regulares.
2.5
Precedencia en
las expresiones
regulares.
2.6 Álgebra de
expresiones
regulares.
2.7 Diseño de
expresiones
regulares.
Agosto
Laboratorio 2
Laboratorio
Unidad 2
3. Unidad
Autómatas
finitos.
3.1 Conceptos
básicos.
3.2 Definición
formal de
autómata
finito.
Autómatas
finitos en
representación
gráfica.
3.3 Análisis de
la entrada a
través de un
autómata
finito. Lenguaje
aceptado por
un autómata
finito.
3.4 Ejemplos de
autómatas
orientados a
diseñar la etapa
de léxico de un
Clase magistral
27/07/201
9
Clase magistral
27/07/201
9
Clase magistral
27/07/201
9
Clase magistral
27/07/201
9
Clase magistral
27/07/201
9
Clase magistral
27/07/201
9
Clase magistral
27/07/201
9
Actividad por estudiantes
03/08/201
9
10/08/201
9
10/08/201
9
10/08/201
9
10/08/201
9
lenguaje de
programación.
3.5 Tipos de
autómatas.
3.6 Autómata
finito
determinista.
3.7 Autómata
finito no
determinista.
3.8 Análisis de
la entrada a
través de un
autómata finito
no
determinista.
3.9 Autómata
con
transiciones-E
3.10 Análisis de
la entrada a
través de un
autómata finito
con
transiciones-E.
3.11 Autómata
no determinista
y con
transiciones-E.
3.12
Conversión de
autómata finito
no determinista
a autómata
finito
determinista.
3.13
Conversión de
autómata finito
con
transiciones-E a
autómata finito
determinista.
10/08/201
9
10/08/201
9
10/08/201
9
10/08/201
9
10/08/201
9
10/08/201
9
10/08/201
9
10/08/201
9
10/08/201
9
3.14
Conversión de
expresión
regular a
autómata finito
no
determinista.
3.15
Conversión de
expresión
regular a
autómata finito
determinista.
Primer Parcial
Laboratorio 3
Primer Proyecto
Septiem
bre
4. Unidad
Gramáticas.
10/08/201
9
10/08/201
9
Presentar
Investigación:
Automatas
Finitos,
Gramáticas,
Autómatas de
pila.
Examen: Unidad 1 y 2
Laboratorio
Unidad 3
Actividad por estudiantes
24/08/201
9
Actividad por alumnos
31/08/201
9
Aplicación de
expresiones
regulares
4.1 Conceptos
básicos.
4.2 Definición
formal.
4.3
Convenciones
de notación.
4.4 Notación
simplificada.
4.5 Lema de
Arden.
4.6
Derivaciones,
Árboles de
derivación.
4.7 Lenguaje
generado por
una gramática.
4.8 Diseño de
gramáticas.
Técnicas para
el diseño de
gramáticas.
Modularidad de
las gramáticas.
Límites de las
gramáticas.
17/08/201
9
07/09/201
9
07/09/201
9
07/09/201
9
07/09/201
9
https://youtu.be/mCHpn-msFnw
07/09/201
9
07/09/201
9
07/09/201
9
07/09/201
9
4.9 Diseño
arbitrario de
gramáticas.
4.10 Primer
acercamiento a https://www.youtube.com/watch?
la jerarquía de
Chomsky para v=YSgyXk-byrw
gramáticas.
4.11 Gramática
regular
implementada
en un autómata
finito no
determinista.
Laboratorio 4
Segundo Parcial
Laboratorio
Unidad 4
Actividad por estudiantes
Presentar
Investigación:
Autómata con
transiciones-E,
Lema de
Arden,
Examen: Unidad 3 y 4
Automatas
Finitos,
Gramáticas,
Autómatas de
pila, Máquina
de Turing.
5.
Unidad
5.1 Conceptos
Autómatas
de
básicos.
pila
5.2 Definición
formal.
5.3 Jerarquía
de lenguajes.
5.4
Reconocimiento
de una cadena
en un autómata
de pila.
5.5
Seguimiento en
formato de
corrida de
escritorio.
5.6 Gramáticas
independientes
del contexto,
implementadas
en autómatas
de pila.
Octubre
Laboratorio 5
Laboratorio
Unidad 5
07/09/201
9
07/09/201
9
07/09/201
9
14/09/201
9
21/09/201
9
28/09/201
9
28/09/201
9
28/09/201
9
28/09/201
9
28/09/201
9
28/09/201
9
Actividad por estudiantes
05/10/201
9
6.
Unidad
6.1 Conceptos
Máquina
de
básicos.
Turing
6.2 Máquina de
Turing como
realizadora de
cálculos.
6.3
Reconocimiento
de una cadena
de entrada.
6.4 Máquina de
Turing como
reconocedora
de lenguajes.
6.5 Diseño de
la máquina de
Turing.
6.6 Técnicas
para la
construcción de
las máquinas
de Turing.
Laboratorio 6
Noviemb
re
7. Unidad
Expresiones,
primer
acercamiento.
Laboratorio
Unidad 6
7.1
Consideracione
s para generar
expresiones en
lenguajes de
programación.
7.2 Conceptos
básicos.
7.3 Términos
dentro de una
expresión.
7.4 Tipos de
operadores.
7.5 Prioridad o
precedencia.
7.6 Notaciones.
7.7 Generación
de notaciones a
través de
árboles
binarios.
7.8 Recorrido
del árbol.
7.9 Importancia
de la notación
posfija.
7.10 Algoritmo
para convertir
de notación fija
12/10/201
9
12/10/201
9
12/10/201
9
12/10/201
9
12/10/201
9
12/10/201
9
Actividad por estudiantes
19/10/201
9
26/10/201
9
26/10/201
9
26/10/201
9
26/10/201
9
26/10/201
9
26/10/201
9
26/10/201
9
26/10/201
9
26/10/201
9
26/10/201
9
Segundo
Proyecto
Examen Final
2020
Enero
Recuperación
a notación
posfija.
7.11 Algoritmo
para evaluar
notaciones pos
fijas.
7.12 Aplicación
de los
algoritmos de
conversión y
evaluación en
un programa.
7.13
Comentarios
finales.
Creación de
Analizador
Léxico
Tarea de
Investigación:
Presentación
de Unidad 7
En horario del
curso
26/10/201
9
26/10/201
9
26/10/201
9
Actividad por estudiantes y
catedrático
02/11/201
9
Examen: Unidad 5, 6 y 7
16/11/201
9
Todo el contenido.
LECCIONES
Lección 0 y 1 (Semana 1 y 2)
A continuación, se incluye el detalle del Material de Aprendizaje, actividades y las
evaluaciones de estas semanas.
MATERIAL DE APRENDIZAJE
Las lecciones 0 y 1 del curso pueden
curso, área "Material de Aprendizaje".
localizarlo
en
el
menú
del
Lección 0: Reglas Generales
Lección 1: Fundamentos de los Sistemas de Calidad
ACTIVIDADES
Las actividades de esta semana están localizadas en el menú del curso, en el área
de Actividades. Visualice el cuadro de fechas de entrega y plazos de publicación
de las tareas.
En la semana 1, deberá realizar lo siguiente:
 Crear grupo para trabajar en el curso.
 Examen Corto 1
 Laboratorio 1


Investigación de Unidad 1
Crear Caso 1
EVALUACIÓN
A continuación, encontrará el detalle del punteo de las actividades de las lecciones
0y1
.
No.
Detalle de
Punteo
Forma de
Fecha de Entrega
la Actividades
Relativo evaluación
1.
Crear grupo de
00
No tiene
Del 13 al 20 de julio.
para trabajar en
puntuación
el grupo
2.
Examen Corto
100
Revisión
20 de julio.
Unidad 1
3.
Laboratorio 1
100
Revisión
20 de julio.
4.
5.
Investigación de
Unidad 1
Crear Caso 1
100
Revisión
20 de julio.
100
Revisión
20 de julio.
Lección 2(Semana 3 y 4)
A continuación, se incluye el detalle del Material de Aprendizaje, actividades y las
evaluaciones de esta semana.
MATERIAL DE APRENDIZAJE
La lección 2 del curso podrá localizarlo en el menú del curso, área "Material de
Aprendizaje".
Contenidos Lección2: Conociendo los distintos pasos de un compilador sencillo
 Definición de la sintaxis
 Traducción dirigida por la sintaxis
 Análisis sintáctico
 Traductor de expresiones
 Incorporación
 Máquinas de pilas abstractas
ACTIVIDADES
Las actividades de esta semana están localizadas en el menú del curso, en el área
de Actividades. Visualice el cuadro de fechas de entrega y plazos de publicación
de las tareas.
En la semana 3, deberá realizar lo siguiente:


Examen Corto.
Transformar una Expresión Regular a Autómata Finito Determinístico
EVALUACIÓN
A continuación, encontrará el detalle del punteo de las actividades de las lecciones
1 y 2.
No.
1.
2.
Detalle de
la Actividades
Examen Corto
Laboratorio
Análisis para la
construcción de
un Compilador
Punteo
1
1
Forma de
evaluación
Puntuación
automática
Puntuación
Automática
Fecha de Entrega
24 de febrero
2 de marzo
Lección 3(Semana 5 y 6)
A continuación, se incluye el detalle del Material de Aprendizaje, actividades y las
evaluaciones de esta semana.
MATERIAL DE APRENDIZAJE
La lección 3 del curso podrá localizarlo en el menú del curso, área "Material de
Aprendizaje".
Contenidos Lección 3: Análisis Léxico
 Función de un analizador léxico
 Manejo de buffers de entrada
 Especificación y reconocimiento de componentes léxicos
ACTIVIDADES
Las actividades de esta semana están localizadas en el menú del curso, en el área
de Actividades. Visualice el cuadro de fechas de entrega y plazos de publicación
de las tareas.
En las semanas 5 y 6, deberá realizar lo siguiente:
 Examen Corto.
 Creación de componentes léxicos
EVALUACIÓN
A continuación, encontrará el detalle del punteo de las actividades de la lección 3.
No.
1.
2.
Detalle de
la Actividades
Examen Corto
Creación de
componentes
léxicos
Punteo
100
100
Forma de
evaluación
Puntuación
automática
Puntuación
Automática
Fecha de Entrega
6 de marzo
16 de marzo
Lección 4(Semana 7 y 8)
A continuación, se incluye el detalle del Material de Aprendizaje, actividades y las
evaluaciones de esta semana.
MATERIAL DE APRENDIZAJE
La lección 4 del curso podrá localizarlo en el menú del curso, área "Material de
Aprendizaje".
Contenidos Lección 4: Análisis Sintáctico
 Función de un analizador sintáctico
 Gramáticas independientes del contexto
 Escritura de una gramática
 Análisis sintáctico ascendente – descendentes y por precedencia de
operadores
ACTIVIDADES
Las actividades de esta semana están localizadas en el menú del curso, en el área
de Actividades. Visualice el cuadro de fechas de entrega y plazos de publicación
de las tareas.
En las semanas 7 y 8, deberá realizar lo siguiente:
 Examen Corto.
 Creación de componentes léxicos
EVALUACIÓN
A continuación, encontrará el detalle del punteo de las actividades de la lección 3.
No.
1.
2.
Detalle de
la Actividades
Examen Corto
Creación de
componentes
léxicos
Punteo
100
100
Forma de
evaluación
Puntuación
automática
Puntuación
Automática
Fecha de Entrega
24 de abril
2 de mayo
Descargar