Está en la página 1de 5

Práctica 1

Autómatas, Gramáticas y Lenguajes


2020-2021
Introducción
Esta práctica tendrá una ponderación del 15 % de la nota definitiva de la
asignatura, siempre que se obtenga una nota superior o igual a 5 puntos en el
examen final.
La práctica sólo podrá entregarse utilizando la aplicación de Tareas del curso
virtual. La entrega será un archivo comprimido en formato *.zip, nombrado como
”Apellido1Apellido2Nombre(DNI).zip”. El archivo comprimido deberá contener
un archivo *.jff, que es el resultado del programa JFLAP, por cada uno de los
ejercicios que componen 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,5,6,7,8,9 o 10).
Cualquier práctica que no se entregue siguiendo estas instrucciones será
considerada ”NO APTA” y evaluada con una nota de 0 puntos.
Cada uno de los ejercicios de la práctica será evaluado con una nota
comprendida entre 0 y 1. La evaluación de cada autómata se realizará de la
siguiente manera. Medio punto se corresponderá con la solución aportada por el
alumno. Así, si el autómata entregado no está correctamente definido (no cumple
con los requisitos del enunciado o claramente no aporta una solución válida),
será evaluado con un cero. El otro medio punto se obtendrá proporcionalmente al
número de pruebas que se superen correctamente a partir de un juego de pruebas
proporcionado por el equipo docente.
Debemos recordar al alumnado que las prácticas son personales, por lo tanto,
está completamente prohibido la entrega de la misma práctica por varios alumnos.
En el caso de detectarse dos o más prácticas iguales, ambas prácticas serán
consideradas ”NO APTA” y evaluadas con una nota de 0 puntos.
Por último, la versión recomendada a utilizar en esta asignatura es la
versión 7 de JFLAP.

Ejercicio 1
Dado el alfabeto Σ = {0, 1}, definir un autómata finito determinista
que reconozca el lenguaje formado por las cadenas en las que el símbolo que
ocupa una posición múltiplo de tres es un símbolo 1. Ejemplos de cadenas que
pertenecen a L serían las siguientes: 0010, 1110,001001,101001111,. . . (NOTA:
se asume que la cadena vacía pertenece al lenguaje).

1
Ejercicio 2
Dado el alfabeto Σ = {x, y} defina un autómata finito determinista que
acepte el lenguaje L que contiene las cadenas que cumplen todas las condiciones
siguientes:

Todas las cadenas que pertenecen a L tienen un número par de x;

Todas las cadenas que pertenecen a L no pueden empezar por y;

Todas las cadenas que pertenecen a L tienen una longitud mayor o igual que
2;

La cadena vacía no pertenece a L;

Ejercicio 3
Dado el alfabeto Σ = {a, b}, sea L el lenguaje que contiene a las cadenas
con un número par de a’s y un número par de b’s. Definir un autómata finito
determinista que acepte el lenguaje L (NOTA: un primer paso será pensar
ejemplos de cadenas que pertenecen o no al lenguaje.)

Ejercicio 4
Dado el alfabeto Σ = {a, b}, sea L el lenguaje formado por cadenas de
longitud impar en las que se van alternando los símbolos del alfabeto, es decir,
nunca aparece el mismo símbolo dos veces seguidas. Ejemplos de cadenas que
pertenecen al lenguaje L: abababa o bab.
Definir un autómata finito determinista que acepte el lenguaje L (NOTA: se
considera que la cadena vacía no pertenece al lenguaje L).

Ejercicio 5
Dado el alfabeto Σ = {a, b}, definir un autómata finito determinista que
acepte el lenguaje definido de la siguiente manera:

L = {x|x contiene 4n + 1 b’s donde n ≥ 0}

Ejercicio 6
Dado el alfabeto Σ = {a, b}, definir un autómata a pila que reconozca el
lenguaje definido de la siguiente manera:

2
L = {w1 aj b2j+1 w2 ||w1| = i, |w2 | = 2i, i, j ≥ 0}
donde w1 y w2 son subcadenas formadas con símbolos del alfabeto Σ.
NOTA: a modo de pista, se recomienda pensar en un autómata a pila no
determinista.

Ejercicio 7
Dado el alfabeto Σ = {a, b}, definir un autómata a pila que reconozca el
lenguaje definido de la siguiente manera:
L = {an w1 br w2 an ||w1 | = r, n ≥ 0 y r ≥ 0}
donde w1 y w2 son subcadenas formadas con símbolos del alfabeto Σ.
NOTA: a modo de pista, se recomienda pensar en un autómata a pila no
determinista.

Ejercicio 8
Dado el alfabeto Σ = {a, b}, definir un autómata a pila que reconozca el
lenguaje L que cumplen todas las condiciones siguientes:
1. las cadenas no pueden empezar por el símbolo a,
2. las cadenas no pueden terminar por el símbolo b,
3. las cadenas contienen el doble número de a’s que de b’s.

Ejercicio 9
Dada la gramática G definida de la siguiente manera:
G = ({S, A, B, C}, {a, b}, S, P )
donde P , es el siguiente conjunto de producciones:
S → AB|CA
A→a
B → AB|b
C → aB|b
A partir de la definición de L(G), definir el autómata M con menor capacidad
de reconocimiento (esto es, definir o bien un autómata finito o bien un autómata a
pila) de manera que se cumpla que L(M) = L(G).
NOTA: para obtener la nota máxima en este ejercicio, no será suficiente con
presentar el autómata que se obtendría aplicando el procedimiento explicado en el
apartado 7.4 del libro base.

3
Ejercicio 10
Suponga que entra en un garaje cuya entrada está regulada por una máquina
que se encarga de generar los tickets de aparcamiento y controlar la barrera de
entrada. El comportamiento de la máquina es como sigue:

La máquina se encuentra en espera y tiene un sensor que detecta la presencia


o no de un coche.

Cuando llega un coche, la máquina lo detecta y enciende la pantalla para


poder generar el ticket.

El conductor pulsa un botón para obtener el ticket de aparcamiento

El conductor extrae el ticket de la máquina

La máquina levanta la barrera.

El coche se mueve y entra en el aparcamiento

La máquina detecta que el coche ya ha entrado en el aparcamiento.

La máquina baja la barrera.

Se pide:

1. Definir un autómata finito que modele el comportamiento de la máquina.


Para ello, deberá definir el alfabeto, los estados y la función de transición.

2. A partir del autómata finito definido en el apartado anterior, definir


un autómata a pila que además de llevar el control de la entrada al
aparcamiento, lleve control de que no puede haber más de 10 coches
aparcados dentro del aparcamiento. Para ello, puede suponer que cuando
llega un coche, el autómata a pila tiene la pila inicializada con el número de
coches que hay en ese momento dentro del aparcamiento.

También podría gustarte