Академический Документы
Профессиональный Документы
Культура Документы
COMITÉ DIRECTIVO
Gloria Herrera
Vicerrectora Académica y de Investigación
Gustavo Velásquez
Decano Escuela de Ciencias Básicas Tecnología e Ingeniería
Alexandra Aparicio
Coordinadora Nacional Ingeniería de Sistemas.
@Copy Right
Universidad Nacional Abierta y a Distancia
ISBN
2005
Centro Nacional de Medios para el aprendizaje
2008
Primera Actualización
PROTOCOLO ACADÉMICO
FICHA TECNICA
Nombre del Curso: AUTÓMATAS Y LENGUAJES FORMALES
Palabras clave: Compiladores, analizadores, léxico, maquinas, gramáticas,
deterministicos, codificación, expresiones
Institución: Universidad Nacional Abierta y a Distancia – UNAD
Ciudad: Bogotá, D.C. – Colombia
Autor del Protocolo Edgar Alberto Quiroga Rojas
Académico:
Año: 2005
Unidad Académica: Facultad de Ciencias Básicas e Ingeniería
Campo de Formación: Formación Profesional Básica
Área del Conocimiento: Ingeniería de Sistemas
Créditos Académicos: Tres (3) correspondientes a 144 horas de trabajo
académico: 106 horas promedio de estudio
independiente y 38 horas promedio de
acompañamiento y seguimiento tutorial.
Tipo de curso: Teórico
Destinatarios: Estudiantes de pregrado de la Facultad de Ciencias Básicas
e Ingeniería del Programa de Ingeniería de Sistemas .
Competencia General comprender la forma en que funciona un autómata y la
de aprendizaje: correspondencia entre autómatas, analizar lenguajes y
gramáticas y la relación jerárquica entre ellos.
Metodología de Oferta: A distancia
Formato de circulación: Documentos impresos en papel con apoyo en Web; CD-
ROM, Disquetes
Denominación de las 1) Lenguajes regulares.
Unidades Didácticas: 2) Lenguajes independientes del contexto.
3) Lenguajes estructurados por frases.
2. INTRODUCCIÓN
Autómatas y lenguajes formales es un curso de carácter teórico, que se inscribe en
el campo de formación profesional básico del Programa de Ingeniería de Sistemas
con un valor académico de tres créditos.
Este curso toma como base el avance de los lenguajes de programación de alto y
bajo nivel para propiciar la distinción entre lenguajes formales con reglas sintácticas
y semánticas rígidas, concretas y bien definidas de los lenguajes naturales, como el
ingles o el español, donde la sintaxis y la semántica no se pueden controlar
fácilmente. Los intentos de formalizar los lenguajes naturales, lleva a la construcción
de gramáticas, como una forma de describir estos lenguajes, utilizando para ello
reglas de producción para construir las frases del lenguaje. Se puede entonces
caracterizar un lenguaje mediante las reglas de una gramática adecuada.
Por último y para alcanzar los objetivos planteados en este curso es importante que
usted como gestor de su propio proceso de aprendizaje considere los siguientes
puntos como rectores de sus tareas autónomas:
Organización del tiempo: dedique por lo menos una hora diaria al estudio de este
curso. El éxito de este aprendizaje está fundamentado en la disciplina individual que
Ud. se proponga como hábito personal. No deje acumular su trabajo para la víspera
de la fecha de entrega de las tareas.
4.2 OBJETIVOS
4.3 COMPETENCIAS
4.4 METAS
1
Hans Iost. Apuntes del Curso IIS340: Teoría de Autómatas y Lenguajes Formales. Central de
Apuntes Facultad de Ingeniería, Ciencias y Administración, Universidad de La Frontera, Temuco,
Chile.
Problemáticas recontextuales: El curso está programado para que el estudiante
identifique, describa, distinga, relacione, compare, generalice, descubra, examine,
proponga, investigue, justifique y sustente la información aprendida.
RECONOCIMIENTO 10%
PROFUNDIZACION 20%
TRANSFERENCIA 30%
PRUEBA NACIONAL 40%
TOTAL 100%
9. GLOSARIO DE TÉRMINOS
GLOSARIO
Árboles 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ómata de Pila Es un autómata que cuenta con un mecanismo que
permite un almacenamiento ilimitado y opera como una
pila.
Autómata Finito Consiste en un grupo de estados y un conjunto de
Determinístico transiciones de estado a estado, que se dan sobre
símbolos de entrada tomados de un alfabeto S . Para
cada símbolo de entrada existe exactamente una
transición a partir de cada estado. El estado qo, es el
estado inicial, en el que el autómata comienza. Algunos
estados están designados como final o de aceptación.
Autómata Finito No Es una modificación del autómata finito determinístico,
Determinístico que permite ninguna, una o más transiciones de un
estado a otro sobre el mismo símbolo de entrada.
Autómata Finito No Es un autómata finito determinístico pero con transiciones
determinístico con de un estado a otro que no depende de ninguna entrada,
movimiento e es decir, que no consumen ningún símbolo de la entrada.
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.
Expresión Regular Se utilizan para especificar un lenguaje regular.
Forma de Backus- Es la notación para las gramáticas libres de contexto con
Naur cambios menores en su formato y algunas abreviaturas.
Gramáticas Libres de Es un conjunto de variables (símbolos no terminales) cada
Contexto 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.
Lema de Bombeo para Es una propiedad que tiene todo lenguaje libre de
Lenguajes Libres de contexto y facilita la forma de determinar si ciertos
Contexto lenguajes son libres de contexto.
Lema de Bombeo para Es una propiedad que tiene todo lenguaje regular y facilita
Lenguajes Regulares la forma de determinar si un lenguaje es regular.
Lenguajes Libres de Es el lenguaje generado por una gramática libre de
Contexto contexto.
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 Estos lenguajes contienen a los lenguajes libres de
al Contexto contexto
Los Lenguajes Estos lenguajes contienen a los lenguajes sensibles de
Recursivos 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.
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.
10. FUENTES DOCUMENTALES
BIBLIOGRAFIA
SITIOS WEB
Al ofrecer esta guía, pretendemos que junto con ella y el acompañamiento del Tutor,
además de la metodología de trabajo, se asuman una serie de acciones y
responsabilidades que ayudarán en la adquisición de aprendizajes y la acreditación
del curso.
Esta actividad consiste en la aplicación de una evaluación que esta conformada por
una serie de preguntas sobre los conocimientos previos y sobre la temática general
del curso. La aplicación y revisión de la prueba será realizada por el tutor del curso
en cada cead al igual que la realimentación de la misma. Para los estudiantes que se
encuentran en campus virtual deben presentarla en la fecha establecida en la
agenda académica del curso. Esta actividad es de carácter individual.
Actividad 201. Reconocimiento del curso- Grupos colaborativos
Temáticas Revisadas:
Reconocimiento de la estructura y componentes del curso
Guía de actividades:
Este trabajo Individual consta de tres actividades, con una sola entrega en un trabajo
final.
Actividades
1. Hacer un paseo por cada una de las actividades propuestas en el curso.
2. En forma individual debe realizar un mapa conceptual sobre la estructura
propuesta para el curso.
3. Recuerde que un mapa conceptual refleja la claridad que se tenga sobre los
contenidos. Puede elaborarlo utilizando: Word, PowerPoint, Excel, Visio o
cualquier otro software para la realización del ejercicio.
Producto esperado
La tarea con el mapa conceptual debe contener una portada, el mapa conceptual
y referencias bibliográficas y debe entregarse al tutor para su respectiva
calificación.
Fecha de entrega:
Esta debe ser fijada por el tutor del curso en cada cead
Rubrica de Evaluación
Temáticas revisadas:
Los lenguajes pueden describirse como elementos que se generan, como cadenas a
partir de cadenas sencillas, con el uso de operaciones de cadenas o el desarrollo del
lenguaje mismo, que se puede generar con otros lenguajes más sencillos mediante
operaciones de conjuntos.
Los Lenguajes más sencillos son los considerados lenguajes regulares, es decir, los
que se pueden generar a partir de lenguajes de un elemento con la aplicación de
ciertas operaciones estándar realizadas un número finito de veces.
Estos son pues los lenguajes que pueden reconocer los dispositivos llamados
Autómatas finitos (AF) que son máquinas de cómputo con memoria muy restringida.
En esta unidad se considera como segundo aspecto la idea de que un lenguaje no
sea regular, además de proporcionar un modelo sencillo de computación que se
puede generalizar en las unidades siguientes.
OBJETIVO GENERAL
OBJETIVOS ESPECIFICOS
Temáticas revisadas:
Introducción
Los lenguajes independientes del contexto que también se conocen con el nombre
de gramáticas de contexto libre son un método recursivo sencillo de especificación
de reglas gramaticales con las que se pueden generar cadenas de un lenguaje.
Es factible producir de esta manera todos los lenguajes regulares, además de que
existen ejemplos sencillos de gramáticas de contexto libre que generan lenguajes no
regulares.
Las reglas gramaticales de este tipo permiten que la sintaxis tenga variedad y
refinamientos mayores que los realizados con lenguajes regulares, en gran medida
sirven para especificar la sintaxis de lenguajes de alto nivel y otros lenguajes
formales.
Objetivo General
Objetivos Especificos
Ejercicios Propuestos:
2.- Definir formalmente el lenguaje reconocido por el siguiente autómata con pila:
A = ({a,b,c}, {S,A,B}, {q,r,s,p}, q, S, f, ∅)
CONSTRUCCIÓN DE AUTÓMATAS
4.- Construir un autómata con pila que reconozca cada uno de los siguientes
lenguajes:
(a) L = { anb2n/ n > 0 }
(b) L = { anbmcn/ n, m > 0 }
(c) L = { x / x ∈ {0,1}+ & nº 0´s = nº 1´s }
(d) L = { aibjci+j / i, j > 0 }
(e) L = { a2ib3i / i >= 0 }
(f) L = { anbmc2man+2, m > 0, n >= 0 }
(g) L = { xcy / x,y ∈ {a, b}+, nº de subcadenas “ab” en x = nº de subcadenas “ba”
en y }
(h) L = { 0n1n / n > 0 } ∪ { 0n12n / n > 0 }
(i) L = {anbmcrasbn/ s = m + r, m,n > 0, r ≥ 0}
(j) L = {a2nbm0ib2man, i = 0 ó 1, m, n > 0}
(k) L = {x1n2mx-1 / n, m = 0 ó 1 y x ∈ {a, b}+}
(l) L = {anbmcp / n,m >= 0, p > n + m}
5.- Construir un autómata con pila que reconozca por vaciado de pila el lenguaje que
contiene las palabras formadas por los símbolos “0”, “1” y “2” que tienen tantas
apariciones de las secuencia “01” como del símbolo “2”.
6.- Construir un autómata con pila que reconozca por vaciado de pila las palabras
formadas por los símbolos “a” y “b” que tengan doble número de símbolos “a” que de
símbolos “b” (incluyendo λ). Es decir, el autómata deberá reconocer por ejemplo las
palabras aabbaa, abbaaa, bababaaaa, bbbaaaaaa, y no debe reconocer palabras
como abab, abbabab, a, b, aaa, bbb.
7.- Construir un autómata con pila que reconozca, por vaciado de pila, el lenguaje
formado por las cadenas que contienen símbolos de abrir y cerrar paréntesis, es
decir “(“ y “)”, que cumple las siguientes condiciones:
- todo paréntesis que se abre debe ser cerrado posteriormente
- todo paréntesis que se cierra debe haber sido abierto anteriormente
- se permiten los paréntesis anidados.
Ténganse en cuenta los siguientes ejemplos de cadenas reconocidas y no
reconocidas por el autómata:
Cadenas reconocidas Cadenas no reconocidas
()()((()())()) ()())
((()))() )()(
((())(()))()()(()()) (((()
(a)Construir un autómata con pila que reconozca dicho lenguaje por vaciado de pila.
(b)Comprobar mediante el uso de descripciones instantáneas que la cadena
“aabccddee” es aceptada por dicho autómata.
9.- Construir un autómata con pila que reconozca por vaciado de pila el lenguaje
siguiente:
Introducción
En las Unidades precedentes se han estudiado lo que se puede considerar las
máquinas abstractas que permiten solucionar ciertos tipos de algoritmos, los
algoritmos en los que no puede recordarse más que una cantidad fija de información
y otros en los que la información desarrollada durante la ejecución del algoritmo
puede recuperarse solo en concordancia con la regla “lifo” últimos en entrar primeros
en salir, en esta unidad se describe una maquina abstracta, llamada Máquina de
turing , que es aceptada de manera amplia como modelo general de computación,
aunque las operaciones básicas de esta máquina son comparables en su sencillez a
las de las máquinas estudiadas en las unidades anteriores, las nuevas maquinas
pueden realizar una amplia variedad de operaciones de computo. Además de
aceptar lenguajes les es posible computar funciones y de conformidad con la tesis de
Church-Turing, ejecutar casi cualquier procedimiento algorítmico concebible.
Objetivo General
Objetivos específicos
Ejercicios Propuestos:
1. Realiza una breve síntesis del invento patentado por Alan Turing en 1931.
2. Describa en que consiste la prueba de Turing (maquina y persona)
3. ¿Qué es una maquina de Turíng y como funciona?
4. Mediante un ejemplo de maquina de Turing ilustre su representación
grafica, elementos correspondientes y reconocimiento de cadena.
5. Describa la clasificación de las maquinas de Turing y defina cada una de
ellas.
6. Cuales son los lenguajes aceptados para una maquina de Turing. De 3
ejemplos de cadena de estos lenguajes.
7. Mediante un grafo explique la construcción modular de las maquinas de
Turing y describa cada uno de sus elementos.
8. Describa el proceso de reconocimiento de cadenas utilizando la maquina
de Turing
9. Mencione 5 ejemplos de aplicación de una maquina de Turing e ilustre sus
funcionamientos.
10.Describa el funcionamiento de la maquina de Turing Multicintas.
Para autoevaluar su participación individual y grupal, asigne para cada aspecto un puntaje de 1 a 5.
Aquellos aspectos o afirmaciones aseveraciones que no puede calificar, asigne 0 (cero) y justifique
por escrito.
Puntaje y su descripción:
1 2 3 4 5
Insuficiente Menos que regular Regular Bueno Muy Bueno
Justificaciones para afirmaciones o aspectos no calificados con puntaje de 1 a 5, los puntajes a los
cuales les asignó un valor de 0:
COEVALUACION
Evaluación del coordinador a su grupo o de cada integrante del grupo a un compañero
____________________________________________________________________
FASE DE SITUACIONES DIDÁCTICAS / CARACTER FORMATO DE SISTEMA DE SISTEMA DE
UNIDAD
APRENDIZA SITUACIONES DE SALIDA ACTIVIDADES DE LA OBJETIVACIÓN / INTERACTIVIDADES EVALUACION SEGUIMIENTO
DIDACTICA
JE ACTIVIDAD PRODUCTOS
Unidad 1 El estudiante reconoce los Situación 1: Grupo de Resumen / Mapa Encuentro presencial
RECONOCI
Lenguajes elementos básicos y Actividad de inducción al curso en grupo. curso conceptual GRUPO DE CURSO
MIENTO
regulares fundamentales del curso de Tiempo: 2 horas chat con los
autómatas y lenguajes estudiantes que tienen
1-Gramáticas formales dificultades de
regulares asistencia.
El estudiante se apropia de los Situación 2: Individual Fichas Resumen / Correo electrónico, Autoevaluación Ficha
2-Autómatas
finitos
conceptos de Autómatas Estudio Independiente: Mapa conceptual teléfono o informe Portafolio seguimiento
finitos, deterministas y no Investigación y/o lectura sobre los temas Informe escrito personal de Portafolio
3-Expresiones deterministas, de la unidad al igual que realiza ejercicios Portafolio desempeño
regularesPropie Lenguajes regulares, sobre : Autómatas finitos, deterministas y Tiempo: 3 horas (tutor)
dades de Gramáticas regulares, no deterministas
lenguajes Expresiones regulares y sus Tiempo: 16 horas Grupo
regulares propiedades Tiempo: 3 horas Colaborativo
PROFUNDIZACION
de transición, relaciona y no deterministas, Lenguajes regulares, grupos los Portafolio desempeño Informes
autómatas finitos con Gramáticas regulares, cuales se
expresiones regulares Expresiones regulares, minimización encargaran
Tiempo: 2 horas de realizar
ponencia
Situación 5: Individual Fichas Resumen Foro o ante un evento Coevaluación Ficha
Preparación de una sustentación sobre la Mapa conceptual grupal Portafolio seguimiento
relación que existe entre autómatas Informe personal de Portafolio
finitos y expresiones regulares Portafolio Tiempo: 3 horas (tutor) desempeño Informes
Tiempo: 2 horas
FASE DE SITUACIONES DIDÁCTICAS / CARACTER FORMATO DE SISTEMA DE SISTEMA DE
UNIDAD
APRENDIZA SITUACIONES DE SALIDA ACTIVIDADES DE LA OBJETIVACIÓN / INTERACTIVIDADES EVALUACION SEGUIMIENTO
DIDACTICA
JE ACTIVIDAD PRODUCTOS
Unidad 2 El estudiante Utiliza las Situación 6: Individual Fichas Resumen / Correo electrónico, Autoevaluación Ficha
RECONOCIMIENTO
Lenguajes gramáticas para la definición Estudio Independiente. Investigación Mapa conceptual teléfono o informe Portafolio seguimiento
independientes de lenguajes. Sobre las definiciones básicas, las Informe escrito personal de Portafolio
del contexto Define y utiliza los autómatas transformaciones y las formas normales Portafolio desempeño
con pila. libres del contexto Tiempo: 3 horas (tutor)
1 -Gramáticas
independientes Tiempo: 4 horas
del contexto.
2 -Autómatas a
pila. Apropiación de los conceptos Situación 7: Individual Ensayo Interactividad Autoevaluación Ficha
de gramáticas y para que son Realiza ejercicios en forma independiente Informe asincrónicas: correo seguimiento
3 -Propiedades necesarias sobre derivación y ambigüedad, electrónico Portafolio
de lenguajes La construcción de árboles de simplificación de las gramaticas,
independientes derivación y ambigüedad. procesos de utlizacion de las formas Tiempo: 3 horas (tutor)
PROFUNDIZACION
Tiempo: 5 horas
El estudiante Construye Situación 9: Grupo de Fichas Resumen Grupo de curso para Heteroevaluación Ficha
gramáticas libres de contexto, Preparación y presentación de una tabla curso Mapa conceptual sustentación o Chat Portafolio seguimiento
para Expresiones aritméticas comparativa de los lenguajes libres de Informe personal de Portafolio
TRANSFERENCIA
Tiempo: 2 horas
SITUACIONES DIDÁCTICAS / CARACTER FORMATO DE SISTEMA DE SISTEMA DE
UNIDAD FASE DE
SITUACIONES DE SALIDA ACTIVIDADES DE LA OBJETIVACIÓN / INTERACTIVIDADES EVALUACION SEGUIMIENTO
DIDACTICA APRENDIZAJE
ACTIVIDAD PRODUCTOS
Unidad 3 El estudiante reconoce la Situación 11: Grupo de Resumen / Mapa Encuentro presencial Autoevaluación Ficha
lenguajes maquina propuesta por Alan Actividad de inducción al uso y curso conceptual GRUPO DE CURSO Portafolio seguimiento
RECONOCIMIENTO
estructurad Turing para estudiar procesos planteamiento de las maquinas de turing chat con los personal de Portafolio
os por estudiar las suposiciones de Tiempo: 2 horas estudiantes que tienen desempeño
frases turing sobre su maquina dificultades de
asistencia.
1. Máquinas Situación 12: Grupo Resumen / Mapa Correo electrónico, Autoevaluación Ficha
de Turing. Comparar: Colaborativos conceptual teléfono o informe Portafolio seguimiento
Autómatas Finitos–Autómatas de Pila y escrito personal de Portafolio
2. Máquina Máquinas de Turing desempeño
de Turing y Tiempo: 2 horas
Computación
El estudiante deduce que Al Situación 13: Individual Fichas Resumen / Correo electrónico, Autoevaluación Ficha
3. Funciones igual que ocurre con los Estudio Independiente. Sobre los Mapa conceptual teléfono o informe Portafolio seguimiento
recursivas Autómatas Finitos, las lenguajes estructurados por frases, sobre Informe escrito personal de Portafolio
PROFUNDIZACION
lenguaje.
Establecer los diferentes tipos Situación 16: Grupo de Fichas Resumen Tutoría Individual Heteroevaluación Ficha
de configuraciones de la Presentación de ejercicios sobre curso Mapa conceptual Portafolio seguimiento
maquina de turing autómatas de tipo 0 y autómatas de tipo Informe Tiempo: 3 horas (tutor) personal de Portafolio
1 Portafolio desempeño Informes
Tiempo: 2 horas
Situación 17: Individual Portafolio Evento presencial Portafolio Ficha
Sustentación y Evaluación del Portafolio Individual personal de seguimiento
individual (Final) desempeño Portafolio
Tiempo: 4 horas
Referencias:
Salazar Ramos Roberto, Otros, Curso de entrenamiento de tutores UNAD, UNAD, Vicerrectoría de
medios y mediaciones pedagógicas – 2007
http://www97.intel.com/cr/ProjectDesign/InstructionalStrategies/CooperativeLearning/