Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Intrucciones
La práctica sólo podrá entregarse a través del curso virtual. La entrega será
un archivo comprimido en formato *.zip, nombrado de la siguiente manera:
“Apellido1Apellido2Nombre(DNI).zip”. El archivo comprimido deberá contener:
Un archivo *.jff, que es el resultado del programa JFLAP, por cada uno
de los ejercicios de la práctica. Cada archivo *.jff debe nombrarse de la
siguiente manera:
“NombreApellido1_ejercicio<numejercicio>”.jff donde <numejercicio>
será el número del ejercicio que corresponda (1,2,3,4 o 5).
1
Ejercicio 1
Dado el alfabeto Σ = {a, b, c}, sea L el lenguaje compuesto por todas aquellas
cadenas que cumplen las siguientes condiciones (NOTA: La condición 2c requiere
un mayor número de estados o plantearlo como intersección de dos autómatas):
2. Dependiendo del símbolo por el que empiezan las cadenas se cumple que:
(a). (0,25 puntos) Dar 5 cadenas que pertenecen al lenguaje L y 5 cadenas que
no pertenecen al lenguaje L.
Ejercicio 2
Dado el alfabeto Σ = {x, y, z}, sea L el lenguaje definido de la siguiente
manera:
(a). (0,25 puntos) Dar 5 cadenas que pertenecen al lenguaje L y 5 cadenas que
no pertenecen al lenguaje L.
2
(b). (1,5 puntos) Indicar qué clase de lenguaje es L y definir en JFLAP un
autómata que lo reconozca. En este caso hay que definir el autómata más
sencillo (con menos capacidad de reconocimiento), esto es, si L es regular
hay que definir un autómata finito que lo reconozca y si L es independiente
del contexto no regular, hay que definir un autómata a pila que lo reconozca.
Ejercicio 3
Dado el alfabeto Σ = {a, b, c}, sea L el lenguaje formado por todas aquellas
cadenas que cumplen las siguientes condiciones:
Todos los símbolos a’s de la cadena aparecen antes de los símbolos b’s
(a). (0,25 puntos) Dar 5 cadenas que pertenecen al lenguaje L y 5 cadenas que
no pertenecen al lenguaje L.
3
Ejercicio 4
Dado el alfabeto Σ = {0, 1, 2}, sea L el lenguaje definido de la siguiente
manera:
L = {0n (01)n (10)m 0m : n > 0, m > 0}.
(a). (0,25 puntos) Dar 5 cadenas que pertenecen al lenguaje L y 5 cadenas que
no pertenecen al lenguaje L.
(b). (1,75 puntos) Indicar qué clase de lenguaje es L y definir en JFLAP un
autómata que lo reconozca. En este caso hay que definir el autómata más
sencillo (con menos capacidad de reconocimiento), esto es, si L es regular
hay que definir un autómata finito que lo reconozca y si L es independiente
del contexto no regular, hay que definir un autómata a pila que lo reconozca.
Ejercicio 5
Dado el alfabeto Σ = {a, b}, hemos pedido a ChatGPT que defina un autómata
finito determinista para reconocer el lenguaje L formado por todas las cadenas que
empiezan y terminan con el símbolo a y tienen un número par de b’s (incluido el
caso en que no tengan b’s). Este es el resultado:
Respuesta de ChatGPT:
Un autómata finito determinista (AFD) para reconocer el lenguaje de cadenas
que empiezan y terminan con el símbolo ’a’ y tienen un número par de ’b’s se
puede representar mediante un conjunto de estados, un alfabeto y una función de
transición. Aquí tienes una descripción de un posible AFD para este lenguaje:
M = ({q0 , q1 , q2 , q3 }, {a, b}, δ, q0 , {q0 , q2 })
La función de transición que propone ChatGPT es la siguiente:
δ(q0 , a) = q0 δ(q1 , a) = q1 δ(q0 , b) = q1
δ(q1 , b) = q2 δ(q2 , a) = q2 δ(q2 , b) = q3
δ(q3 , a) = q3 δ(q3 , b) = q2
(a). (0,5 puntos) Indicar si la respuesta es correcta. Justificar la respuesta.
(b). (0,5 puntos) Si la respuesta es incorrecta definir el autómata que acepte
el lenguaje L. Si la respuesta es correcta indicar si se podría definir un
autómata equivalente con menos estados.
(c). (1 punto) Definir un autómata que acepte el lenguaje complementario de L.