INGENIERÍA EN SISTEMAS
COMPUTACIONALES
LENGUAJES Y AUTÓMATAS
LEA-CV
REV00
II
DIRECTORIO
Secretario de Educación Pública
Dr. José Ángel Córdova Villalobos
Subsecretario de Educación Superior
Dr. Rodolfo Tuirán Gutiérrez
Coordinadora de Universidades Politécnicas
Mtra. Sayonara Vargas Rodríguez
III
PÁGINA LEGAL
Participantes
Mtra. Ma. Elena Vázquez Huerta - Universidad Politécnica de Querétaro
Mtro. Fidel González Gutiérrez - Universidad Politécnica de Querétaro
Dra. Ely Karina Anaya Rivera - Universidad Politécnica de Querétaro
Primera Edición: 2012
DR 2012 Coordinación de Universidades Politécnicas.
Número de registro:
México, D.F.
ISBN-----------------
IV
ÍNDICE
INTRODUCCIÓN .............................................................................................................................................................. 1
PROGRAMA DE ESTUDIO ............................................................................................................................................. 2
FICHA TÉCNICA .............................................................................................................................................................. 3
DESARROLLO DE ACTIVIDADES DE APRENDIZAJE .................................................................................................. 5
INSTRUMENTOS DE EVALUACIÓN ............................................................................................................................ 15
GLOSARIO DE TÉRMINOS Y ABREVIATURAS ......................................................................................................... 26
BIBLIOGRAFÍA ....................................................................................................................................................... 29
1
INTRODUCCIÓN
Con el estudio de la teoría de lenguajes y autómatas los estudiantes adquieren un
conocimiento profundo sobre la teoría de la computación y las ciencias computacionales.
Las computadoras que se estudian son máquinas abstractas o modelos computacionales
definidos matemáticamente. La máquina abstracta más sencilla que se estudia es un
autómata finito o máquina de estados finitos. Los lenguajes que pueden reconocer estas
máquinas son lenguajes regulares. Las máquinas correspondientes en forma de software se
han aplicado a diversos problemas en el diseño de compiladores y programas de
procesamiento de texto, máquinas vendedoras de productos, cajeros automáticos,
elevadores, entre otros.
La limitación más evidente de un autómata de estados finito es que está desprovisto de
memoria, por lo tanto solo puede reconocer lenguajes sencillos. Los lenguajes de contexto
libre permiten una sintaxis más rica que los lenguajes regulares, pueden generarse
mediante el uso de gramáticas de contexto libre y son susceptibles a reconocimiento
mediante dispositivos de cómputo llamados autómatas de pila; son importantes en las
ciencias computacionales porque sirven para describir gran parte de la sintaxis de los
lenguajes de programación de alto nivel y de otros lenguajes formales afines.
La teoría de lenguajes y autómatas es de gran utilidad para el trabajo en áreas
especializadas de la informática como en Inteligencia artificial, Procesamiento de lenguaje
natural, interacción hombre-máquina, Reconocimiento de lenguaje, Compiladores.
El estudio de la asignatura permitirá al alumno, la especificación de autómatas que
reconozcan lenguajes regulares y definir gramáticas independientes del contexto. Contar
con la capacidad de especificar máquinas de Turing que correspondan a algoritmos para el
tratamiento de cadenas, identificando la diferencia entre lenguajes recursivos y lenguajes
recursivamente enumerables, y comprender sus consecuencias en el campo de su
profesión.
2
PROGRAMA DE ESTUDIOS
Presencial NO Presencial Presencial NO Presencial
EP1. Resuelve ejercicios de
conjuntos, relaciones, funciones,
grafo, árbol, alfabeto, palabra y
lenguaje. (tratar de poner un
nombre que englobe estos
conceptos)
EC1. Realiza cuestionario sobre
definiciones recursivas
ED1. Construye autómatas
finitos determinísticos a partir de
enunciados dados.
EP1. Resuelve ejercicios de
unión, intersección y
complemento de automatas
finitos.
Al completar la unidad de aprendizaje
el alumno será capaz de:
* Definir una máquina de turing
* Calcular lenguajes asociados a una
máquina de turing
EP1. Resuelve ejercicios para
obtener el lenguaje asociado a
una máquina de turing
Exposición/Lección
Magistral
Lluvia de ideas
Lectura comentada
Estudio de casos
Aprendizaje cooperativo
Solución de ejercicios
X N/A N/A N/A N/A
Hojas de ejercicios
a resolver, Lectura
para analizar, lapiz,
goma, pizarron,
plumones, borrador
Proyector (cañón)
Computadora6 0 6 6 Documental
1. Rúbrica para ejercicios
para obtener el lenguaje
asociado a una máquina de
turing.
6 Documental
1. Rubrica para ejercicios
construcción de arboles y
autómata finito.
Documental
Proyector (cañón)
Computadora
Sofware de simulación
6
Proyector (cañón)
Computadora
Exposición/Lección
Magistral
Lluvia de ideas
Aprendizaje cooperativo
Solución de ejercicios
0 6
6 1 6 6
5. Maquina de Turing
4. Gramáticas
Al completar la unidad de aprendizaje
el alumno será capaz de:
* Definir un lenguaje regular, expresión
regular
* Simplificar expresiones regulares usando
reglas algebráicas
* Producir expresiones regulares a partir de
un automata finito determinístico y viceversa
3. Lenguajes y Expresiones
Regulares
EP1. Resuelve ejercicios para
construir árboles de derivación
para encontrar expresiones
regulares y contruccion
gramatical de un autómata finito.
Estudio de casos
Aprendizaje cooperativo
Solución de ejercicios
Hojas de ejercicios
a resolver, lapiz,
goma, pizarron,
plumones,
borrador, Hoja de
actividades de
juego
6
N/A
Hojas de ejercicios
a resolver, lapiz,
goma, pizarron,
plumones,
borrador, Hoja de
actividades de
juego
Proyector (cañón)
Computadora
Sofware de simulación
N/A N/A
X N/A
1. Lista de cotejo para
ejercicios empleando reglas
algebráicas de un autómata
finito deterministico y
viceversa.
X N/A
6Documental
Campo
N/A
N/A
0
1, Rúbrica para ejercicios de
conjuntos, relaciones,
funciones, grafo, árbol,
alfabeto, palabra y lenguaje.
(tratar de poner un nombre
que englobe estos conceptos)
2. Cuestionario sobre
conceptos definiciones
recursivas
N/A N/A
1. Guía de Observación para
la construcción de automatas
finitos.
2. Lista de cotejo de
resolución de ejercicios de
unión, intersección,
complemento automatas
finitos.
N/A
Al completar la unidad de aprendizaje
el alumno será capaz de:
* Construir árboles de derivación para
encontrar expresiones regulares
* Construir una gramática a partir de un
autómata finito determinístico y viceversa
Hojas de ejercicios
a resolver, lapiz,
goma, pizarron,
plumones,
borrador,Lectura
UNIVERSIDADES PARTICIPANTES:
Ingeniería en Sistemas Computacionales
Formar profesionistas competentes para: especificar, diseñar, construir, implantar, verificar, auditar, evaluar y mantener sistemas de tecnologías de la información que respondan a las necesidades de sus usuarios, mejorando los niveles de eficiencia, eficacia y productividad de las organizaciones en el entorno globalizado,
tomando en cuenta el factor humano.
Lenguajes y Autómatas
LEA-CV
El alumno será capaz de identificar los tipos fundamentales de mecanismos de definición de lenguajes y las máquinas para su reconocimiento.
TOTAL HRS. DEL CUATRIMESTRE:
NOMBRE DEL PROGRAMA EDUCATIVO:
OBJETIVO DEL PROGRAMA EDUCATIVO:
CLAVE DE LA ASIGNATURA:
OBJETIVO DE LA ASIGNATURA:
INSTRUMENTO
PARA LA
ENSEÑANZA
(PROFESOR)
PROYECTO
Diciembre, 2011
Universidad Politécnica de Querétaro
TOTAL DE HORAS
FECHA DE EMISIÓN:
OBSERVACIÓN
PROGRAMA DE ESTUDIO
DATOS GENERALES
AULA LABORATORIOPRÁCTICA
90
ESTRATEGIA DE APRENDIZAJE EVALUACIÓN
NOMBRE DE LA ASIGNATURA:
CONTENIDOS PARA LA FORMACIÓN
TEÓRICA PRÁCTICA EVIDENCIAS
TECNICAS SUGERIDAS
EQUIPOS REQUERIDOS
MOVILIDAD FORMATIVA
TÉCNICA
MATERIALES
REQUERIDOS
OTRO
UNIDADES DE APRENDIZAJE RESULTADOS DE APRENDIZAJE
ESPACIO EDUCATIVO
PARA EL
APRENDIZAJE
(ALUMNO)
Hojas de ejercicios
a resolver, lapiz,
goma, pizarron,
plumones, borrador
N/A
Al completar la unidad de aprendizaje
el alumno será capaz de:
* Definir un autómata finito determinístico y
un no-determinístico, grafo de transición y
automata finito con salida.
* Construir automatas con las operaciones
de unión, intersección y complemento.
* Construir automatas finitos con salida a
partir de una cadena de entrada.
Preguntas
exploratorias
Exposición/lección
Magistral
Lluvia de ideas
Aprendizaje cooperativo
Solución de ejercicios
Al completar la unidad de aprendizaje
el alumno será capaz de:
* Definir operaciones básicas de conjuntos,
relaciones, funciones, grafo, árbol, alfabeto,
palabra y lenguaje
* Identificar las propiedades de un grafo y
de un árbol, así como la recursión como
elementos clave de los autómatas.
N/A
N/A N/A
2. Automatas Finitos XAprendizaje cooperativo
Solución de ejercicios
Exposición/Lección
Magistral
Lluvia de ideas
Simulación y Juego
0 6 6Documental
1. Preliminares Matemáticos
Exposición/lección
Magistral
Lluvia de ideas
Simulación y Juego
N/A
6
EP1. Resuelve ejercicios
empleando reglas algebráicas
para simplificar expresiones
regulares en un automata finito
determinístico y viceversa
El desarrollo de esta
unidad depende de los
conocimietos previos del
curso de Matemáticas
Discretas
X N/AProyector (cañón)
Computadora6
3
FICHA TÉCNICA
LENGUAJES Y AUTOMATAS
Nombre: Lenguajes y Autómatas
Clave: LEA-CV
Justificación: Para comprender una aplicación importante de la lógica en la computación.
Objetivo: El alumno será capaz de identificar los tipos fundamentales de mecanismos
de definición de lenguajes y las máquinas para su reconocimiento.
Habilidades
Lectura, Escritura, Interlocución, Síntesis de la información, Aplicación de
principios tecnológicos, Relaciones en y con el entorno organizacional
Relaciones interpersonales, Toma de decisiones, Lectura en segunda lengua
Interlocución en segunda lengua.
Competencias
genéricas a
desarrollar
capacidades
capacidades previsas
Capacidad de análisis y síntesis; para resolver problemas; para aplicar los
conocimientos en la práctica; para gestionar la información; y para trabajar en
forma autónoma y en equipo.
Capacidades a desarrollar en la asignatura Competencias a las que contribuye la
asignatura
Diagnosticar hardware /software para
proponer mejoras y/o soluciones
informáticas en la organización
mediante el análisis de tecnologías en el
mercado.
Plantear componentes tecnológicos para
cubrir las necesidades de la
organización mediante el
establecimiento de soluciones
estratégicas de TIC`s.
Proponer infraestructura tecnológica para
establecer las bases que fundamenten una
solución informática mediante estrategias de TIC`s.
4
Estimación de tiempo
(horas) necesario para
transmitir el
aprendizaje al alumno,
por Unidad de
Aprendizaje:
Unidades de
aprendizaje
HORAS TEORÍA HORAS PRÁCTICA
Presencial No
presencial Presencial
No
presencial
1. Preliminares
Matemáticos
6 0 6 6
2. Autómatas Finitos
6 0 6 6
3. Lenguajes y
Expresiones
regulares
6 0 6 6
4. Gramáticas
6 0 6 6
5. Máquina de Turing
6 0 6 6
Total de horas por
cuatrimestre: 90
Total de horas por
semana: 6
Créditos: 5
5
Nombre de la asignatura: LENGUAJES Y AUTOMATAS
Nombre de la Unidad de
Aprendizaje:
1. PRELIMINARES MATEMÁTICOS
Nombre de la Actividad
de aprendizaje Ejercicios preliminares
Número : 1
Duración (horas) : 2 módulos
Resultado de
aprendizaje:
Definir operaciones básicas de conjuntos, relaciones, funciones, grafo,
árbol, alfabeto, palabra y lenguaje.
Identificar las propiedades de un grafo y de un árbol así como la recursión
como elementos clave de los autómatas.
Actividades a desarrollar:
Resolver ejercicios de preliminares Matemáticos
Evidencia a generar en el desarrollo de la práctica:
EP1. Resuelve ejercicios de conjuntos, relaciones, funciones, grafo, árbol, alfabeto, palabra y lenguaje.
Universidad politécnica de
Nombre(s) del
alumno
Matricula Firma del alumno Fecha
Asignatura: Lenguajes y automatas Periodo cuatrimestral :
Nombre del profesor: Firma del profesor :
Instrucciones: Resuelve en tu cuaderno los siguientes ejercicios:
1. Realiza el producto cartesiano. A={1,3,5,6,8}, B={3,9,27,11}, c={1,2,3}
a) A x (B C) b) C x B c) C x (A B) d) C x C
2. Con el conjunto D= {1,2,3,4,5,6}da un ejemplo de una Relación que sea. Utiliza la
representación de grafos para mostrar dichas relaciones
a) Simétrica b) Transitiva c) Reflexiva d) Reflexiva y
simétrica
3. Determina los elementos de R sobre el conjunto E={1,2,3,4,5,6,7,8} definida la relación
mediante las siguientes reglas
a) (x,y) R, si x+y es múltiplo de 3
b) (x,y) R, si x + y es una potencia de 2 (1,2,4,8,16,32,...)
c) (x,y) R, si x o y es un número primo
d) (x,y) R, si x/y es entero
e) (x,y) R, si y*x es impar
4. Representar gráficamente, una función y una No-Función
5. Diga que propiedades (Reflexiva, Simétrica, Transitiva) tienen las siguientes relaciones
DESARROLLO DE LA ACTIVIDAD DE APRENDIZAJE
6
a) R1 es una relación sobre Z tal que x R y si x + y es par
b) R2 = {(1,1), (2,2), (3,3), (4,4), (5,5,),(6,6),(7,7),(1,4),(1,7),(2,5),(3,6),(4,1),
(4,7),(5,2),(6,3),(7,4),(7,1)}
6. Dado el grafo mostrado contestar
a) V=
b) A=
c) Un camino simple de longitud 4 _______
d) Un ciclo no simple que empiece en el vértice g
e) Escribir el grado de cada vértice
f) Un subgrafo dirigido
7. Escribir las condiciones necesarias para que en un grafo exista a) un Camino/Trayectoria
de Euler y b) un ciclo/circuito de Euler
8. Para el árbol escribir altura del árbol, nombrar los nodos hojas y los nodos interiores, los
hijos de cada nodo interior
9. Para el árbol listar los nodos en preorden, inorden y posorden.
10. Convierta las siguientes expresiones en notación prefija y posfija
( ( a + b ) + c * ( d + e ) + f ) * ( g + h )
7
Nombre de la asignatura: LENGUAJES Y AUTOMATAS
Nombre de la Unidad de
Aprendizaje:
2. AUTOMATAS FINITOS
Nombre de la Actividad
de aprendizaje Definir un autómata finito determinístico
Número : 2
Duración (horas) : 1 módulo
Resultado de
aprendizaje:
Construir autómatas finitos a con salida a partir de una cadena de
entrada.
Actividades a desarrollar:
Construir autómatas finitos determinísticos a partir de un enunciado.
Evidencia a generar en el desarrollo de la práctica:
ED1. Construye autómatas finitos determinísticos a partir de enunciados dados.
Universidad politécnica de
Nombre(s) del alumno Matricula Firma del alumno Fecha
Asignatura: Lenguajes y autómatas Periodo cuatrimestral :
Nombre del profesor: Firma del profesor :
Instrucciones: Resuelve en tu cuaderno los siguientes ejercicios:
1) Dibuje un automata finito que acepte todas las palabras que tengan número par de
a´s y b´s. ={a b}
2) Dibuje un automata finito que acepte todas las palabras que empiecen o terminen
con una doble letra. ={a b}
DESARROLLO DE LA ACTIVIDAD DE APRENDIZAJE
8
Nombre de la asignatura: LENGUAJES Y AUTOMATAS
Nombre de la Unidad de
Aprendizaje:
2. AUTOMATAS FINITOS
Nombre de la Actividad
de aprendizaje
Construir autómatas con las operaciones de unión, intersección y
complemento
Número : 3
Duración (horas) : 2 módulos
Resultado de
aprendizaje:
Construir autómatas con las operaciones de unión, intersección y
complemento.
Actividades a desarrollar:
Realizar las operaciones de Unión, Intersección y Complemento de autómatas
Evidencia a generar en el desarrollo de la práctica:
EP1. Resuelve ejercicios de unión, intersección y complemento de autómatas finitos.
Universidad politécnica de
Nombre(s) del
alumno
Matricula Firma del alumno Fecha
Asignatura: Lenguajes y autómatas Periodo cuatrimestral :
Nombre del profesor: Firma del profesor :
Instrucciones: Resuelve en tu cuaderno los siguientes ejercicios:
Para cada uno de los siguientes pares de lenguajes regulares, encontrar una expresión
regular y un FA que defina 21 LL
1. (a + b)* a b(a + b)*
2. (a + b)* a (a + b) *aa(a + b)*
3. (a + b)* a (a + b)* b
Para cada uno de los siguientes pares de lenguajes regulares, encontrar una expresión
regular y un FA que defina 21 LL
4. (a + b) *aa(a + b)* (a + b)* b
5. (a + b)* a (a + b) *aa(a + b)*
6. (a + b)* b b(a + b)*
Para los cuatro autómatas que utilizaste en los ejercicios previos dibuja su
complemento.
DESARROLLO DE LA ACTIVIDAD DE APRENDIZAJE
9
Nombre de la asignatura: LENGUAJES Y AUTOMATAS
Nombre de la Unidad de
Aprendizaje:
3. Lenguajes y Expresiones regulares
Nombre de la Actividad
de aprendizaje Expresiones regulares de un autómata
Número : 4
Duración (horas) : 1 módulo
Resultado de
aprendizaje:
Simplificar expresiones regulares usando reglas algebraicas.
Producir expresiones regulares a partir de un autómata finito
determinístico y viceversa.
Actividades a desarrollar:
Dado un autómata obtener su expresión regular usando reglas algebraicas y lema de arden.
Evidencia a generar en el desarrollo de la práctica:
EP1. Resuelve ejercicios empleando reglas algebraicas para simplificar expresiones regulares en un
autómata finito determinístico y viceversa.
Universidad politécnica de
Nombre(s) del
alumno
Matricula Firma del alumno Fecha
Asignatura: Lenguajes y automatas Periodo cuatrimestral :
Nombre del profesor: Firma del profesor :
Instrucciones: Para cada uno de los siguientes autómatas, encontrar su expresión
regular usando ecuaciones y el lema de Arden
DESARROLLO DE LA ACTIVIDAD DE APRENDIZAJE
10
1.
a
bb
a
b b
a
a
-- +
2.
- +
a
b
b
a
b
a,b
a
a,b
3.
-+
a
b
ba
b
a
a
+a
b
b
4.
-+a
b
a,b
a
b
a,b
11
Nombre de la asignatura: LENGUAJES Y AUTOMATAS
Nombre de la Unidad de
Aprendizaje:
4. Gramáticas
Nombre de la Actividad
de aprendizaje Construir árboles de derivación y obtener gramáticas de un autómata
Número : 5
Duración (horas) : 1 módulo
Resultado de
aprendizaje:
Construir árboles de derivación para encontrar expresiones regulares.
Construir una gramática a partir de un autómata finito determinístico y
viceversa.
Actividades a desarrollar:
Construir árboles de derivación para encontrar expresiones regulares que definen un autómata,
construir una gramática a partir de un autómata finito determinístico.
Evidencia a generar en el desarrollo de la práctica:
EP1. Resuelve ejercicios para construir árboles de derivación para encontrar expresiones regulares y
construcción gramatical de un autómata finito.
Universidad politécnica de
Nombre(s) del
alumno
Matricula Firma del alumno Fecha
Asignatura: Lenguajes y autómatas Periodo cuatrimestral :
Nombre del profesor: Firma del profesor :
Instrucciones: Resolver los siguientes ejercicios
1) Considere la CFG S aS|bb, utilizando un árbol de derivación pruebe que esta
gramática genera el lenguaje definido por la expresión regular a*bb
2) Considere la CFG
S XYX
XaX|bX|
Ybbb
utilizando un árbol de derivación pruebe que esta gramática genera el lenguaje de
todas las cadenas con una tripe b, definidas por el lenguaje (a + b)*bbb(a + b)*
3) Considere la CFG
S aX
XaX|bX|
DESARROLLO DE LA ACTIVIDAD DE APRENDIZAJE
12
Que lenguaje genera esta CGF?
4) Dado los siguientes automatas obtener su CFG
a)
-+
a
b
ba
b
a
a
+a
b
b
b)
-+a
b
a,b
a
b
a,b
13
Nombre de la asignatura: LENGUAJES Y AUTOMATAS
Nombre de la Unidad de
Aprendizaje:
5. Máquina de Turing
Nombre de la Actividad
de aprendizaje Leguaje de una máquina de Turing
Número : 6
Duración (horas) : 1 módulo
Resultado de
aprendizaje:
Calcular lenguajes asociados a una máquina de turing.
Actividades a desarrollar:
Escribe el lenguaje asociado a cada una máquina de turing
Evidencia a generar en el desarrollo de la práctica:
EP1. Resuelve ejercicios para obtener el lenguaje asociado a una máquina de turing.
Universidad politécnica de
Nombre(s) del
alumno
Matricula Firma del alumno Fecha
Asignatura: Lenguajes y autómatas Periodo cuatrimestral :
Nombre del profesor: Firma del profesor :
Instrucciones: Resuelve los ejercicios siguientes
1. Para la TM que sigue, identifica y escribe los elementos de una máquina de Turing
DESARROLLO DE LA ACTIVIDAD DE APRENDIZAJE
14
2. Escribe el lenguaje asociado a la TM del ejercicio 1.
3. Para la TM siguiente, demostrar que la palabra abaaba es aceptada
4. En la TM del ejercicios 3, demostrar que la palabra ababa NO es aceptada
5. Escribe el lenguaje asociado a la TM del ejercicio 3
15
16
Aspecto a evaluar Competente
10 Independiente
9 Básico avanzado
8 Básico umbral
7 Insuficiente
NA
Verificación de
ejercicios (4 puntos)
Realiza el producto
cartesiano
Utiliza grafos para
representar relaciones
Determina elementos de
una relación
Representa gráficamente
una función y no-función
Identifica propiedades de
una relación
Identifica los elementos de
un árbol
Describe las condiciones
para identificar camino y
ciclo de Euler en un grafo
Aplica los métodos de
ordenamiento de un árbol
binario
Realiza el producto
cartesiano
Utiliza grafos para
representar relaciones
Determina elementos de
una relación
Representa gráficamente
una función y no-función
Identifica propiedades de
una relación
Describe las condiciones
para identificar camino y
ciclo de Euler en un grafo
Realiza el producto
cartesiano
Determina elementos
de una relación
Representa
gráficamente una
función y no-función
Identifica
propiedades de una
relación
Realiza el producto
cartesiano
Determina elementos
de una relación
Identifica
propiedades de una
relación
Realiza el producto
cartesiano
Determina elementos
de una relación
Organización
operacional de los
ejercicios (3 puntos)
Utiliza notación de
conjuntos para representar
producto cartesiano,
vértices, aristas, camino,
ciclo.
Dibuja un grafo dirigido para
representar las relaciones
Utiliza notación matemática.
Utiliza notación de
conjuntos para
representar producto
cartesiano, vértices,
aristas, camino, ciclo.
Dibuja un grafo dirigido
para representar las
relaciones
Utiliza notación de
conjuntos para
representar producto
cartesiano, vértices,
aristas, camino, ciclo.
Utiliza notación de
conjuntos para
representar producto
cartesiano
No usa notación
matemática, ni
notación de
conjuntos.
No diferencia el tipo
de grafo
RUBRICA PARA EJERCICIOS GRAMATICALES
U1, EP1
17
Presentación
(3 puntos)
Elementos a considerar:
Encabezado Fuente listado
de ejercicios numerados,
resumen de operaciones
por cada ejercicio realizado,
portada, títulos.
Cumple con cinco de los
elementos requeridos.
Cumple con cuatro
de los elementos
requeridos.
Cumple con tres de
los elementos
requeridos.
No reúne los criterios
mínimos para la
entrega de un listado
de ejercicios
resueltos.
18
UNIVERSIDAD POLITÉCNICA DE __________________________
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
Nombre(s) del alumno(s): Matrícula: Firma del alumno(s):
Tema:
Unidad de Aprendizaje: 1 Fecha:
Asignatura: LENGUAJES Y AUTOMATAS
Periodo cuatrimestral:
Nombre del docente:
Firma del docente:
INSTRUCCIONES
Estimado usuario:
Usted tiene en las manos un instrumento de evaluación que permitirá fundamentar las actividades que ha
demostrado a través de su desempeño o en la entrega de sus productos.
Conteste los siguientes planteamientos de manera clara.
Le recordamos tomar el tiempo necesario para contestar y desarrollar su contenido.
ASPECTO
Instrucciones: Contesta las siguientes preguntas o ejercicios
1) Sea ={a, b, c }
a) Escribir 2?
b) Cuánto vale |3|
c) Cuánto vale |n|?
d) Escribir las palabras de * con longitud 4 y que empiezan con a
e) Cuántas cadenas en * son de longitud 3 y no tienen alguna a
2) Sea L1={10 11} y L2= {00 1} lenguajes para el alfabeto ={0 1}
a) Escribir los símbolos de L1
b) Escribir cinco palabras formadas con el lenguaje L1
c) Escribir cinco palabras formadas con el lenguaje L1 con el prefijo 11
d) Escribir cinco palabras formadas con el lenguaje L2 con el sufijo 11
e) Escribir las palabras de L1L2
f) Escribir las palabras de L24
3) Sea L1={10 11} y L2= {00 1} lenguajes para el alfabeto ={0 1}
a) Demuestre que 000011100 está en L2*
b) Demuestre que 000011100 no está en L1*
CUMPLE : SI NO
CUESTIONARIO SOBRE CONCEPTOS DEFINICIONES RECURSIVAS
U1, EC1
19
UNIVERSIDAD POLITÉCNICA DE __________________________
LENGUAJES Y AUTOMATAS.
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
Nombre(s) del alumno(s):
Matrícula: Firma del alumno(s):
Tema a Exponer: Autómatas finitos
Fecha:
Periodo cuatrimestral:
Nombre del docente:
Firma del docente:
INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a evaluar
se cumple; en caso contrario marque “NO”. En la columna “OBSERVACIONES” ocúpela cuando tenga que hacer
comentarios referentes a lo observado.
Valor del
reactivo Característica a cumplir (Reactivo)
CUMPLE
OBSERVACIONES
SI NO
20 % Marca correctamente el estado inicial en un autómata
finito
20 % Por cada símbolo del alfabeto hay únicamente una salida
para algún otro estado
20 % Marca correctamente el estado final o los estados finales
en un autómata finito
20 % Etiqueta correctamente cada una de las salidas con los
símbolos del alfabeto
20 % Utiliza los loops en un autómata
100% CALIFICACIÓN
GUIA DE OBSERVACIÓN "PARA LA CONSTRUCCIÓN DE AUTOMATAS FINITOS".
U2, ED1
20
UNIVERSIDAD POLITÉCNICA DE __________________________
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
Nombre(s) del alumno(s):
Matrícula: Firma del alumno(s):
Producto:
Nombre del Trabajo:
Fecha:
Asignatura: LENGUAJES Y AUTOMATAS
Periodo cuatrimestral:
Nombre del docente:
Firma del docente:
INSTRUCCIONES
Revisar las actividades que se solicitan y marque en los apartados “SI” cuando la evidencia se cumple; en caso
contrario marque “NO”. En la columna “OBSERVACIONES” indicaciones que puedan ayudar al alumno a saber
cuáles son las condiciones no cumplidas, si fuese necesario.
Valor
del
reactivo
Característica a cumplir (Reactivo)
CUMPLE
OBSERVACIONES
SI NO
20 % Escribe expresiones regulares correctamente
20 % Realiza la operación de Unión entre autómatas
10% En el autómata resultante identificó el estado final
20 % Realiza la operación de Intersección entre autómatas
10% En el autómata resultante identificó el estado final
20 % Realiza la operación de Complemento de un
autómata
100% CALIFICACIÓN
LISTA DE COTEJO RESOLUCIÓN DE EJERCICIOS DE UNIÓN, INTERSECCIÓN,
COMPLEMENTO AUTOMATAS FINITOS
U2, EP1
21
UNIVERSIDAD POLITÉCNICA DE __________________________
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
Nombre(s) del alumno(s):
Matrícula: Firma del alumno(s):
Producto:
Nombre del Trabajo:
Fecha:
Asignatura: LENGUAJES Y AUTOMATAS
Periodo cuatrimestral:
Nombre del docente:
Firma del docente:
INSTRUCCIONES
Revisar las actividades que se solicitan y marque en los apartados “SI” cuando la evidencia se cumple; en caso
contrario marque “NO”. En la columna “OBSERVACIONES” indicaciones que puedan ayudar al alumno a saber
cuáles son las condiciones no cumplidas, si fuese necesario.
Valor
del
reactivo
Característica a cumplir (Reactivo)
CUMPLE
OBSERVACIONES
SI NO
20 % Escribió la expresión inicial del autómata
20 % Usó correctamente el lema de arden para simplificar
expresiones
20 % Aplica apropiadamente la propiedad distributiva
20 % La operación de concatenación se utiliza correctamente
20 % Obtiene la expresión regular del autómata
100% CALIFICACIÓN
LISTA DE COTEJO PARA EJERCICIOS EMPLEANDO REGLAS ALGEBRÁICAS DE
UN AUTÓMATA FINITO DETERMINISTICO Y VICEVERSA
U3, EP1
22
Aspecto a evaluar Competente
10 Independiente
9 Básico avanzado
8 Básico umbral
7 Insuficiente
NA
Verificación de
ejercicios (4
puntos)
Utilizando un árbol de
derivación verifica el
lenguaje generado por la
gramática
Utilizando un árbol de
derivación identifica las
palabras generadas por la
gramática.
Escribe palabras generadas
por una gramática para
identificar el lenguaje
generado por la gramática
Escribe la CFG de un
autómata
Utilizando un árbol de
derivación verifica el
lenguaje generado por
la gramática
Utilizando un árbol de
derivación identifica
las palabras generadas
por la gramática.
Escribe palabras
generadas por una
gramática para
identificar el lenguaje
generado por la
gramática
Utilizando un árbol de
derivación verifica el
lenguaje generado por
la gramática
Escribe palabras
generadas por una
gramática para
identificar el lenguaje
generado por la
gramática
Escribe palabras
generadas por una
gramática para identificar
el lenguaje generado por
la gramática
No utiliza árboles de
derivación
No identifica
palabras generadas
por una gramática
Organización
operacional de los
ejercicios (3
puntos)
Escribe el símbolo S como
raíz del árbol de derivación
Al dibujar el árbol de
derivación coloca símbolos
no terminales en los nodos
interiores y símbolos del
alfabeto en las hojas del
árbol.
Aplica técnica de recursión
en la escritura de palabras
Identifica cerradura de
kleene al escribir el lenguaje
Escribe el símbolo S
como raíz del árbol de
derivación
Al dibujar el árbol de
derivación coloca
símbolos no terminales
en los nodos interiores
y símbolos del alfabeto
en las hojas del árbol.
Aplica técnica de
recursión en la
escritura de palabras
Escribe el símbolo S
como raíz del árbol de
derivación
Al dibujar el árbol de
derivación coloca
símbolos no terminales
en los nodos interiores
y símbolos del alfabeto
en las hojas del árbol.
Aplica técnica de
recursión en la
escritura de palabras
Escribe el símbolo S como
raíz del árbol de
derivación
Al dibujar el árbol de
derivación coloca
símbolos no terminales en
los nodos interiores y
símbolos del alfabeto en
las hojas del árbol.
Aplica técnica de
recursión en la
escritura de
palabras
RUBRICA PARA EJERCICIOS CONSTRUCCION DE ARBOLES Y AUTOMATA FINITO
U4, EP1
23
generado por la gramática
Al obtener la CGF de un FA
identifica S como el estado
inicial, nombre los estados
con los símbolos no
terminales, identifica el
estado o estados finales.
Identifica cerradura de
kleene al escribir el
lenguaje generado por
la gramática
Presentación
(3 puntos)
Elementos a considerar:
Encabezado Fuente listado
de ejercicios numerados,
resumen de operaciones
por cada ejercicio realizado,
portada, títulos.
Cumple con cinco de
los elementos
requeridos.
Cumple con cuatro de
los elementos
requeridos.
Cumple con tres de los
elementos requeridos.
No reúne los
criterios mínimos
para la entrega de
un listado de
ejercicios resueltos.
24
Aspecto a evaluar Competente
10 Independiente
9 Básico avanzado
8 Básico umbral
7 Insuficiente
NA
Verificación de
ejercicios (4
puntos)
Escribe los elementos de
una máquina de turing
Identifica el lenguaje
asociado a una máquina de
turing
Utiliza la máquina de turing
para identificar palabras
aceptadas
Utiliza la máquina de turing
para identificar palabras no
aceptadas
Escribe los elementos
de una máquina de
turing
Identifica el lenguaje
asociado a una máquina
de turing
Identifica el lenguaje
asociado a una
máquina de turing
Escribe los
elementos de una
máquina de turing
No identifica
elementos de una
máquina de turing
No hace la lectura de
una máquina de
turing
Organización
operacional de los
ejercicios (3
puntos)
Utiliza notación matemática
para escribir los elementos
de una máquina de turing
Utiliza notación de
lenguajes para escribir la
expresión regular del
lenguaje asociado a la
máquina de turing
Escribe descripciones
instantáneas
Identifica estados finales y
no finales
Utiliza notación de
lenguajes para escribir la
expresión regular del
lenguaje asociado a la
máquina de turing
Escribe descripciones
instantáneas
Identifica estados finales
y no finales
Escribe descripciones
instantáneas
Identifica estados
finales y no finales
Escribe descripciones
instantáneas
Identifica estados
finales y no finales
RÚBRICA PARA EJERCICIOS PARA OBTENER EL LENGUAJE ASOCIADO A UNA MÁQUINA DE
TURING
U5, EP1
25
Presentación
(3 puntos)
Elementos a considerar:
Encabezado Fuente listado
de ejercicios numerados,
resumen de operaciones
por cada ejercicio realizado,
portada, títulos.
Cumple con cinco de los
elementos requeridos.
Cumple con cuatro de
los elementos
requeridos.
Cumple con tres de
los elementos
requeridos.
No reúne los criterios
mínimos para la
entrega de un listado
de ejercicios
resueltos.
26
GLOSARIO DE TERMINOS
Alfabeto
El alfabeto es un conjunto finito de símbolos, denotado
como , a veces se hace referencia a él con el término de
vocabulario.
Arboles Sintácticos Es un gráfico en forma de árbol que representa una cadena
que se deriva de una gramática libre de contexto.
Autómata
Una máquina abstracta cuyos mecanismos de mando
fueron diseñados para seguir una sucesión predeterminada
de funcionamientos automáticamente o responder a las
instrucciones puestas en código. El autómata que nosotros
estudiamos se idealiza en máquinas cuya conducta puede
ser explicadas en términos de algún sistema descriptivo
formal donde nosotros manipulamos símbolos en lugar del
hardware.
Autómatas Lineales
Es una máquina de Turing que en lugar de tener una cinta
infinita está restringida a una porción de cinta con extremos
acotados.
Cadena
Una cadena es una secuencia finita de símbolos
yuxtapuestos.
Cadena vacía
La cadena vacía, denotada como Λ y en algunos otros
autores como ԑ, es la cadena de longitud cero.
Cerradura
Dado un alfabeto se desea definir un lenguaje en el cual
cualquier cadena de letras formadas de está en el
lenguaje. A este lenguaje le llamamos la cerradura del
alfabeto denotado como *, esta notación es conocida
como estrella o cerradura de Kleen.
Concatenación
La concatenación de dos cadenas es la cadena que se
forma al escribir la primera seguida de la segunda sin que
haya espacio entre ellas.
Expresión Regular Se utilizan para especificar un lenguaje regular.
27
Forma de Backus-Naur Es la notación para las gramáticas libres de contexto con
cambios menores en su formato y algunas abreviaturas.
Gramáticas Libres de
Contexto
Es un conjunto de variables (símbolos no terminales) cada
uno de los cuales representa un lenguaje. Los lenguajes
representados por las variables se describen de manera
recursiva en términos de las mismas variables y de símbolos
primitivos llamados terminales. Las reglas que relacionan a
las variables se conocen como producciones.
Lenguajes Regulares
Es el conjunto de los lenguajes regulares sobre el alfabeto S
está contiene Æ , los lenguajes unitarios incluido {e } y todos
los lenguajes obtenidos a partir de la concatenación, unión y
la cerradura de estrella.
Lenguajes Sensibles al
Contexto Estos lenguajes contienen a los lenguajes libres de contexto
Los Lenguajes
Recursivos
Estos lenguajes contienen a los lenguajes sensibles de
contexto.
Máquina de Turing
Es una cinta que contiene una colección de celdas de
almacenamiento que se extiende infinitamente en ambas
direcciones. Cada celda es capaz de almacenar un único
símbolo. Además, tendrá, asociada con la cinta, una cabeza
de lectura/escritura que puede moverse hacia la izquierda o
a la derecha sobre cada una de las celdas de la cinta y por
cada movimiento leerá o escribirá un símbolo.
Procesador de Listas
Lenguaje no estructurado que se desarrolla para aplicarlo
en la investigación en inteligencia artificial. Permite el
manejo eficiente de listas de todo tipo, lo que lo hace muy
adecuado para manejo y dosificación de bases de
comunicación.
28
Programación Lógica
Lenguaje no estructurado que se desarrolló para aplicarlo
en la investigación en inteligencia artificial. Su especialidad
es la representación simbólica de objetos.
Palabra Una palabra es una cadena finita de elementos de
Prefijos Los prefijos de una cadena están formados por los primeros
símbolos de la cadena
Símbolo Un símbolo es una entidad abstracta.
Sufijos Los sufijos de una cadena están formados por los últimos
símbolos de la cadena
29
BIBLIOGRAFÌA
TÍTULO:
INTRODUCTION TO LANGUAGES AND THE THEORY OF
COMPUTATION
AUTOR:
MARTIN John
AÑO:
2010
EDITORIAL O REFERENCIA: McGrawHill
LUGAR Y AÑO DE LA EDICIÓN US,2010
ISBN O REGISTRO:
978-00-731-9146-1
TÍTULO:
INTRODUCTION TO AUTOMATA THEORY, LANGUAJES
AND COMPUTATION, 3RD EDITION
AUTOR:
HOPCROFT John E., MOTWANI Rajeev, ULLMAN Jeffrey
D.
AÑO:
2007
EDITORIAL O REFERENCIA: ADDISON WESLEY
LUGAR Y AÑO DE LA EDICIÓN US, 2006
ISBN O REGISTRO:
978-03-214-6225-1
TÍTULO:
TEORÍA DE
AUTOMATAS Y
LENGUAJES
FORMALES
AUTOR:
ALFONSECA Cubero Enrique, ALFONSECA Moreno
Manuel, MORIYÓN Salomón Roberto
AÑO:
2007
EDITORIAL O REFERENCIA: McGrawHill
LUGAR Y AÑO DE LA EDICIÓN España, 2007
ISBN O REGISTRO:
978-84-481-5637-4
COMPLEMENTARIA
TÍTULO:
INTRODUCTION TO THE THEORY OF COMPUTATION
AUTOR:
SIPSER Michael
AÑO:
2005
EDITORIAL O REFERENCIA: COURSE TECHNOLOGY
LUGAR Y AÑO DE LA EDICIÓN US,2005
ISBN O REGISTRO:
978-05-349-5097-2
30
TÍTULO:
TEORIA DE AUTOMATAS LENGUAJES Y COMPUTACION
AUTOR:
HOPCROFT John E.
AÑO:
2008
EDITORIAL O REFERENCIA: PEARSON PRENTICE HALL
LUGAR Y AÑO DE LA EDICIÓN España, 2008
ISBN O REGISTRO:
978-84-782-9088-8
TÍTULO:
TEORÍA DE LA COMPUTACIÓN
AUTOR:
CARRIÓN Viramontes José Eduardo
AÑO:
2009
EDITORIAL O REFERENCIA: Limusa
LUGAR Y AÑO DE LA EDICIÓN México, 2009
ISBN O REGISTRO:
978-60-705-0050-3
31
Instrucciones: Contesta las siguientes preguntas o ejercicios
4) Sea ={a, b, c }
a) Escribir 2? 2 ={ ab, ac, aa, ba, bb, bc, ca, cb, cc}
b) Cuánto vale |3| =27
c) Cuánto vale |n|? 3n
d) Escribir las palabras de * con longitud 4 y que empiezan con a
aaaa,aaab,aaac,aaba,aabb,aabc,aaca,aacb,aacc,abaa,abab,abac,abba,abbb,abbc,abc
a,abcb,abcc,acaa,acab,acac,acba,acbb,acbc,acca,accb,accc
e) Cuántas cadenas en * son de longitud 3 y no tienen alguna a 8 {
bbb,bbc,bcb,bcc,cbb,cbc,ccb,ccc }
5) Sea L1={10 11} y L2= {00 1} lenguajes para el alfabeto ={0 1}
a) Escribir los símbolos de L1 –{10, 11}
b) Escribir cinco palabras formadas con el lenguaje L1 { 10, 11,
1010,1011,1110,1111,1010,1011,1110,1111,101010,101011,101110,101111,1
11010,111011,111110,111111}
c) Escribir cinco palabras formadas con el lenguaje L1 con el prefijo 11
{11,1110,1111,111010,111011,111110,111111,111010,111011,111110,111111
}
d) Escribir cinco palabras formadas con el lenguaje L2 con el sufijo 1 {
1,11,001,0011,111,11001,10011,0000001,00111,11001,10011,0000001}
e) Escribir las palabras de L1L2 {1000,101,1100,111}
f) Escribir las palabras de L24 { 000000, 0000001, 0000100, 000011, 0010000,
11001, 11100, 1111,
1000000,0000001,0000100,000011,0010000,11001,11100,1111}
6) Sea L1={10 11} y L2= {00 1} lenguajes para el alfabeto ={0 1}
a) Demuestre que 000011100 está en L2* (00)(00)(1)(1)(1)(00)
b) Demuestre que 000011100 no está en L1*(00)0011100 00 no está en L1
Cuestionario sobre conceptos recursivos
RESPUESTAS
Top Related