EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

Documentos relacionados
MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.

Autómatas de Pila y Lenguajes Incontextuales

Gramáticas independientes del contexto. Tema 3: Lenguajes independientes del contexto. Derivaciones. Árbol de derivación

Teoría de Lenguajes. Gramáticas incontextuales

Interrogación 2. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002

Gramáticas independientes del contexto AUTÓMATAS Y LENGUAJES FORMALES LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I

Un autómata con pila no determinista (APND) es una septupla Q A B F en la que

GRAMATICAS LIBRES DEL CONTEXTO

El análisis descendente LL(1) 6, 7 y 13 de abril de 2011

Tema 5 Lenguajes independientes del contexto. Sintaxis

No todos los LRs finitos se representan mejor con ERs. Observe el siguiente ejemplo:

Autómatas Finitos Deterministicos (DFA)

Expresiones regulares, gramáticas regulares

Nivel del ejercicio : ( ) básico, ( ) medio, ( ) avanzado.

Unidad 4. Autómatas de Pila

Procesadores de Lenguaje

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.

Cualquier lenguaje de contexto libre, L, puede ser generado por medio de una GCL, G, que cumpla las siguientes condiciones:

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones

Tema: Autómata de Pila

Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer, utilizar y diseñar gramáticas de libre contexto

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45

Expresiones Regulares y Derivadas Formales

Teoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales

Autómatas de Pila. Descripciones instantáneas o IDs. El Lenguaje de PDA. Equivalencia entre PDAs y CFGs INAOE (INAOE) 1 / 50

2do. Parcial. Todos los ejercicios se entregarán en hojas separadas. El examen tipo test cuenta hasta 2 puntos sobre la nota total.

PROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42

Una cadena sobre Σ es cualquier secuencia de elementos de longitud finita sobre Σ.

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática

Capítulo 1 Lenguajes formales 6

Sentido de recorrido. q i

Computabilidad y Lenguajes Formales: Autómatas de Pila

6. Autómatas a Pila. Grado Ingeniería InformáDca Teoría de Autómatas y Lenguajes Formales

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

Lenguajes y Gramáticas

13.3. MT para reconocer lenguajes

Procesadores de Lenguaje

Equivalencia Entre PDA y CFL

Lenguajes (gramáticas y autómatas)

Capítulo 7: Expresiones Regulares

Gramáticas Independientes del Contexto (GIC)

ÁLGEBRA LINEAL I Algunas soluciones a la Práctica 3

Compiladores e Intérpretes

UNIDAD 4. Álgebra Booleana

Conjuntos. Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por. a R. se entiende que a pertenece a R.

Clase 17: Autómatas de pila

Expresiones Regulares y Derivadas Formales

Temas. Objetivo. Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2) Definir autómatas de pila.

INAOE. Gramáticas Libres de Contexto. Definición formal de CFGs. Derivaciones usando. Derivaciones. izquierda y. derecha.

EXÁMENES DE REPASO Teoría de Autómatas y Lenguajes Formales UNIVERSIDAD FRANCISCO DE VITORIA

Métodos directos para resolver sistemas de ecuaciones lineales

Propiedades de los Lenguajes Libres de Contexto

Teoría de Lenguajes. Clase Teórica 7 Autómatas de Pila y Lenguajes Independientes del Contexto Primer cuartimestre 2014

Propiedades de los Lenguajes Libres de Contexto

3.3 Autómatas de Pila (AP) [LP81, sec 3.3]

Teoría de Lenguajes. Clase Teórica 8 Propiedades de Lenguajes Independientes de Contexto y su Lema de Pumping Primer cuartimestre 2014

Lenguajes, Gramáticas y Autómatas Conceptos

Teoría de Autómatas y Lenguajes Formales.

LENGUAJES FORMALES Y AUTÓMATAS

Matemáticas. ticas Discretas. Lenguajes y Gramáticas. Tenemos dos clases de lenguaje: Lenguaje Formal

Autómatas Mínimos. Encontrar el autómata mínimo. Universidad de Cantabria. Introducción Minimización de Autómatas Deterministas Resultados Algoritmo

Grupos libres. Presentaciones.

Teoría de Lenguajes. Teoría de la Programación I

Numeración. Número Es la idea que tenemos sobre la cantidad de los elementos de la naturaleza.

Convertir un AFND a un AFD

Pregunta 1 [40 puntos] Diga si las siguientes afirmaciones son verdaderas o falsas, demostrando su respuesta.

Eliminación de cuantificadores

Matriz A = Se denomina MATRIZ a todo conjunto de números o expresiones dispuestos en forma rectangular, formando filas y columnas.

Cap. 3: relaciones en un triángulo

3. Ecuaciones, parte I

Computabilidad y Lenguajes Formales: Autómatas Finitos

ESCUELA INTERNACIONAL DE IDIOMAS Avenida Pedro de Heredia, Calle 49a #31-45, barrio el Libano

Matrices y determinantes. Sistemas de ecuaciones lineales

Teoría de la Computabilidad

Procesadores de Lenguaje

Construcción de tablas de análisis sintáctico LL(1)

Matemáticas Discretas TC1003

, calcula: y C = , sabiendo que X y Y son matrices de dimensión 2x3 y A = A = , siendo abc 0.

Las matrices Parte 1-2 o bachillerato

TEMA 1. MATRICES, DETERMINANTES Y APLICACIÓN DE LOS DETERMINANTES. CONCEPTO DE MATRIZ. LA MATRIZ COMO EXPRESIÓN DE TABLAS Y GRAFOS.

Teoría de Autómatas y Lenguajes Formales.

Números Reales. MathCon c

Disco de Alberti. Y el disco interno: A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Grado en Ingeniería Informática Online, Curso Universidad Rey Juan Carlos

B) Solo II C) I y II D) I y III E) I, II y III. A) 8 cm 2 B) 15 cm 2 C) 40 cm 2 D) 60 cm 2 E) 120 cm 2

67.- El triángulo ABC es equilátero; BD y DE son bisectrices. Entonces AED =?

Clase 8 Matrices Álgebra Lineal

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

Módulo 2: Expresiones polinómicas. Factorización

Si A es una matriz cuadrada n x n, tal que A 2 = A, e I es la matriz unidad ( n x n ), qué matriz es B 2, si B = 2ª - I?

Ciencias de la Computación I

9. MATRICES DEFINICIÓN Y NOTACIONES OPERACIONES CON MATRICES MATRICES CUADRADAS

Anexo No. 5. Estructura de Archivo - Registro de Garantías

Tema 3: Espacios vectoriales

Introducción a los códigos compresores

Tema 2. Polinomios y fracciones algebraicas

UNIVERSIDAD SIMON BOLIVAR MA1116 abril-julio de 2009 Departamento de Matemáticas Puras y Aplicadas. Ejercicios sugeridos para :

Transcripción:

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto Sobre GICs (gramáticas independientes del contexto) 1. Sea G una gramática con las siguientes producciones: S ASB ε A aab ε B bba ba c ) d ) Da una derivación a la izquierda de la palabra aabbba. Da una derivación a la derecha de la misma palabra del apartado (a). Da una derivación que no sea ni a la derecha ni a la izquierda de la misma palabra del apartado (a). Describe L(G). 2. Sea G una gramática independiente del contexto cuyo conjunto de reglas es el siguiente: S ASB ε A aa ε B bb ε Da una derivación a la izquierda y una derivación a la derecha de la palabra aaabb. Construye el árbol de derivación de alguna de las derivaciones anteriores. c ) Demuestra que G es ambigua. d ) Construye una gramática no ambigua equivalente a G. e ) Describe L(G). Es regular este lenguaje? 3. Qué lenguaje genera una gramática G = (N, Σ, S, P) donde N = {S, A} Σ = { a, b, c, d } y P es cada uno de los conjuntos siguientes? S aasa ε S as bs A A ba b A ca c S c ) S asbb A d ) S absdc c A ca c A cdaba ε pág. 1

4. Sea G = (N, Σ, S, P) donde N = { S }, Σ = { a, b } y P = { S asb asa bsb bsa ε }. Demuestra que L(G) es un lenguaje regular. 5. Demuestra que los siguientes lenguajes son independientes del contexto buscando gramáticas de tipo adecuado que los generen. { a i b j : i, j 1, i j } { a i b i c j d j : i, j 1 } c ) { a i b j c j d i : i, j 1 } d ) { a i b j c k : i, j 1, i j j k } e ) { a i b j c k : i, j 1, i = j j = k} f ) { a i b j c 2j+i : i, j 1 } g ) { a i b j c k : j > i+k} h ) {w {a, b}* : w a + 1 = w b } i ) { w L( a * b * a * b * ): w a = w b } j ) { w {a, b}* : w contiene al menos un prefijo con más b's que a's } k ) { xcy: x, y {a, b} * x R es subpalabra de y } l ) { uawb: u, w {a, b} * u = w } m ) { w 1 cw 2 c cw k ccw j R: k 1, k j 1, w i {a, b}+ para i = 1..k } n ) {a n b m c m+n : n m 0} 6. (Ejercicio especial) Construye una gramática independiente del contexto que genere cada uno de los siguientes lenguajes: 6.1 expresiones regulares sobre el alfabeto {a b} 6.2 listas de palabras sobre el alfabeto {a b}, por ejemplo (aa, bab, aaba) 7. Sea G = (N, Σ, S, P) la gramática cuyas reglas de producción son: S AB A aab aa ε B Bb ε a) Describe el lenguaje generado por dicha gramática. b) Esta gramática es ambigua. Por qué? c) Encuentra otra gramática no ambigua equivalente. 8. Dados los lenguajes L 1 = {a n b n c m : n, m 0} y L 2 = {a n b m c m : n, m 0}: c ) d ) Construye una gramática G 1 que genere el lenguaje L 1 y otra G 2 que genere el lenguaje L 2. A partir de esas dos gramáticas construye una gramática G que genere el lenguaje L 1 L 2. Prueba que G es ambigua. Cómo sabemos que lo era antes incluso de construirla? pág. 2

9. (Ejercicio especial) Dado el lenguaje L = { x y : x, y {a,b}* x = y x y }. Encuentra una gramática independiente del contexto que lo genere, explicando adecuadamente su construcción. Indicación: Para que una palabra de longitud par sea del lenguaje, sus dos mitades x e y deben ser distintas al menos en un símbolo. Concentra tus esfuerzos en asegurar la existencia de ese símbolo diferenciador. 10. Dada la gramática que genera un lenguaje sobre el alfabeto {a, e, if, then, else} y cuyas producciones son las siguientes S a if e then S if e then S else S Demuestra que es ambigua Da una gramática equivalente no ambigua que respete el convenio habitual en lenguajes de programación, es decir, que haga corresponder cada else con el if más cercano. 11. (Ejercicio especial) Dadas dos gramáticas sobre el alfabeto { (, ), [, ], a } con reglas: i ) S a ( S ) SS i i ) S a ( S ) [ S ] SS Demuestra que son ambiguas Da dos gramáticas equivalentes no ambiguas. 12. Demuestra que ningún lenguaje regular es ambiguo. Sobre APs (autómatas con pila) 13. Considera el autómata con pila M = (Q, Σ, Γ, δ, q 0, F) con Q = { q 0, q f }; F = {q f }; Γ = { A }; Σ = { a, b } y δ definido como sigue: c ) δ (q 0, a, ) = { (q 0, A), (q f, ε) } δ (q f, a, A) = { (q f, ε) } δ (q 0, a, A) = { (q 0, AA), (q f, A) } δ (q f, b, A) = { (q f, ε) } δ (q 0, b, ) = { (q 0, A) } δ (q 0, b, A) = { (q 0, AA) } Da todos los cómputos posibles de M para la palabra aba Demuestra que aba, aa, abb no pertenecen a L(M) y que baa, bab, baaaa pertenecen. Describe L(M) en castellano. pág. 3

14. Construye un autómata con pila para cada uno de los siguientes lenguajes: { a n b n : n 0 } { a n b 2n : n 0 } c ) { a 2n b n : n 0 } d ) { a m b n : m n 2*m } e ) { a n b m : m n 2*m } 15. Construye un autómata con pila para cada uno de los siguientes lenguajes: { w {a, b, c}* : w es capicúa } { a 2*i+1 b i : i 0 } c ) { palabras sobre el alfabeto {(, )} con paréntesis balanceados } Por ejemplo, "(())()(())" es una palabra válida, "()())(" y "())(()" no son palabras válidas. d ) { expresiones regulares válidas sobre el alfabeto { a, b } } e ) El lenguaje generado por la gramática G = (N, Σ, S, P) donde N = { S }; Σ = { (, ), [, ] } y P = { S ε SS [S] (S) } f ) { w { a, b }* : w a = 2* w b } g ) { a i b j c k : i, j, k 0, i = j j = k } h ) { a i b j c k : i, j, k 0, i+k = j } i ) { a i+j b i c j : i, j 0 } j ) { a m b n : m n } 16. Sean L 1 = { a 2*i b 3*i : i 0 } y L 2 ={ w {a, b} * : w tiene al menos un prefijo con más b s que a s} Construye autómatas con pila que acepten ambos lenguajes Da los cómputos asociados a las cadenas aabbb y ababbaa en cada uno de los autómatas construidos. 17. (Ejercicio especial) Construye un autómata con pila que reconozca el lenguaje generado por la gramática cuyas producciones son : S aaa A as bs a Da una derivación y un cómputo para alguna palabra generada por la gramática. pág. 4

18. Sea el lenguaje L = {w Σ * : 2 w ab = w a } definido sobre el alfabeto Σ = {a b}. a) L es independiente del contexto. Explica cómo construir un autómata con pila que lo reconozca. b) Construye el autómata con pila M que reconoce este lenguaje siguiendo las ideas del apartado anterior. c) Escoge dos transiciones de M, de distinto tipo, e indica cuáles serían las reglas de producción que se obtendrían al aplicar el algoritmo que construye una gramática equivalente. 19. (Ejercicio especial) Considera el alfabeto Σ={ (, ) } y la siguiente definición inductiva del lenguaje L Σ* Paso básico: ( ) L Paso de inducción: k N x 1,...,x k L (x 1...x k ) L a) Demuestra que no es un lenguaje regular b) Demuestra que L es un lenguaje independiente del contexto por el método que prefieras. Sobre simplificación de gramáticas y FNG 20. Simplifica las gramáticas cuyas producciones vienen dadas a continuación: S AA Bb S A aba AbA C a A Aa ε B b B Bb BC A abad SBBb C CB CA bb c ) S A B d) S A AA AAA A C D A ABa ACa a B D E B ABa Ab ε C S a ε C Cab CC D S b D CD Cd CEa E S c ε E b pág. 5

e ) S ABaC f) S Aa Ba B A AB A Aa ε B b ε B aa BB ε C D ε D d 21. (Ejercicio especial) Sea G = (N, Σ, S, P) la gramática cuyas reglas de producción son: S asa bsb C adab bada A aa ba B ab bb AB BAB ε C abb bbba CA ACA D ad bdb ε a) Simplifica la gramática. b) Describe razonadamente el lenguaje generado por la misma. 22. Considera la gramática independiente de contexto cuyas reglas vienen dadas a continuación: S b bhf bh bf H bhc bc G dg d F dfe de G a) Construye una gramática equivalente disminuyendo el número de reglas. Para ello introduce producciones nulas. b) Razona cuál es el lenguaje generado por la gramática. c) Teniendo en cuenta la estructura del lenguaje generado por la gramática, construye otra gramática equivalente a la del apartado a) con solo seis reglas de producción. pág. 6

23. Da gramáticas en FNG equivalentes a las gramáticas cuyas producciones corresponden a los siguientes apartados S abaab babba aca S AB A aba B a ε A BB CC B bab A b ε B AD CA C aca bdb C a D aca bdb D b c ) S A B d ) S Ba Ab A ab bs b A Sa AAb a B AB Ba CC B Sb BBa b C AS b ε 24. Sea una gramática G = (N, Σ, S, P) cuyas reglas de producción son de la forma A wb o de la forma A w con A, B N y w Σ. A pesar de no ser una gramática lineal a la derecha podemos asegurar que el lenguaje que genera la gramática es regular. Razona por qué. Sobre gramáticas y/o autómatas 25. Di si son ciertas o falsas las siguientes afirmaciones, razonando tu respuesta de forma breve pero convincente. a) La derivación de una palabra por una gramática en FNG tiene tantos pasos como su aceptación por un AP. b) Dado un autómata con pila existe una única gramática equivalente. c) El símbolo inicial de cualquier gramática siempre es un símbolo útil. d) Si M es un autómata con pila que no modifica la pila en ningún momento, y además su estado inicial no es final, entonces necesariamente L(M) = Ø. e) Sea G = (N, Σ, S, P) una gramática independiente de contexto y α β una derivación inmediata en G, tal que α = β. Entonces necesariamente α = δaγ y β = δsγ con δ, γ (N Σ)*, A N, s Σ. f) Todo lenguaje regular es independiente de contexto y ningún lenguaje independiente de contexto es regular. pág. 7

g) Sea G=(N, Σ, S, P) una gramática independiente del contexto en Forma Normal de Greibach. Sea S + δ γ una derivación en G. El número de símbolos terminales en γ puede ser menor que el número de terminales en δ. h) Si G es una gramática tal que ε L(G), G no puede tener producciones nulas. i) Las gramáticas regulares no tienen Forma Normal de Greibach. 26. Sea el lenguaje L = { x y: x,y {a,b}* x = y x y R }. Demuestra que es independiente del contexto. Explica detallada y razonadamente el modelo elegido para probarlo antes de construirlo. 27. Sea el lenguaje formado por aquellas palabras sobre el alfabeto {a, b} que tienen longitud par y tales que, o bien coinciden los dos símbolos centrales o bien coinciden los dos de los extremos. a) Construye una gramática independiente de contexto que lo genere. b) Construye un autómata con pila que lo reconozca. Puedes construirlo directamente (con las explicaciones oportunas) u obtenerlo del apartado anterior mediante algún algoritmo de transformación. 28. Sea el lenguaje L = { a n b n : n no es múltiplo de 5 }. a) Demuestra que es independiente de contexto construyendo un autómata que lo reconozca, y explicando detalladamente su funcionamiento. b) Sea ahora L = { a n b n : n es múltiplo de 5.}. Cómo modificarías el autómata construido en el apartado anterior para que acepte este lenguaje? 29. Sea L = {an b m : n = m ó n = 3m }. a) Demuestra que L es un lenguaje independiente del contexto construyendo una gramática que lo genere. b) Demuestra que L es un lenguaje independiente del contexto construyendo un autómata con pila que lo reconozca. Puedes construirlo directamente (con las explicaciones oportunas) u obtenerlo del apartado anterior mediante algún algoritmo de transformación. pág. 8