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

Tamaño: px
Comenzar la demostración a partir de la página:

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

Transcripción

1 Tema 3: Lenguajes independientes del contexto Gramáticas independientes de contexto (GIC) Conceptos básicos Ambigüedad Ejemplos de GICs Autómatas con pila (AP) Definición de autómata con pila Determinismo y no determinismo. Ejemplos. Formas normales Simplificación Forma normal de Greibach Equivalencia entre APs y GICs Propiedades y aplicaciones 1 Gramáticas independientes del contexto Elementos: Elementos distinguidos: S N símbolo inicial Definición formal: G = (N, Σ, S, P) Com ponentes con Α β P, Α N, β (N Σ)* Paso de derivación: δ1, δ2, σ1, σ2, β (N Σ)* Α N δ1 δ2 si y solo si δ1 = σ1ασ2, δ2 = σ1βσ2 y Α β P Lenguaje generado: L(G) = { w Σ*: S * w } Com ponentes form ales Categorias N conjunto de no term inales Fuente de entrada Σ alfabeto de term inales Tema 3: Leng. Indep. del Contexto 2 Derivaciones Paso de derivación a la izquierda: δ1 δ2 si y solo si δ1 = wαα, δ2 = wβα y Α β P con α, β (N Σ )*, Α N, w Σ* Derivación a la izquierda: S * w con cada paso de derivación a la izquierda Ejemplo: Dada la G.I.C: S ASB ε A aab ε B bba ba Derivación a la izquierda de la palabra aabbba: S ASB aabsb aaabbsb aabbsb aabbb aabbba Árbol de derivación Árbol de derivación (o de análisis) de G: Es un árbol etiquetado y ordenado tal que: - Todo nodo está etiquetado con un símbolo de N Σ {ε} - La raíz es el símbolo inicial. - Los nodos internos están etiquetados con símbolos no terminales - Si un nodo está etiquetado con A y sus k hijos están etiquetados X 1 X 2 X k (leídos de izquierda a derecha), entonces A X 1 X 2 X k es una regla de la gramática. - Si un nodo está etiquetado con ε entonces es el único hijo de un nodo. Si todas las hojas son símbolos terminales ó ε entonces el árbol es completo y la frontera es una palabra de L(G). Tema 3: Leng. Indep. del Contexto 3 Tema 3: Leng. Indep. del Contexto 4

2 Ejemplo: La derivación Derivaciones y árboles (I) S ASB aabsb aaabbsb aabbsb aabbb aabbba tiene como árbol de derivación S A S B S ASB ε A aab ε a A b ε b a B bba ba a A b Es un árbol completo con frontera: aabbba ε Tema 3: Leng. Indep. del Contexto 5 Derivaciones y árboles (II) Ejemplo: S SbS ScS a Dos derivaciones a la izquierda: S ScS SbScS abscs abacs abaca S SbS abs abscs abacs abaca Árboles de derivación: S S S c S S b S S b S a a S c S a a a a Tema 3: Leng. Indep. del Contexto 6 Ambigüedad Ejemplos de GICs (I) Una gramática G es ambigua si existe x L(G) con al menos dos árboles de derivación diferentes. Ej: La gramática S SbS ScS a es ambigua Equivalentemente, una gramática G es ambigua si existe x L(G) con al menos dos derivaciones a la izquierda. Un lenguaje L es inherentemente ambiguo si todas las gramáticas para dicho lenguaje son ambiguas. Ej: El lenguaje siguiente es inherentemente ambiguo: L = { a i b j c k i=j ó j=k } 1. Gramática G que genera el lenguaje L(G) = { w.c.w R : w {a,b}* } G = (N, Σ, S, P) con N = {S}, Σ = {a,b,c} y P formado por las siguientes reglas de producción: S asa bsb c 2. Gramática G que genera el lenguaje L(G) = { w.w R : w {a,b}* } G = (N, Σ, S, P) con N = {S}, Σ = {a,b} y P formado por las siguientes reglas de producción: S asa bsb ε Tema 3: Leng. Indep. del Contexto 7 Tema 3: Leng. Indep. del Contexto 8

3 Ejemplos de GICs (II) Ejemplos de GICs (III) 3. Gramática G que genera el lenguaje L(G) = { a n b n : n 0 } G = (N, Σ, S, P) con N = {S}, Σ = {a,b} y P formado por las siguientes reglas de producción: S asb ε 4. Gramática G que genera el lenguaje L(G) = { a n b 2n : n 0 } G = (N, Σ, S, P) con N = {S}, Σ = {a,b} y P formado por las siguientes reglas de producción: S asbb ε 5. Gramática G que genera el lenguaje L(G) = { a i b k c i : i 0, k 1 } Primero observamos que k e i son independientes entre ellos. Usamos un nuevo no-terminal B que genere la subpalabra b k (k 1) G = (N, Σ, S, P) con N = {S,B}, Σ = {a,b,c} y P formado por las siguientes reglas de producción: S asc Β B bb b 6. Gramática G que genera el lenguaje L(G) = { a i b k c i : i 1, k 0 }? Tema 3: Leng. Indep. del Contexto 9 Tema 3: Leng. Indep. del Contexto 10 - Elementos: Autómatas con pila (AP) - Elementos distinguidos para la inicialización y aceptación: q0 Q: estado inicial F Q: conjunto de estados finales pila (representada mediante Г*), la cima de la pila vacía (ε) se denota por - Ciclo-máquina: C om ponentes físicos C om ponentes lógicos U nidad de Proceso Q conjunto de estados Fuente de entrada Σ alfabeto de entrada Consultas: Pila Γ alfabeto de pila estado actual símbolo de entrada cima de la pila Acciones: avance en la entrada cambio de estado modificación de la pila: desapilar un elemento ó desapilar un elemento y apilar uno o más Tema 3: Leng. Indep. del Contexto 11 - Definición formal: M = (Q, Σ, Γ, δ, q 0, F) con δ : Q Σ (Γ { }) (Q Γ*) -Configuración: (q, w, α) Q Σ* Γ* - estado actual, palabra a leer, estado pila - -Movimiento: (p Q, s Σ, w Σ*, A Γ, α Γ*) (p, s.w, Aα) (q, w, βα) si y solo si (q, β) δ(p, s, A) (p, s.w, ε) (q, w, β) si y solo si (q, β) δ(p, s, ) - Lenguaje aceptado: Autómatas con pila (AP) L(M) = { w Σ*: p F (q 0, w, ε) * (p, ε, ε) } Tema 3: Leng. Indep. del Contexto 12

4 Ejemplo de AP Ejemplo de AP M = (Q, Σ, Γ, δ, q 0, F) con Q = {q 0, q f } F = {q f } Γ = { A } Σ = {a,b} y δ como sigue: δ (q 0,a, ) = {(q 0, A), (q f, ε) } δ (q f, a, ) = δ (q 0, a, A) = { (q 0, AA), (q f, A) } δ (q f, a, A) = { (q f, ε) } δ (q 0, b, ) = { (q 0, A) } δ (q f, b, ) = δ (q 0, b, A) = { (q 0, AA) } δ (q f, b, A) = { (q f, ε) } M = (Q, Σ, Γ, δ, q 0, F) con Q = {q 0, q f } F = {q f } Γ = { A } Σ = {a,b} y δ como sigue: δ (q 0,a, ) = {(q 0, A), (q f, ε) } δ (q f, a, ) = δ (q 0, a, A) = { (q 0, AA), (q f, A) } δ (q f, a, A) = { (q f, ε) } δ (q 0, b, ) = { (q 0, A) } δ (q f, b, ) = δ (q 0, b, A) = { (q 0, AA) } δ (q f, b, A) = { (q f, ε) } Cómputos posibles de M para la palabra aba: (q 0, aba, ) -- (q 0, ba, A) -- (q 0, a, AA) -- (q 0, ε, AAA) -- (q f, ε, AA) -- (q f, ba, ) -- por tanto aba L(M) Tema 3: Leng. Indep. del Contexto 13 Cómputos posibles de M para la palabra baa: (q 0, baa, ) -- (q 0, aa, A) -- (q 0, a, AA) -- (q 0, ε, AAA) -- (q f, ε, AA) -- (q f, a, A) -- (q f, ε, ε) por tanto baa L(M) Tema 3: Leng. Indep. del Contexto 14 Determinismo y no determinismo - Diseñar un autómata con pila (determinista) que reconozca el siguiente lenguaje: L = { w.c.w R : w {a,b}* } - Diseñar un autómata con pila que reconozca el siguiente lenguaje: L = { w.w R : w {a,b}* } En general, a diferencia de lo que pasa entre L(AFD) y L(AFND), los lenguajes reconocidos por autómatas con pila deterministas (APD) no coinciden con los lenguajes reconocidos por autómatas con pila NO deterministas (AP): L(APD) L(AP) Ejemplo de AP determinista Diseñar un autómata con pila (determinista) que reconozca L = { w.c.w R : w {a,b}* } M = (Q, Σ, Γ, δ, q 0, F) con Q = {q 0, q f } F = {q f } Γ = { A,B } Σ = {a,b,c} y δ como sigue: δ (q 0, a, ) = {(q 0, A)} δ (q 0, a, Β ) = {(q 0, AB)} δ (q 0, a, A) = {(q 0, AA)} δ (q 0, b, ) = {(q 0, B)} δ (q 0, b, B) = {(q 0, ΒΒ)} δ (q 0, b, A) = {(q 0, BA)} δ (q 0, c, ) = {(q f, ε)} δ (q 0, c, A) = {(q f, A)} δ (q 0, c, B) = {(q f, B)} δ (q f, a, A) = { (q f, ε) } δ (q f, b, B) = { (q f, ε) } Tema 3: Leng. Indep. del Contexto 15 Tema 3: Leng. Indep. del Contexto 16

5 Ejemplo de AP no determinista Diseñar un autómata con pila que reconozca L = { w.w R : w {a,b}* } M = (Q, Σ, Γ, δ, q 0, F) con Q = {q 0, q f } F= {q 0, q f } Γ= { A,B } Σ= {a,b} y δ como sigue: δ (q 0, a, ) = {(q 0, A)} δ (q 0, a, Β ) = {(q 0, AB)} δ (q 0, a, A) = {(q 0, AA), (q f, ε)} δ (q f, a, A) = {(q f, ε)} δ (q 0, b, ) = {(q 0, B)} δ (q 0, b, B) = {(q 0, ΒΒ), (q f, ε)} δ (q 0, b, A) = {(q 0, BA)} δ (q f, b, B) = {(q f, ε)} Formas Normales. Simplificación Consiste en eliminar: símbolos inútiles, producciones nulas y producciones unitarias de una gramática G, Simplificación de GIC s: con el objetivo de obtener una gramática G, equivalente a G y tal que cada paso de derivación α β (en G ) verifica α β Tema 3: Leng. Indep. del Contexto 17 Tema 3: Leng. Indep. del Contexto 18 Símbolo inútil Definiciones: (para símbolos no terminales: X N) Símbolo accesible X si S αxβ Símbolo fecundo X si X w (con w Σ*) Símbolo inútil = no accesible ó no fecundo Ejemplo: S AB A A Aa ε B bc C cb D a No fecundos? B, C No accesibles? D Tema 3: Leng. Indep. del Contexto 19 * * Eliminar símbolos inútiles (I) entrada: G = (N,, P, S) gramática independiente de contexto salida: G2 = (N2,, P2, S) equivalente a G sin símbolos inútiles proceso: primer paso: -- Objetivo: eliminar de G los símbolos no fecundos -- Método: buscar inductivamente los símbolos fecundos, N1 Si A w P con w Σ* entonces A N1 Si A α P con α (N1 Σ)*, entonces A N1 -- Resultado: G1 = (N1,, P1, S) con P1 = { A α P : α (Σ N1)*} Tema 3: Leng. Indep. del Contexto 20

6 segundo paso: Eliminar símbolos inútiles (II) -- Objetivo: eliminar de G1=(N1,, P1, S) los símbolos no accesibles -- Método: buscar inductivamente los símbolos accesibles, N2 S N2 Si A N2, A αbβ P1 y B N1 entonces B N2 -- Resultado: G2 = (N2,, P2, S) con P2 = { A α P1 : A N2 } IMPORTANTE: El orden de los pasos no es conmutativo. Tema 3: Leng. Indep. del Contexto 21 Eliminar producciones nulas (I) entrada: G = (N, Σ, P, S) independiente de contexto con S no recursivo salida: G2 = (N, Σ, P2, S) equivalente a G y tal que la única producción nula (A ε) P2, si existe alguna, es con el símbolo inicial de la gramática: S ε proceso: primer paso: -- Objetivo: construcción del conjunto de símbolos anulables ANUL = {A N: A ε } * -- Método: aplicar la definición inductiva de símbolo anulable Si A ε P entonces A ANUL Si A α P con α ANUL*, entonces A ANUL Tema 3: Leng. Indep. del Contexto 22 Eliminar producciones nulas (II) segundo paso: -- Eliminar las producciones nulas y modificar P P1 := P - {A ε : A N}; P2:= ; for regla in P1 loop if regla = A X1X2 Xn then P2 := P2 { A Y1 Y2 Yn Yi es Xi si Xi ANUL Yi es Xi ó es ε si Xi ANUL Yi no es ε para todo i }; end if; if S ANUL then P2 := P2 { S ε } end if; Eliminar producciones unitarias (I) entrada: G = (N, Σ, P, S) independiente de contexto sin producciones nulas salida: G1 = (N, Σ, P1, S) equivalente a G sin producciones unitarias (A Β) proceso: primer paso: -- Objetivo: construir para cada A N el conjunto U A = {B N : A * B} -- Método: aplicar la definición inductiva: A U A Si B U A y B C P entonces C U A Tema 3: Leng. Indep. del Contexto 23 Tema 3: Leng. Indep. del Contexto 24

7 Eliminar producciones unitarias (II) segundo paso: -- Construir P1 eliminando las producciones unitarias P1 := Ø; for A in N loop for B in U A loop for regla in P loop if regla = B α and α N then P1 := P1 {A α }; end if; Forma Normal Transformación de una GIC a forma normal: Estudiaremos procedimientos para: eliminar recursión a izquierdas, reemplazamientos y otros... con el objetivo de transformar cualquier G.I.C. G en G, tal que G es equivalente a G y G en forma normal (de Greibach) y obtener un AP equivalente a partir de G (en F.N. Greibach) Tema 3: Leng. Indep. del Contexto 25 Tema 3: Leng. Indep. del Contexto 26 Recursividad Recursividad Producción o regla recursiva: A αaβ Recursividad no inmediata A * αaβ Producción o regla recursiva a la izquierda: A Aβ Recursividad a la izquierda A Aβ Eliminación de la recursividad inmediata a la izquierda de un símbolo no terminal A Sean todas las reglas con A en el lado izquierdo (A-reglas): A Aα 1... Aα n β 1... β m donde las reglas A β i no son recursivas a la izquierda. * Las cambiamos por A β 1 A... β m A β 1... β m A α 1 A... α n A α 1... α n donde A es un nuevo no terminal. La nueva gramática es equivalente y sin recursión inmediata a la izquierda para A. A * (β 1... β m )(α 1... α n ) Tema 3: Leng. Indep. del Contexto 27 Tema 3: Leng. Indep. del Contexto 28

8 Otras transformaciones Otras transformaciones Reemplazamiento Sea A αbβ P una regla tal que A, B N y sean B β 1... β n todas las B-reglas, si eliminamos la regla A αbβ y añadimos las reglas A αβ 1 β... αβ n β la nueva gramática es equivalente. Introducción de nuevos símbolos no terminales Sea A αβγ P una regla tal que A N, α,β,γ (N Σ) y Z un nuevo no terminal si eliminamos la regla A αβγ y añadimos las reglas Z β A αzγ la nueva gramática es equivalente. Tema 3: Leng. Indep. del Contexto 29 Tema 3: Leng. Indep. del Contexto 30 Forma normal de Greibach Forma normal de Greibach (I) Definición: Una gramática independiente del contexto G = (N, Σ, P, S) está en Forma Normal de Greibach (FNG) si todas las reglas de producción (de P) son de la forma: A aβ con A N, a Σ, β N Transformación a FNG: Toda GIC se puede transformar en otra GIC equivalente que esté en FNG (con la posible regla añadida S ε para el caso en que ε pertenezca al lenguaje generado por la primera) entrada: G = (N, Σ, P, S) independiente de contexto simplificada salida: G3 = (N3, Σ, P3, S) en FNG equivalente a G preparación: Numeración de los no terminales y de las reglas. Elegimos una ordenación de N: A 1 < A 2 <... <A n y clasificamos las reglas de P según dicho orden, de la siguiente forma: A cada regla le asignamos un grupo (1, 2, 3 ó 4) dependiendo del primer símbolo del lado derecho de la regla 1.- si A i aβ con a Σ 2.- si A i A j β con A i <A j 3.- si A i A i β 4.- si A i A j β con A i >A j Tema 3: Leng. Indep. del Contexto 31 Tema 3: Leng. Indep. del Contexto 32

9 Forma normal de Greibach (II) Primer paso: eliminar la recursión a la izda en G = (N, Σ, P, S) entrada: G simplificada salida: G1 = (N1, Σ, P1, S) equivalente sin recursión a la izquierda proceso: -- Objetivo: adecuar las reglas de la gramática de forma que "respeten" el orden establecido en N. Para ello hay que eliminar las reglas de la forma A i A j α con A j A i. Es decir, eliminar las reglas de los grupos 3 y Método: hacer reemplazamientos siguiendo el orden de N (para eliminar las reglas del grupo 4) y cambiar la recursión inmediata a la izquierda por recursión a la derecha (para eliminar las del grupo 3). Forma normal de Greibach (III) Primer paso: reducción de los grupos 4 y 3 al 2 y 1 for i in 1..n loop for j in 1..i-1 loop --eliminar reglas del grupo 4 si hay while hay regla A i A j α loop eliminar A i A j α por reemplazamiento --eliminar reglas del grupo 3 si hay if hay reglas del grupo 3 para A i then eliminar recursión inmediata a la izquierda de A i end if; Tema 3: Leng. Indep. del Contexto 33 Tema 3: Leng. Indep. del Contexto 34 Forma normal de Greibach (IV) Segundo paso: obtención de G3 en forma normal de Greibach entrada: G1= (N1, Σ, P1, S) simplificada y no recursiva a la izquierda salida: G3 = (N3, Σ, P3, S) equivalente en FNG proceso: primera parte: -- Objetivo: poner las reglas en forma A i sα con s Σ. Es decir, eliminar las reglas del grupo Método: aplicar reemplazamientos siguiendo el orden inverso al de N1. -- Resultado: G2 = (N2, Σ, P2, S) Forma normal de Greibach (V) primera parte: N2 := N1; P2 := P1; for i in n loop for j in n.. i+1 loop --eliminar reglas del grupo 2 while hay regla A i A j α loop eliminar A i A j α por reemplazamiento Tema 3: Leng. Indep. del Contexto 35 Tema 3: Leng. Indep. del Contexto 36

10 Forma normal de Greibach (VI) segunda parte: -- Objetivo: conseguir las reglas en FNG -- Método: cambiar terminales que no están en la primera posición de las partes derechas por nuevos no terminales. -- Resultado: G3 = (N3, Σ, P3, S) -- Utilizamos el conjunto de nuevos no terminales: {Z s : s Σ} N3 := N2; for regla in P2 loop para cada s y cada regla = A αsβ cambiarla por A αz s β y Z s s; N3 := N3 { Z s }; Equivalencia entre APs y GICs PROPOSICIÓN: Los lenguajes generados por gramáticas independientes de contexto son lenguajes reconocidos por autómatas con pila. Es decir, L(GIC) L(AP) DEMOSTRACIÓN: Sea G = (N, Σ, P, S) una gramática independiente de contexto en FNG Construimos M = ({q 0, q 1 }, Σ, N, δ, q 0, F) donde δ(q 0, s, ) = {(q 1, α) : S sα P} δ(q 1, s, A) = {(q 1, α) : A sα P} para s Σ para s Σ, A N (A S) El conjunto de estados finales: F = {q 0, q 1 } si S ε P o bien F = {q 1 } si S ε P Base de la demostración: w Σ +, S * wα si y sólo si (q 0, w, ε) * (q 1, ε, α) Tema 3: Leng. Indep. del Contexto 37 Tema 3: Leng. Indep. del Contexto 38 Equivalencia entre APs y GICs Propiedades de cierre Sean G1 = (N1, Σ, P1, S1) y G2 = (N2, Σ, P2, S2) dos GICs - L(G1) L(G2) es independiente de contexto G = (N1 N2 {S}, Σ, P1 P2 {S S1 S2}, S) Se puede demostrar que los lenguajes reconocidos por autómatas con pila son generados por gramáticas independientes de contexto. Es decir, L(AP) L(GIC) - L(G1) L(G2) es independiente de contexto G = (N1 N2 {S}, Σ, P1 P2 {S S1S2}, S) - L(G1)* es independiente de contexto G = (N1 {S}, Σ, P1 {S SS1 ε }, S) - L(G1) L(G2) no es necesariamente independiente de contexto. Ej: { a n b j c j : n,j 0 } { a k b k c p : k,p 0 } - L(G1) no es necesariamente independiente de contexto. Tema 3: Leng. Indep. del Contexto 39 Tema 3: Leng. Indep. del Contexto 40

11 Aplicaciones Ejemplo de sintaxis de Ada Los lenguajes independientes de contexto se utilizan para describir la sintaxis. Las aplicaciones de los mismos generalmente se basan en el uso de gramáticas. Es más intuitivo escribir gramáticas Es más sencillo entender las gramáticas Ejemplos: 1) Analizadores sintácticos 2) Descripción de formatos de documentos mediante las definiciones de tipo de documento, DTD (Document Type Definition), que se usan en la comunidad XML (extensible Markup Language) para el intercambio de información en la Web Tema 3: Leng. Indep. del Contexto 41 sequence_of_statements ::= statement {statement} statement ::= {label} simple_statement {label} compound_statement simple_statement ::= null_statement assignment_statement exit_statement goto_statement procedure_call_statement return_statement entry_call_statement requeue_statement delay_statement abort_statement raise_statement code_statement compound_statement ::= if_statement case_statement loop_statement block_statement accept_statement select_statement if_statement ::= if condition then sequence_of_statements {elsif condition then sequence_of_statements} [else sequence_of_statements] end if; Tema 3: Leng. Indep. del Contexto 42 Gramática DTD DTD estandar para publicar en la Web las descripciones de los distintos PCs que venden. <!DOCTYPE PcSpecs [ <!ELEMENT PCS (PC*)> <!ELEMENT PC (MODELO, PRECIO, PROCESADOR, RAM, DISCO+)> <!ELEMENT MODELO (#PCDATA)> <!ELEMENT PRECIO (#PCDATA)> <!ELEMENT PROCESADOR (FABRICANTE, MODELO, VELOCIDAD)> <!ELEMENT FABRICANTE (#PCDATA)> <!ELEMENT MODELO (#PCDATA)> <!ELEMENT VELOCIDAD (#PCDATA)> <!ELEMENT RAM (#PCDATA)> <!ELEMENT DISCO (DISCODURO CD DVD)> <!ELEMENT DISCODURO (FABRICANTE, MODELO, TAMAÑO)> <!ELEMENT TAMAÑO (#PCDATA)> <!ELEMENT CD (VELOCIDAD)> <!ELEMENT DVD (VELOCIDAD)> ]> Tema 3: Leng. Indep. del Contexto 43 Parte de un documento que sigue la estructura de la DTD: Documento XML <PCS> <PC> <MODELO>4560</MODELO> <PRECIO>1000 </ PRECIO > <PROCESADOR> <FABRICANTE>Intel</ FABRICANTE > <MODELO>Pentium</MODELO> <VELOCIDAD>800Mhz</ VELOCIDAD > </ PROCESADOR > <RAM>256</RAM> <DISCO><DISCODURO> <FABRICANTE>Maxtor</FABRICANTE> <MODELO>Diamond</MODELO> <TAMAÑO>30.5Gb</TAMAÑO> </DISCODURO></DISCO> <DISCO><CD> <VELOCIDAD>32x</ VELOCIDAD > </CD></DISCO> </PC> <PC>... </PC> </PCS> Tema 3: Leng. Indep. del Contexto 44

12 GICs y Gramáticas DTD 1) Formato DTD: <!ELEMENT PROCESADOR (FABRICANTE, MODELO, VELOCIDAD)> Formato GIC: Procesador Fabricante Modelo Velocidad 2) Formato DTD: <!ELEMENT DISCO (DISCODURO CD DVD)> Formato GIC: Disco Discoduro Cd Dvd 3) Formato DTD: <!ELEMENT PC (MODELO, PRECIO, PROCESADOR, RAM, DISCO+)> Formato GIC: PC Modelo Precio Procesador Ram Discos Discos Disco Disco Discos Tema 3: Leng. Indep. del Contexto 45

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto 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 )

Más detalles

Autómatas de Pila y Lenguajes Incontextuales

Autómatas de Pila y Lenguajes Incontextuales Autómatas de Pila y Lenguajes Incontextuales Elvira Mayordomo Universidad de Zaragoza 5 de noviembre de 2012 Contenido de este tema 1. Introducción a los autómatas de pila 2. Definiciones 3. Equivalencia

Más detalles

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

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. MODELOS DE COMPUTACION I Preguntas Tipo Test Indicar si son verdaderas o falsas las siguientes afirmaciones: 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. 2.

Más detalles

Tema 5 Lenguajes independientes del contexto. Sintaxis

Tema 5 Lenguajes independientes del contexto. Sintaxis Tema 5 Lenguajes independientes del contexto. Sintaxis 1 Gramáticas independientes del contexto Transformación de gramáticas independientes del contexto Autómatas de pila Obtención de un autómata de pila

Más detalles

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

Gramáticas independientes del contexto AUTÓMATAS Y LENGUAJES FORMALES LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I Gramáticas independientes del contexto UTÓMTS Y LENGUJES FORMLES LENGUJES INDEPENDIENTES DEL CONTEXTO Y UTÓMTS DE PIL Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNM E-mail:

Más detalles

Procesadores de Lenguaje

Procesadores de Lenguaje Procesadores de Lenguaje Analizadores sintácticos descendentes: LL(1) Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2013 Analizadores sintácticos

Más detalles

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

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Compiladores: Análisis Sintáctico Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Sintaxis Define la estructura del lenguaje Ejemplo: Jerarquía en

Más detalles

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

Un autómata con pila no determinista (APND) es una septupla Q A B F en la que AUTÓMATAS CON PILA Un autómata con pila no determinista (APND) es una septupla Q A F en la que δ q 0 Q es un conjunto finito de estados A es un alfabeto de entrada es un alfabeto para la pila δ es la función

Más detalles

Teoría de Lenguajes. Gramáticas incontextuales

Teoría de Lenguajes. Gramáticas incontextuales Teoría de Lenguajes Gramáticas incontextuales José M. Sempere Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Gramáticas incontextuales 1. Definiciones básicas.

Más detalles

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

El análisis descendente LL(1) 6, 7 y 13 de abril de 2011 6, 7 y 13 de abril de 2011 Analizadores sintácticos (repaso) Los analizadores descendentes: Corresponden a un autómata de pila determinista. Construyen un árbol sintáctico de la raíz hacia las hojas (del

Más detalles

GRAMATICAS LIBRES DEL CONTEXTO

GRAMATICAS LIBRES DEL CONTEXTO GRMTICS LIBRES DEL CONTEXTO Estas gramáticas, conocidas también como gramáticas de tipo 2 o gramáticas independientes del contexto, son las que generan los lenguajes libres o independientes del contexto.

Más detalles

Procesadores de Lenguaje

Procesadores de Lenguaje Procesadores de Lenguaje Repaso TALF Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2013 La Jerarquía de Chomsky Cuatro niveles de lenguajes formales

Más detalles

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

Autómatas de Pila. Descripciones instantáneas o IDs. El Lenguaje de PDA. Equivalencia entre PDAs y CFGs INAOE (INAOE) 1 / 50 INAOE (INAOE) 1 / 50 Contenido 1 2 3 4 (INAOE) 2 / 50 Pushdown Automata Las gramáticas libres de contexto tienen un tipo de autómata que las define llamado pushdown automata. Un pushdown automata (PDA)

Más detalles

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

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones 1 Curso Básico de Computación 5 Autómatas de pila 5.1 Descripción informal Un autómata de pila es esencialmente un autómata finito que controla una cinta de entrada provista de una cabeza de lectura y

Más detalles

Tema: Autómata de Pila

Tema: Autómata de Pila Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores 1 Tema: Autómata de Pila Contenido La presente guía aborda los autómatas de pila, y se enfoca en la aplicación que se le puede dar a estas

Más detalles

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

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002 Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto

Más detalles

LENGUAJES FORMALES Y AUTÓMATAS

LENGUAJES FORMALES Y AUTÓMATAS LENGUAJES FORMALES Y AUTÓMATAS Departamento de Lenguajes y Sistemas Informáticos Escuela Técnica Superior de Ingeniería Informática Universidad de Sevilla Víctor J. Díaz Madrigal José Miguel Cañete Valdeón

Más detalles

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

6. Autómatas a Pila. Grado Ingeniería InformáDca Teoría de Autómatas y Lenguajes Formales 6. Autómatas a Pila Araceli Sanchis de Miguel Agapito Ledezma Espino José A. Iglesias Mar

Más detalles

Sentido de recorrido. q i

Sentido de recorrido. q i Sentido de recorrido σ Cinta Cabeza de lectura γ Pila i Unidad de control de estados Componentes básicos de un autómata con pila. σ i 1 σ i j σ i j+1 σ i p Z (a) γ l 1 γ l 2 γ l σ i 1 σ i j σ i j+1 σ i

Más detalles

Equivalencia Entre PDA y CFL

Equivalencia Entre PDA y CFL Equivalencia Entre PDA y CFL El Lenguaje aceptado por un Autómata con Pila Universidad de Cantabria Esquema 1 Introducción 2 3 Lenguaje Aceptado por un Autómata Como en los autómatas finitos, se puede

Más detalles

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO Autómatas de pila y lenguajes independientes del contexto -1- AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO AUTÓMATAS DE PILA - Son autómatas finitos con una memoria en forma de pila. - Símbolos

Más detalles

Gramáticas Independientes del Contexto (GIC)

Gramáticas Independientes del Contexto (GIC) Asignatura: Teoría de la Computación Tema 4: Gramáticas independientes del contexto Definiciones y propiedades Gramáticas Independientes del Contexto (GIC) Qué es una gramática? Modelo de estructuras recursivas.

Más detalles

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

Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer, utilizar y diseñar gramáticas de libre contexto Universidad Autónoma del Estado de México Centro Universitario UAEM Texcoco Departamento de Ciencias Aplicadas. Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer,

Más detalles

Autómatas Finitos Deterministicos (DFA)

Autómatas Finitos Deterministicos (DFA) Autómatas Finitos Deterministicos (DFA) Introducción a la Lógica y la Computación Fa.M.A.F., Universidad Nacional de Córdoba 26/0/6 Info útil Bibliografía: Introducción a la teoría de autómatas, lenguajes

Más detalles

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

Nivel del ejercicio : ( ) básico, ( ) medio, ( ) avanzado. Universidad Rey Juan Carlos Curso 2010 2011 Teoría de Autómatas y Lenguajes Formales Ingeniería Técnica en Informática de Sistemas Hoja de Problemas 10 Gramaticas Independientes del Contexto Nivel del

Más detalles

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

INAOE. Gramáticas Libres de Contexto. Definición formal de CFGs. Derivaciones usando. Derivaciones. izquierda y. derecha. s s INAOE en s (INAOE) 1 / 67 Contenido s en s 1 s 2 3 4 5 6 7 8 en s (INAOE) 2 / 67 s s s Hemos visto que muchos lenguajes no son regulares. Por lo que necesitamos una clase más grande de lenguages Las

Más detalles

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

Cualquier lenguaje de contexto libre, L, puede ser generado por medio de una GCL, G, que cumpla las siguientes condiciones: Teoría de Autómatas y Lenguajes Formales Boletín de Autoevaluación 5: Cómo se simplifica una Gramática de Contexto Libre?. 1. Objetivos. El objetivo de este boletín es ilustrar cómo proceder para simplificar

Más detalles

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

Teoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales Teoría de utómatas y Lenguajes Formales Introducción a las ramáticas. ramáticas incontextuales José M. Sempere Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Introducción

Más detalles

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

Interrogación 2. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003 Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Interrogación 2 IIC 2222 Teoría de Autómatas y Lenguajes Formales Segundo Semestre, 2003 Esta interrogación

Más detalles

Computabilidad y Lenguajes Formales: Autómatas de Pila

Computabilidad y Lenguajes Formales: Autómatas de Pila 300CIG007 Computabilidad y Lenguajes Formales: Autómatas de Pila Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. Basado en [SIPSER, Chapter 2] Autómatas

Más detalles

Unidad 4. Autómatas de Pila

Unidad 4. Autómatas de Pila Unidad 4. Autómatas de Pila Una de las limitaciones de los AF es que no pueden reconocer el lenguaje {0 n 1 n } debido a que no se puede registrar para todo n con un número finito de estados. Otro lenguaje

Más detalles

Computabilidad y Lenguajes Formales: Autómatas Finitos

Computabilidad y Lenguajes Formales: Autómatas Finitos 300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. No Determinismo Hasta ahora cada

Más detalles

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

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx

Más detalles

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

3.3 Autómatas de Pila (AP) [LP81, sec 3.3] 3.3. AUTÓMATAS DE PILA (AP) 49 Ejemplo 3.8 Tal como con ERs, no siempre es fácil diseñar una GLC que genere cierto lenguaje. Un ejercicio interesante es {w {a,b}, w tiene la misma cantidad de a s y b s

Más detalles

Lenguajes y Gramáticas

Lenguajes y Gramáticas Lenguajes y Gramáticas Teoría de Lenguajes Fernando Naranjo Introduccion Se desarrollan lenguajes de programación basados en el principio de gramática formal. Se crean maquinas cada vez mas sofisticadas

Más detalles

Expresiones regulares, gramáticas regulares

Expresiones regulares, gramáticas regulares Expresiones regulares, gramáticas regulares Los LR en la jerarquía de Chomsky La clasificación de lenguajes en clases de lenguajes se debe a N. Chomsky, quien propuso una jerarquía de lenguajes, donde

Más detalles

Autómatas Deterministas. Ivan Olmos Pineda

Autómatas Deterministas. Ivan Olmos Pineda Autómatas Deterministas Ivan Olmos Pineda Introducción Los autómatas son una representación formal muy útil, que permite modelar el comportamiento de diferentes dispositivos, máquinas, programas, etc.

Más detalles

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.

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. Conjuntos Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por se entiende que a pertenece a R. a R Normalmente, podremos definir a un conjunto de dos maneras: Por

Más detalles

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 3.1: Autómatas Finitos Deterministas

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 3.1: Autómatas Finitos Deterministas Tema 3.1: Autómatas Finitos Deterministas Luis Peña luis.pena@urjc.es http://www.ia.urjc.es/cms/es/docencia/ic-msal Sumario Tema 3.1: Autómatas Finitos Deterministas. 1. Concepto de AFD 2. Equivalencia

Más detalles

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

Teoría de Lenguajes. Clase Teórica 7 Autómatas de Pila y Lenguajes Independientes del Contexto Primer cuartimestre 2014 Teoría de Lenguajes Clase Teórica 7 Autómatas de Pila y Lenguajes Independientes del Contexto Primer cuartimestre 2014 aterial compilado por el Profesor Julio Jacobo, a lo largo de distintas ediciones

Más detalles

El Autómata con Pila

El Autómata con Pila El Autómata con Pila Una Generalización del Autómata Finito Universidad de Cantabria Esquema 1 2 3 4 Los autómatas son abstracciones de maquinas de calcular, como hemos visto. Los más sencillos no tienen

Más detalles

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

2do. Parcial. Todos los ejercicios se entregarán en hojas separadas. El examen tipo test cuenta hasta 2 puntos sobre la nota total. U.R.J.C. Ingeniera Técnica en Informática de Sistemas Teoría de Autómatas y Lenguajes Formales Junio 2009 2do. Parcial Normas : La duración del examen es de 2 horas. Todos los ejercicios se entregarán

Más detalles

Clase 17: Autómatas de pila

Clase 17: Autómatas de pila Solicitado: Ejercicios 14: Autómatas de pila de GLC M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfrancom@ipn.mx 1 Contenido Autómata de pila Definición

Más detalles

PROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07

PROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07 PROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07 1. En qué método de análisis sintáctico puede suceder que en la construcción del árbol de derivación de las posibles expansiones de un símbolo no terminal

Más detalles

Procesadores de lenguaje Tema Análisis sintáctico (Parte II)

Procesadores de lenguaje Tema Análisis sintáctico (Parte II) Procesadores de lenguaje Tema 3 Análisis sintáctico (Parte II) Salvador Sánchez, Daniel Rodríguez Departamento de Ciencias de la Computación Universidad de Alcalá Resumen Análisis sintáctico ascendente

Más detalles

Procesadores de lenguaje Tema Análisis sintáctico (Parte I)

Procesadores de lenguaje Tema Análisis sintáctico (Parte I) Procesadores de lenguaje Tema 3 Análisis sintáctico (Parte I) Departamento de Ciencias de la Computación Universidad de Alcalá Resumen Introducción Conceptos básicos Tipos de analizadores Gramáticas independientes

Más detalles

Texto: Hopcroft, J. E., Motwani, R., Ullman, J.D., Introduction to Automata Theory, Languajes, and Computation. 3rd Edition. Addison Wesley, 2007.

Texto: Hopcroft, J. E., Motwani, R., Ullman, J.D., Introduction to Automata Theory, Languajes, and Computation. 3rd Edition. Addison Wesley, 2007. Universidad de Puerto Rico Recinto de Mayagüez Facultad de Artes y Ciencias DEPARTAMENTO DE CIENCIAS MATEMÁTICAS Programa de Autómata y Lenguajes Formales Curso: Autómata y Lenguajes Formales Codificación:

Más detalles

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

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45 Máquinas de Turing IIC3242 IIC3242 Máquinas de Turing 1 / 45 Complejidad Computacional Objetivo: Medir la complejidad computacional de un problema. Vale decir: Medir la cantidad de recursos computacionales

Más detalles

Paso 1: Autómata. A 1 sin estados inútiles, que reconoce el lenguaje denotado por a a* b*

Paso 1: Autómata. A 1 sin estados inútiles, que reconoce el lenguaje denotado por a a* b* UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS SEGUNDO CURSO, SEGUNDO CUATRIMESTRE TEORÍA DE AUTÓMATAS

Más detalles

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

Temas. Objetivo. Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2) Definir autómatas de pila. 0 Temas Definición de autómata de pila Autómata de pila determinístico y no determinístico Objetivo Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2)

Más detalles

Teoría de Autómatas y Lenguajes Formales. Laura M. Castro Souto

Teoría de Autómatas y Lenguajes Formales. Laura M. Castro Souto Teoría de Autómatas y Lenguajes Formales Laura M. Castro Souto Primer Cuatrimestre Curso 2000/2001 2 Índice de Tablas 3 4 ÍNDICE DE TABLAS Capítulo 0 Introducción En la asignatura de Teoría de Autómatas

Más detalles

13.3. MT para reconocer lenguajes

13.3. MT para reconocer lenguajes 13.3. MT para reconocer lenguajes Gramática equivalente a una MT Sea M=(Γ,Σ,,Q,q 0,f,F) una Máquina de Turing. L(M) es el lenguaje aceptado por la máquina M. A partir de M se puede crear una gramática

Más detalles

El Autómata con Pila: Transiciones

El Autómata con Pila: Transiciones El Autómata con Pila: Transiciones El Espacio de Configuraciones Universidad de Cantabria Esquema Introducción 1 Introducción 2 3 Transiciones Necesitamos ahora definir, paso por paso, como se comporta

Más detalles

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

No todos los LRs finitos se representan mejor con ERs. Observe el siguiente ejemplo: 1 Clase 3 SSL EXPRESIONES REGULARES Para REPRESENTAR a los Lenguajes Regulares. Se construyen utilizando los caracteres del alfabeto sobre el cual se define el lenguaje, el símbolo y operadores especiales.

Más detalles

Teoría de la Computabilidad

Teoría de la Computabilidad Teoría de la Computabilidad Módulo 7: Lenguajes sensibles al contexto 2016 Departamento de Cs. e Ing. de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina Es este programa en Pascal sintácticamente

Más detalles

Expresiones Regulares y Derivadas Formales

Expresiones Regulares y Derivadas Formales y Derivadas Formales Las Derivadas Sucesivas. Universidad de Cantabria Esquema 1 2 3 Derivadas Sucesivas Recordemos que los lenguajes de los prefijos dan información sobre los lenguajes. Derivadas Sucesivas

Más detalles

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

Teoría de Lenguajes. Clase Teórica 8 Propiedades de Lenguajes Independientes de Contexto y su Lema de Pumping Primer cuartimestre 2014 Teoría de Lenguajes Clase Teórica 8 Propiedades de Lenguajes Independientes de Contexto y su Lema de Pumping Primer cuartimestre 2014 Estas notas están basadas en el material compilado por el Profesor

Más detalles

Grupos libres. Presentaciones.

Grupos libres. Presentaciones. S _ Tema 12.- Grupos libres. Presentaciones. 12.1 Grupos libres. En el grupo Z de los enteros vimos una propiedad (cf. ejemplos.5), que lo caracteriza como grupo libre. Lo enunciamos al modo de una Propiedad

Más detalles

Problemas de Espacios Vectoriales

Problemas de Espacios Vectoriales Problemas de Espacios Vectoriales 1. Qué condiciones tiene que cumplir un súbconjunto no vacío de un espacio vectorial para que sea un subespacio vectorial de este? Pon un ejemplo. Sean E un espacio vectorial

Más detalles

Sumario: Teoría de Autómatas y Lenguajes Formales. Capítulo 2: Lenguajes Formales. Capítulo 2: Lenguajes Formales

Sumario: Teoría de Autómatas y Lenguajes Formales. Capítulo 2: Lenguajes Formales. Capítulo 2: Lenguajes Formales Teoría de Autómatas y Lenguajes Formales Capítulo 2: Lenguajes Formales Holger Billhardt holger.billhardt@urjc.es Sumario: Capítulo 2: Lenguajes Formales 1. Concepto de Lenguaje Formal 2. Operaciones sobre

Más detalles

Capítulo 7: Expresiones Regulares

Capítulo 7: Expresiones Regulares Capítulo 7: Expresiones Regulares 7.1. Concepto de expresión regular 7.1.1. Definición 7.1.2. Lenguaje descrito 7.1.3. Propiedades 7.2. Teoremas de equivalencia 7.2.1. Obtener un AFND a partir de una expresión

Más detalles

Propiedades de los Lenguajes Libres de Contexto

Propiedades de los Lenguajes Libres de Contexto Propiedades de los Lenguajes Libres de Contexto 15 de junio de 2015 15 de junio de 2015 1 / 1 Contenido 15 de junio de 2015 2 / 1 Introducción Introducción Simplificación de CFG s. Esto facilita la vida,

Más detalles

Tema 1: Matrices y Determinantes

Tema 1: Matrices y Determinantes Tema 1: Matrices y Determinantes September 14, 2009 1 Matrices Definición 11 Una matriz es un arreglo rectangular de números reales a 11 a 12 a 1m a 21 a 22 a 2m A = a n1 a n2 a nm Se dice que una matriz

Más detalles

Binary Decision Diagrams

Binary Decision Diagrams Rodríguez Blanco 2006-05-18 Introduccion Equivalencia Tablas de verdad eficientes Construcción de Equivalencia Tablas de verdad eficientes Equivalencia de dos fórmulas A 1 y A 2. Construir su tabla de

Más detalles

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

Numeración. Número Es la idea que tenemos sobre la cantidad de los elementos de la naturaleza. Numeración Denominamos Numeración al capítulo de la Aritmética que estudia la correcta formación, lectura y escritura de los números. Número Es la idea que tenemos sobre la cantidad de los elementos de

Más detalles

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

Matriz A = Se denomina MATRIZ a todo conjunto de números o expresiones dispuestos en forma rectangular, formando filas y columnas. MATRICES Matriz Se denomina MATRIZ a todo conjunto de números o expresiones dispuestos en forma rectangular, formando filas y columnas. a 11 a 12 a 1j a 1n a 21 a 22 a 2j a 2n A = a i1 a ij a in a m1 a

Más detalles

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

Matemáticas. ticas Discretas. Lenguajes y Gramáticas. Tenemos dos clases de lenguaje: Lenguaje Formal Matemáticas ticas Discretas y Gramáticas y Gramáticas Tenemos dos clases de lenguaje: Lenguaje Natural Lenguaje Formal Lenguaje Formal De acuerdo al diccionario Webster, un lenguaje es un cuerpo de palabras

Más detalles

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

ÁLGEBRA LINEAL I Algunas soluciones a la Práctica 3 ÁLGEBRA LINEAL I Algunas soluciones a la Práctica 3 Matrices y determinantes (Curso 2011 2012) 2. Sea A una matriz diagonal n n y supongamos que todos los elementos de su diagonal son distintos entre sí.

Más detalles

UNIDAD 4. Álgebra Booleana

UNIDAD 4. Álgebra Booleana UNIDAD 4 Álgebra Booleana ÁLGEBRA BOOLEANA El Álgebra Booleana se define como una retícula: Complementada: existe un elemento mínimo 0 y un elemento máximo I de tal forma que si a esta en la retícula,

Más detalles

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES UNIVERSIDAD FERMIN TORO VICE RECTORADO ACADEMICO UNIVERSIDAD FACULTAD DE INGENIERIA ESCUELA DE MANTENIMIENTO MECÁNICO ESCUELA DE TELECOMUNICACIONES ESCUELA DE ELÉCTRICA ESCUELA DE COMPUTACIÓN PROGRAMA

Más detalles

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

EXÁMENES DE REPASO Teoría de Autómatas y Lenguajes Formales UNIVERSIDAD FRANCISCO DE VITORIA EXÁMENES DE REPASO Teoría de Autómatas y Lenguajes Formales UNIVERSIDAD FRANCISCO DE VITORIA 1ER PARCIAL TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Examen parcial 12/02/2003 1.- Usa el lema de bombeo para

Más detalles

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

Una cadena sobre Σ es cualquier secuencia de elementos de longitud finita sobre Σ. Alfabetos, Cadenas y Lenguajes Definición 1 Un Alfabeto es cualquier conjunto finito, no vacío. Ejemplo 1 Sea Σ = {0, 1, 2, 3,..., 9} donde 0 Σ Definición 2 Una cadena sobre Σ es cualquier secuencia de

Más detalles

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

Autómatas Mínimos. Encontrar el autómata mínimo. Universidad de Cantabria. Introducción Minimización de Autómatas Deterministas Resultados Algoritmo Autómatas Mínimos Encontrar el autómata mínimo. Universidad de Cantabria Introducción Dado un lenguaje regular sabemos encontrar un autómata finito. Pero, hay autómatas más sencillos que aceptan el mismo

Más detalles

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

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42 Máquinas de Turing IIC3242 IIC3242 Máquinas de Turing 1 / 42 Complejidad Computacional Objetivo: Medir la complejidad computacional de un problema. Vale decir: Medir la cantidad de recursos computacionales

Más detalles

EJERCICIOS RESUELTOS DE MATRICES

EJERCICIOS RESUELTOS DE MATRICES EJERCICIOS RESUELTOS DE MATRICES. Dadas las matrices A - 3, B 0 - y C 3 -, calcular si es posible: a) A + B b) AC c) CB y C t B d) (A+B)C a) A + B - 3 + 0 - b) AC - 3 3 - +0 -+ 3+ +(-) 0 7 0.+(-).3+(-)(-).+(-)

Más detalles

Convertir un AFND a un AFD

Convertir un AFND a un AFD Convertir un AFND a un AFD Existe una equivalencia entre los AFD y AFN, de forma que un autómata M es equivalente a un autómata M' si L(M) ) L(M'). Ejemplo: Los autómatas de la siguiente figura son equivalentes.

Más detalles

Lenguajes, Gramáticas y Autómatas Conceptos

Lenguajes, Gramáticas y Autómatas Conceptos Lenguajes, Gramáticas y Autómatas Conceptos Departamento de Informática e Ingeniería de Sistemas C.P.S. Universidad de Zaragoza Última revisión: Febrero. 2004 11/02/2004 1 Índice Alfabetos, palabras y

Más detalles

Compiladores e Intérpretes

Compiladores e Intérpretes Compiladores e Intérpretes Coordinador: Prof. Ing. Pablo Pandolfo 1 Contenido: Lenguajes Formales. Gramáticas Formales. Lenguajes Regulares. Lenguajes Incontextuales. Maquina de Turing. Proceso de compilación

Más detalles

Matrices y determinantes. Sistemas de ecuaciones lineales

Matrices y determinantes. Sistemas de ecuaciones lineales Tema 0 Matrices y determinantes Sistemas de ecuaciones lineales 01 Introducción Definición 011 Se llama matriz a un conjunto ordenado de números, dispuestos en filas y columnas, formando un rectángulo

Más detalles

Autómatas finitos no deterministas (AFnD)

Autómatas finitos no deterministas (AFnD) Autómatas finitos no deterministas (AFnD) Elvira Mayordomo Universidad de Zaragoza 1 de octubre de 2012 Contenido de este tema Introducción y ejemplos de autómatas finitos no deterministas Definición de

Más detalles

Introducción a los códigos compresores

Introducción a los códigos compresores Introducción a los códigos compresores Parte I de la Lección 2, Compresores sin pérdidas, de CTI Ramiro Moreno Chiral Dpt. Matemàtica (UdL) Febrero de 2010 Ramiro Moreno (Matemàtica, UdL) Introducción

Más detalles

ESCUELA: UNIVERSIDAD DEL ISTMO

ESCUELA: UNIVERSIDAD DEL ISTMO 1.-IDENTIFICACIÓN ESCUELA: UNIVERSIDAD DEL ISTMO CLAVE: 3041 GRADO: ING. EN COMPUTACIÓN, CUARTO SEMESTRE TIPO DE TEÓRICA/PRÁCTICA ANTECEDENTE CURRICULAR: 3033.- OBJETIVO GENERAL Proporcionar al alumno

Más detalles

Estos apuntes se han sacado de la página de internet de vitutor con pequeñas modificaciones.

Estos apuntes se han sacado de la página de internet de vitutor con pequeñas modificaciones. TEMA 1: MATRICES Concepto de matriz Se denomina matriz a todo conjunto de números o expresiones ordenados en filas y columnas. Cada uno de los números de que consta la matriz se denomina elemento. Un elemento

Más detalles

Propiedades de los Lenguajes Libres de Contexto

Propiedades de los Lenguajes Libres de Contexto de los s de los Lenguajes Libres de Contexto INAOE (INAOE) 1 / 47 Contenido de los s 1 2 -ɛ 3 4 5 6 de los s (INAOE) 2 / 47 () de los s Queremos mostrar que todo (sin ɛ) se genera por una CFG donde todas

Más detalles

Dos matrices son iguales cuando tienen la misma dimensión y los elementos que ocupan el mismo lugar en ambas son iguales

Dos matrices son iguales cuando tienen la misma dimensión y los elementos que ocupan el mismo lugar en ambas son iguales Introducción Las matrices aparecen por primera vez hacia el año 1850, introducidas por J.J. Sylvester. El desarrollo inicial de la teoría se debe al matemático W.R. Hamilton en 1853. En 1858, A. Cayley

Más detalles

Procesadores de Lenguaje

Procesadores de Lenguaje Procesadores de Lenguaje Analizadores LALR Cris%na Tirnauca Domingo Gómez Pérez DPTO. DE MATEMÁTICAS, ESTADÍSTICA Y COMPUTACIÓN Este tema se publica bajo Licencia: CreaIve Commons BY NC SA 3.0 El Analizador

Más detalles

Teoría de Autómatas y Lenguajes Formales.

Teoría de Autómatas y Lenguajes Formales. Teoría de Autómatas y Lenguajes Formales Prácticas Introducción a JFLAP Autores: Araceli Sanchis de Miguel Agapito Ledezma Espino Jose A. Iglesias Martínez Beatriz García Jiménez Juan Manuel Alonso Weber

Más detalles

Conjunto R 3 y operaciones lineales en R 3

Conjunto R 3 y operaciones lineales en R 3 Conjunto R 3 y operaciones lineales en R 3 Objetivos. Definir el conjunto R 3 y operaciones lineales en R 3. Requisitos. Conjunto de los números reales R, propiedades de las operaciones aritméticas en

Más detalles

Teoría de Autómatas y Lenguajes Formales.

Teoría de Autómatas y Lenguajes Formales. Teoría de Autómatas y Lenguajes Formales Ejercicios de Lenguajes Regulares Autores: Araceli Sanchis de Miguel Agapito Ledezma Espino Jose A. Iglesias Martínez Beatriz García Jiménez Juan Manuel Alonso

Más detalles

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

TEMA 1. MATRICES, DETERMINANTES Y APLICACIÓN DE LOS DETERMINANTES. CONCEPTO DE MATRIZ. LA MATRIZ COMO EXPRESIÓN DE TABLAS Y GRAFOS. TEMA 1. MATRICES, DETERMINANTES Y APLICACIÓN DE LOS DETERMINANTES. 1. MATRICES. CONCEPTO DE MATRIZ. LA MATRIZ COMO EXPRESIÓN DE TABLAS Y GRAFOS. DEFINICIÓN: Las matrices son tablas numéricas rectangulares

Más detalles

El Juego como Problema de Búsqueda

El Juego como Problema de Búsqueda El Juego como Problema de Búsqueda En este algoritmo identificamos dos jugadores: max y min. El objetivo es encontrar la mejor movida para max. Supondremos que max mueve inicialmente y que luego se turnan

Más detalles

Análisis y síntesis de circuitos con elementos de memoria. Proceso de Análisis y síntesis de circuitos con elementos de memoria

Análisis y síntesis de circuitos con elementos de memoria. Proceso de Análisis y síntesis de circuitos con elementos de memoria Proceso de Reducción de tablas de estado Obtención de pares compatibles mediante la carta de implicación Obtención del conjunto compatible máximo Reducción de tablas de estado en circuitos con inespecificaciones.

Más detalles

Tema 3. Análisis sintáctico descendente

Tema 3. Análisis sintáctico descendente Departamento de Tecnologías de la Información Tema 3 Análisis sintáctico Ciencias de la Computación e Inteligencia Artificial Índice 3.1 Características del análisis sintáctico 3.2 Gramáticas libres de

Más detalles

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

Teoría de Lenguajes. Teoría de la Programación I Teoría de Lenguajes Soluciones Consideraciones generales i) Escriba nombre y C.I. en todas las hojas. ii) Numere todas las hojas. iii) En la primera hoja indique el total de hojas. iv) Comience cada ejercicio

Más detalles

Máquinas Secuenciales, Autómatas y Lenguajes Formales. Tema 4: Autómatas finitos deterministas. Holger Billhardt holger.billhardt@urjc.

Máquinas Secuenciales, Autómatas y Lenguajes Formales. Tema 4: Autómatas finitos deterministas. Holger Billhardt holger.billhardt@urjc. Formales Tema 4: Autómatas finitos deterministas Holger Billhardt holger.billhardt@urjc.es Sumario: Bloque 2: Autómatas Finitos 4. Autómatas Finitos Deterministas 1. Concepto y Definición 2. Autómata finito

Más detalles

Tema 2. Fundamentos de la Teoría de Lenguajes Formales

Tema 2. Fundamentos de la Teoría de Lenguajes Formales Departamento de Tecnologías de la Información Tema 2. Fundamentos de la Teoría de Lenguajes Formales Ciencias de la Computación e Inteligencia Artificial Índice 2.1. Alfabeto 2.2. Palabra 2.3. Operaciones

Más detalles

Estructuras Algebraicas

Estructuras Algebraicas Tema 1 Estructuras Algebraicas Definición 1 Sea A un conjunto no vacío Una operación binaria (u operación interna) en A es una aplicación : A A A Es decir, tenemos una regla que a cada par de elementos

Más detalles

8.1 Indecibilidad 8.5 Indecibilidad en el problema de la correspondencia de Post

8.1 Indecibilidad 8.5 Indecibilidad en el problema de la correspondencia de Post 1 Curso Básico de Computación 8.1 Indecibilidad 8.5 Indecibilidad en el problema de la correspondencia de Post Los problemas indecidibles aparecen en varias áreas. En las próximas tres secciones se analizarán

Más detalles

TEMA 5 GRAMÁTICAS Y SINTAXIS

TEMA 5 GRAMÁTICAS Y SINTAXIS TEMA 5 GRAMÁTICAS Y SINTAXIS 5.1 Gramáticas independientes del contexto Una gramática es un mecanismo generador de palabras obtenidas en un proceso de derivación. El proceso de derivación en una gramática

Más detalles

Álgebra Booleana y Simplificación Lógica

Álgebra Booleana y Simplificación Lógica Álgebra Booleana y Simplificación Lógica M. en C. Erika Vilches Parte 2 Simplificación utilizando Álgebra Booleana Simplificar la expresión AB + A(B + C) + B(B + C) 1. Aplicar la ley distributiva al segundo

Más detalles