Tema 3 Propiedades de los lenguajes independientes de contexto

Slides:



Advertisements
Presentaciones similares
ÁRBOLES DE SINTAXIS ÁRBOL grafo dirigido acíclico.
Advertisements

GRAMATICA LIBRE DE CONTEXTO
5. Estructuras no lineales estáticas y dinámicas
INSTITUTO TECNOLÓGICO DE MINATITLÁN
Diseño y análisis de algoritmos
Compiladores e intérpretes Análisis Sintáctico II
Compiladores e intérpretes
Gramáticas Libres de Contexto
Conceptos básicos Def. Un símbolo es cualquier carácter imprimible.
Gramáticas.
Diseño de AFN’s.
Propiedades de las Funciones Continuas
Árboles Grafo que no contiene ciclos, es decir es un grafo también acíclico, pero a su vez es conexo.
Tema 2.- Gramáticas independientes de contexto.
MATEMÁTICAS DISCRETAS.
ANALIZADOR SINTACTICO
Expresiones regulares
5. Propiedades de los Lenguajes Recursivamente
Tema 2 Autómatas finitos 1. Autómata finito determinista
Tema 1.- Lenguajes. Gramáticas
Relaciones de equivalencia
ANALISIS SINTACTICO DESCENDENTE
Grafos dualmente cordales y sus relaciones con otros tipos de grafos
Teoría de conjuntos Un conjunto es una colección o clase de objetos bien definidos y diferenciables entre sí. Los conjuntos pueden ser finitos o infinitos.
Lógica Temporal. Tablas semánticas.
Definiciones: conjuntos, grafos, y árboles
Ciencias de la Computación I
Teoría de lenguajes y compiladores
5. Propiedades de Cierre de los lenguajes regulares
Teoría de Grafos.
Tema 1.- Lenguajes. Gramáticas
Tema 2 Lenguajes Formales.
Introducción a la Teoría de Lenguajes Preparado por Manuel E. Bermúdez, Ph.D. Profesor Asociado University of Florida Curso de Compiladores.
Teoría de Conjuntos Prof. Carlos Coronel R..
GRAFOS HUGO ARAYA CARRASCO.
Estructura de Datos Lineales
Teoria de grafos.-clase 4
Análisis sintáctico LR: SLR (LR simple)
Definiciones: conjuntos, grafos, y árboles
Lenguajes Independientes del Contexto
Autómatas de Pila Teoría del Autómata.
Matemáticas Discretas
ANALISIS SINTACTICO Parte I
Parte II. Algorítmica. 3. Algoritmos voraces.
Teoría de Grafos.-Clase 2
Teoría de lenguajes y compiladores
Campus Estado de México—Raúl Monroy Resolución, la regla de inferencia y el cálculo Raúl Monroy.
Lenguajes regulares Teoría del Autómata.
Teoría de lenguajes y compiladores Analizadores lexicográficos
Matemáticas Discretas
COMPUTABILIDAD Y COMPLEJIDAD 1. Conceptos básicos (revisión). 2. Gramáticas independientes de contexto. 3. Propiedades de los lenguajes independientes.
Curso de Teoría del Autómata
Tomado de Sudkamp: Languages and Machines Cap. 6.
Teorema de Nerode. Minimización de AFDs
Semejanza de Triángulos
Lenguajes Formales y Autómatas
Sesión 3: Teoría de Grafos
Definiciones: conjuntos, grafos, y árboles
Matemáticas para Ciencias de la Computación MCC3182 Otra Definición Definición 2: Un árbol es un grafo conectado con n vértices y n-1 arcos. En efecto,
Gramáticas Otoño2012. Importancia de las gramáticas 2 Son una herramienta muy poderosa para describir y analizar lenguajes.
1 AFDAFN AF Gramáticas lineales derecha Expresiones regulares Tema 2 Método de los AF Método de las derivadas Sistemas de Ecuaciones Tema 1.
1 Sebastián Argüello A60490 semana 3 Autómatas y compiladores CI-1322.
Teoría de lenguajes y compiladores
I.- ESTUDIO DE LOS LENGUAJES DE PROGRAMACIÓN.
Recorridos de grafos Segunda Parte M.C. Meliza Contreras González.
Autómatas y Compiladores Semana 13. Ricardo Vargas Del Valle A35469.
REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACION SUPERIOR UNIVERSIDAD VALLE DEL MOMBOY CARVAJAL EDO. TRUJILLO ENERO 2014.
República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Superior Universidad Valle del Momboy Carvajal, Trujillo Alumnas Luzmila.
TEMA I Teoría de Circuitos
Jugadores de cartas. Caravaggio.
Transcripción de la presentación:

Tema 3 Propiedades de los lenguajes independientes de contexto 3.1. Lema de Bombeo 3.2. Propiedades de cierre de la clase de los lenguajes I.C. 3.2.1. Cierre bajo Unión. 3.2.2. Cierre bajo Concatenación. 3.2.3. Cierre bajo Clausura. 3.2.4. Cierre bajo Reverso. 3.3. Propiedades de decisión de los lenguajes I.C.

Propiedades de los lenguajes independientes de contexto Lema de Bombeo Lema.- Sea G = (N, , P, S ) en FNC. Si el árbol de derivación de x  * no contiene caminos de longitud mayor que i, | x |  2 i - 1. Demostración.- Inducción en i. Base: i = 1 S Hipótesis: Sup. resultado cierto para valor menor que i a Se cumple |a| = 1  2 1 - 1 Paso: Sea un árbol con camino de longitud i. S A B La primera producción es de tipo S  AB T1 T2 x1 x2 La longitud máxima de los caminos de T1 y T2 es como máximo i - 1. Aplicando la hipótesis, |x| = | x1 | + | x2 |  2 i - 2 + 2 i - 2 = 2 i - 1.

3.1. Lema de Bombeo  L de tipo 2,  n > 0: z L con | z |  n,  u, v, w, x, y : z = uvwxy con | vx |  1, | vwx | n y se cumple uviwxiy  L, i  0. Demostración. Sea G = (N, , P, S ) en FNC con |N | = k, tal que L(G) = L. Sea n = 2k y sea z  L con | z |  n. Veamos que z puede ser factorizada: Como | z |  2k existe un árbol con camino de longitud  k + 1. Como |N | = k algún no terminal (a altura menor que k + 1) en ese camino está repetido. A x2 x3 x4 Se tiene A  x2 A x4 y A  x3 por lo que A  x2i x3 x4i además | x2 x4 |  1 y | x2 x3 x4 |  2k = n

S A x1 x2 x3 x4 x5 El árbol de derivación de x es: Haciendo x1= u x2 = v x3 = w x4 = x x5 = y se tiene lo propuesto Si un lenguaje no cumple el lema de bombeo no es incontextual. Ejemplo: Demostrar que L = {0i1j2k : k  0 } no es incontextual.

3.2. Propiedades de cierre de la clase de los lenguajes I.C. La clase de los lenguajes independientes de contexto es cerrada bajo la Unión (L1 , L2 son de tipo 2  L1  L2 es de tipo 2) Sean G1 = (N1, , P1, S1 ) tal que L(G1) = L1, G2 = (N2, , P2, S2 ) tal que L(G2) = L2 con N1  N2 = . Construimos G = (N, , P, S ) con N = N1  N2  {S}, S  N1  N2 . P = P1  P2  {S  S1 | S2}. L(G) = L1  L2 La clase de los lenguajes indep. de contexto es cerrada bajo la Concatenación (L1 , L2 son de tipo 2  L1L2 es de tipo 2) Sean G1 = (N1, , P1, S1 ) tal que L(G1) = L1, G2 = (N2, , P2, S2 ) tal que L(G2) = L2 con N1  N2 = . Construimos G = (N, , P, S ) con N = N1  N2  {S}, S  N1  N2 . P = P1  P2  {S  S1S2}. L(G) = L1  L2

La clase de los lenguajes independ La clase de los lenguajes independ. de contexto es cerrada bajo Clausura (L es de tipo 2  L* es de tipo 2) Sea G = (N1, , P1, S1 ) tal que L(G1) = L, Construimos G = (N, , P, S ) con N = N1  {S}, S  N1. P = P1  {S  S1S |  }. L(G) = L* La clase de los lenguajes independ. de contexto es cerrada bajo Reverso (L es de tipo 2  L r es de tipo 2) Sean G = (N1, , P1, S1 ) tal que L(G1) = L, Construimos G = (N1, , P, S1 ) con P = {A r : A   P1 }, L(G) = L r

La clase de los lenguajes indep La clase de los lenguajes indep. de contexto NO es cerrada bajo la Intersección (L1 , L2 son de tipo 2  L1  L2 es de tipo 2) Sea L1 = {0i 1i 2j : i, j  0} L1 = L(G1) con G1 : S  AB A  0A1 |  B  2B |  Sea L2 = {0i 1j 2j : i, j  0} L2 = L(G2) con G2 : S  AB A  0A |  B  1B2 |  L1  L2 = {0i 1i 2i : i  0} La intersección de un lenguaje independiente de contexto y un regular es I. C.

La clase de los lenguajes indep La clase de los lenguajes indep. de contexto NO es cerrada bajo Complementación (L1 es de tipo 2  L1 es de tipo 2) Demostración. Supongamos que sí es cerrada. Como L1  L2 = L1  L2 la intersección sería cerrada, en contra de lo demostrado anteriormente. Ejercicio. Demostrar que la clase de los lenguajes indep. de contexto NO es cerrada bajo la diferencia. Ejercicio. ¿Es la clase de los lenguajes indep. de contexto cerrada bajo homomorfismo?. Ejercicio. ¿Es la clase de los lenguajes indep. de contexto cerrada bajo sustitución incontextual?.

3.3. Propiedades de decisión de los lenguajes I.C. Un problema es decidible si existe un algoritmo que, ante cualquier instancia del mismo, responde si o no. Los siguientes problemas (entre otros) no son decidibles: Ambigüedad de las gramáticas independientes de contexto. Equivalencia entre dos gramáticas independientes de contexto. Averiguar si el complementario de un lenguaje independiente de contexto también lo es. Problemas que son decidibles Averiguar si el lenguaje generado por una gramática independiente de contexto es (no es) vacío es decidible. L(G)    S es generativo

Averiguar si el lenguaje generado por una gramática independiente de contexto es (no es) finito es decidible. Algoritmo: A partir de G = (N, , P, S ) en FNC, construimos grafo dirigido con: Los auxiliares como nodos. Si A  BC  P hay un arco de A a B y otro de A a C. L = L(G) es infinito si y solo si en el grafo anterior hay un ciclo. Ejemplo: ¿Son finitas las siguientes gramáticas? S  AB | 0 A  BB | BC | 1 B  CC | 0 C  1 S  AB | 0 A  BB | BC | 1 B  CC | 0 C  AS | 1