U .R.J .C. – Ingenierı́a Técnica en Informática de Sistemas Ingenierı́a Informática Teorı́a de Autómatas y Lenguajes Formales / Autómatas y Lenguajes Formales Septiembre 2007 2ndo. Parcial Normas : La duración de esta parte del examen es de 2 horas y 15 minutos. Todos los ejercicios se entregarán en hojas separadas. El examen tipo test cuenta hasta 2 puntos sobre la nota total. 1. (2 puntos) Consideremos el alfabeto finito Σ := {0, 1, 2}, y sea L ⊆ Σ∗ el lenguaje definido por la siguiente igualdad : L := {0p 1q 2pq | p, q ≥ 0} . ¿Es L un lenguaje independiente del contexto?. Razona la respuesta. 2. (a) (0.7 puntos) Diseña una gramática independiente de contexto que genere el siguiente lenguaje: L = {w | w ∈ {a, b, c, (, ), {, }, [, ], <, >}∗ y en w las parejas de paréntesis, corchetes, llaves y ángulos están bien formados} Ejemplos: w = ab(a) ∈ L; x = (bc)a[b] ∈ L; y = ((a[a]{b})) ∈ L; z = (a{)b} ∈ /L (b) (0.3 puntos) Genera las palabras w = ab(a); x = (bc)a[b]; y = ((a[a]{b})) con la gramática obtenida en el apartado a) de este ejercicio. (c) (0.7 puntos) Transforma la gramática independiente de contexto L (obtenida en el apartado a) de este ejercicio) en un autómata de pila. Utiliza el algoritmo visto en el temario del curso. (d) (0.3 puntos) Describe la secuencia de descripciones instantáneas del autómata de pila para el reconocimiento de las palabras w = ab(a); x = (bc)a[b]; y = ((a[a]{b})). 3. (2 puntos) Consideremos el alfabeto finito Σ := {0, 1, 2}, y sea L ⊆ Σ∗ el lenguaje definido por la siguiente igualdad : L := {0p 1q 2r | r = (q mod 4) + p} . ¿Es L un lenguaje independiente del contexto?. Razona la respuesta. Página 1 de 2 Examen Teorı́a de Autómatas y Lenguajes Formales - 2ndo. Parcial (cont.) 4. (2 puntos) Dados dos números naturales x, y ∈ N, se define la operación módulo como el resto de la división entera de x entre y; se denota como x mod y, y cumple que 0 ≤ (x mod y) < y. Diseña una máquina de Turing que calcule dicha función. f :N×N→ N f (x, y) = x mod y ∀x, y ∈ N e y > 0 Explica su funcionamiento y el algoritmo que has utilizado para resolver la función. Se deberán tener en cuenta los siguientes aspectos: La codificación a utilizar, para todos los números, será una codificación natural (es decir, cada número estará representado por tantos unos como su valor natural). Ası́, la codificación del número 3 será: 111, la del 4: 1111, etcétera. En la cinta tendremos como entrada el dividendo x, un asterisco y el divisor y. Tanto el dividendo como el divisor serán siempre mayores o iguales a 1. En caso de que el resto de la división sea cero la cadena debe quedar vacı́a. Al finalizar el cómputo en la cinta sólo quedará la solución y, además, el cabezal de la máquina de Turing deberá apuntar al primer carácter de la misma. •q0 111111 ∗ 1111• •q0 11111 ∗ 11• •q0 111 ∗ 111• •q0 111 ∗ 1111• ⊢∗ ⊢∗ ⊢∗ ⊢∗ Página 2 de 2 •qf 11• •qf 1• •qf • • •qf 111•