Sistemas de Reescritura Cristóbal Domínguez González Jorge García de la Nava Ruiz Michel Piliougine Rocha Miguel Ángel Rico Blanco
|
|
- Luz Cordero Vega
- hace 5 años
- Vistas:
Transcripción
1 Sistemas de Reescritura Cristóbal Domínguez González Jorge García de la Nava Ruiz Michel Piliougine Rocha Miguel Ángel Rico Blanco 13 de Marzo del 2001 PROGRAMACIÓN DECLARATIVA II
2 Introducción Comenzamos con conceptos ya estudiados anteriormente. Entre estos conceptos tenemos los siguientes: -Ecuaciones matemáticas -Haskell -Prolog -lambda-calculo -Maquina de Turing Para las ecuaciones matemáticas lo que nos interesa es ver como se aplica la igualdad para reducir expresiones complejas en otras mas simples para realizar un computo. La utilización de estas igualdades es muy ambigua, no sabemos que ecuación aplicar ni sobre que expresión, ni en que orden... De modo que un humano puede hacerlo de manera intuitiva, pero un computador no tiene esta habilidad. El caso de Haskell plantea, frente a las ecuaciones, una simplificación importante: la unidireccionalidad de sus reglas. Aunque no elimina otros problemas como la elección de la subexpresión o el de elección de la regla a aplicar. Cambia el resultado final según el orden de aplicación la regla? y según la subexpresión? Con Prolog tenemos dos variantes sobre los apartados anteriores: la unificación, que es una sustitución en ambos sentidos y el backtracking, que permite calcular distintos resultados para una misma expresión. Si se prohíbe la unificación y el backtracking, tenemos un sistema de reescritura puro. Si permiten, no obtenemos un sistema de reescritura puro, sino que habría que incluir elementos extras que simulen estas características. El lambda-calculo es un sistema particular de reescritura y ya se ha estudiado en esta asignatura. Este documento generaliza muchos de los resultados del lambda-calculo y, en cierta manera, justificarlos en una teoría mas amplia y abstracta. Dado que el lambda-calculo es un modelo de computación, cualquier otro modelo de computación será equivalente. En particular las maquinas de Turing, en las cuales si tomamos como expresión su configuración obtenemos un sistemas de reescritura de configuraciones basado en la tabla de estados de la maquina, que harían la función de reglas. Esto es extensible a el caso determinista e indeterminista ya que son equivalentes. Como caso particular de un modelo de computación tenemos la ejecución de un programa en un computador real, que podría ser visto como un sistema de reescritura del contenido de la memoria. Finalizando, un sistema de escritura, desde el punto de vista mas abstracto, puede ser visto como un grupo de relaciones (reglas) sobre un conjunto. Dependiendo de estas reglas y de este conjunto tendremos sistemas de reescritura particulares.
3 Sistemas abstractos de reescritura, propiedades y relaciones entre ellas. Definición Sea un Sistema Abstracto de Reescritura definido de la forma siguiente = (A,( R1, R2, Rn)), donde A es un conjunto sobre el que se dan la relaciones de reescritura o reducción R1, R2,.. Rn Supongamos definida sobre A la relación de igualdad = como nosotros la conocemos, en ambos sentidos. Usaremos la siguiente notación. R = R * = -1 = (Inversa) + (Cierre Transitivo) = (Cierre Reflexivo) = R según la relación R (relación de convertibilidad) Veamos que = R es de equivalencia dada la siguiente definición: a R b a = R b (Definición y Simétrica) a = R b b = R a (Reflexiva) a = R b b = R c a = R c (Transitiva) OTRAS DEFINICIONES. â es forma normal b : b A : â b. b A tiene forma normal â : â A : b â y â es esa forma normal. Usaremos la notación â para indicar que a es forma normal. Débilmente Normalizante WN( ). b : b A : â : â A : â b Notas: b puede no ser unica puede que no todos los caminos lleguen hasta b Fuertemente Normalizante SN( ) Es WN Terminación Únicamente Normalizante UN( R ) â, ê : â, ê A : â= R ê â=ê Inductividad Ind( ) Sea una cadena infinita de la forma a b c, entonces se da que a ς, b ς, c ς,
4 Incremental Inc( ) f : f:a N : a, b : a, b A : a b f(a)<f(b) Notas. N es el conjunto de los naturales Esta propiedad refleja que un elemento al que se llega por una relación tendrá un numero asociado mayor que los anteriores, y por tanto las formas normales de una cadena de elementos relacionados tendrán un numero asignado mayor que cualquiera de sus antecedentes. Confluencia Débil WCR( ) a, b, c : a, b, c A : c a b d : d A : c d b Confluencia CR( ) a, b, c : a, b, c A : c a b d : d A : c d b Subconmutativa WCR 1 ( ) a, b, c : a, b, c A : c a b d : d A : c = d = b Confluencia por Equivalencia CEq( R ) a, b : a, b A : a= R b c : c A : a = c = b RELACIÓN ENTRE PROPIEDADES. CR( ) WCR( ) WCR 1 ( ) CEq( ) GRAFO CONLA RELACIÓN ENTRE PROPIEDADES Según un teorema tenemos las siguientes relaciones entre propiedades que se representarán mediante un grafo: CR UN SN WCR CR ( lema de Newman ) UN WN CR UN WN Ind Ind Inc SN WCR WN Inc SN WCR CR WCR WCR 1 CR
5 Sistemas de reescritura de términos. Sistemas ortogonales y propiedades. Estrategias de reducción. Definición Sea un sistema de reescritura de términos definido de la forma siguiente = (Σ, ( R1, R2, Rn)), donde Σ es un alfabeto de términos formado por: Σ V = Alfabeto de variables (x, y, z ) Σ F = Alfabeto de funtores (F, G, H ) cada uno con una aridad dada. Σ = Alfabeto de puntuación ( (,,, ) ) Y i son reglas formadas por un par de términos ( s t ) Se define el conjunto de los términos sobre Σ, llamado Ter(Σ), de la siguiente forma: Σ V Ter(Σ) T 1,, T n Ter(Σ) F Σ F con aridad n F(T 1,, T n ) Ter(Σ) Este conjunto Ter(Σ) es el conjunto A de un sistema de reescritura abstracto, pero para definir las relaciones de reescritura hay que definir dos operaciones sobre Ter(Σ): Sobre el conjunto Ter(Σ) se definen dos operaciones: Sustitución y Contexto. Una sustitución es una aplicación σ : Ter(Σ) Ter(Σ) que cumple las siguientes propiedades: σ(x) Ter(Σ) donde x Σ V σ(f(t 1,,T n )) = F(σ(T 1 ),,σ(t n )) donde F Σ F con aridad n y T 1,,T n Ter(Σ) Un contexto C[ ] es un término donde hay una variable especial, llamada hueco y representada por, que ocurre sólo una vez en él. Entonces, dado un término T Ter(Σ), C[T] = σ( C[ ] ) siendo σ una sustitución tal que σ( ) = T, es decir, se sustituye el hueco por el término. σ(x) = x si x Σ V y x no es el hueco Ahora estamos en condiciones de definir las relaciones i del sistema de reescritura abstracto a partir de las reglas i del sistema de reescritura de términos. C[ ], σ : C[ ] contexto y σ sustitución : S i T C[σ(S)] i C[σ(T)] Al subtérmino σ(s) se le llama expresión reducible (redex). Así pues, se construye un sistema abstracto de reescritura a partir de un sistema de reescritura de términos y se pueden analizar todas las propiedades. Sin embargo, se pueden garantizar ciertas propiedades si se construye un sistema de reescritura de términos especial. Sistemas ortogonales de escritura de términos Un sistema ortogonal es un sistema de reescritura de términos donde dado cualquier término T de Ter(Σ), no hay en él un funtor implicado en dos redex distintos. Equivalentemente se puede decir que los redex del sistema no se solapan. Un ejemplo de sistema no ortogonal sería:
6 L(L(x)) x Ya que con el término L(L(L(A))) se podrían reducir las dos L s externas o las dos internas, estando la L intermedia implicada en las dos reducciones. Otro ejemplo de sistema no ortogonal sería: OR(x,y) x OR(x,y) y Ya que con la expresión OR(A,B) se podría aplicar la regla primera o la segunda utilizando el mismo funtor OR. Un sistema ortogonal es: SUMA(0,x) x SUMA(S(y),x) S(SUMA(y,x)) Ya que no existe ningún primer argumento que satisfaga que es 0 y que es S(x). Para ver si un sistema es ortogonal basta comprobar que no haya un antecedente unificable con un subtérmino (no variable) de otro antecedente (o del mismo, siendo subtérmino propio) y que cada variable no aparezca más de una vez en cada antecedente (reglas lineales por la izquierda o en los antecedentes). En L(L(x)) x puedo unificar el antecedente L(L(x)) con el subtérmino propio del mismo L(x) haciendo x=l(x) en el segundo. En OR(x,y) no hace falta ni renombrar variables ya que el antecedente de la primera regla es igual al antecedente de la segunda, es igual pero no el mismo (están en distintas reglas). Propiedades de los sistemas ortogonales Hay una importante propiedad: Todos los sistemas ortogonales son confluentes. Otra propiedad es: Si en cada regla las mismas variables ocurren en antecedente y en consecuente, decimos que es un sistema no borrador, ocurre que WN SN. Si en un sistema ortogonal siempre se puede encontrar una forma normal mediante el orden de evaluación aplicativo (más interior), entonces es SN y viceversa. Estrategias de reducción en los sistemas ortogonales Tenemos cinco estrategias principales según los redex que vayamos a reducir: Más a la izquierda, más interior (aplicativo) Todos los interiores Más a la izquierda, más exterior ( En general no es normal!) Todos los exteriores (normal) Todos (sólo válida en sistemas ortogonales donde no se solapan los redex). Se llama reducción de Kleene o de Gross Knuth. Además de normal es cofinal (una condición más fuerte: encuentra la forma normal por el mejor camino) La reducción más a la izquierda, más exterior es normal en los sistemas ortogonales normales por la izquierda. En estos sistemas no hay constantes ni funtores a la derecha de una variable.
7 Técnicas para estudiar la terminación. Método de Dershowitz La propiedad SN (de terminación) es deseable, entre otras razones porque si se cumple a la par que WCR, tenemos también que se cumple CR ( por el lema de Newman ). Pero el determinar si un sistema de reescritura de términos genera o no derivaciones infinitas es un problema indecidible. Pero bajo ciertas condiciones son aplicables técnicas que resuelven dicho problema. Una de ellas el método de Dershowitz, que está basado en el teorema de Kruskal. Definición Sea un conjunto de árboles finitos y conmutativos, cuyos nodos están etiquetados con números naturales. Sea * otro conjunto de árboles finitos y conmutativos, con nodos etiquetados también con números naturales, con la salvedad de que algunos de estos nodos pueden estar macados con un asterisco ( * ). Es fácil entender *. Definición Definamos sobre * la relación de reducción como: Siendo n,m naturales y t i cualquier árbol, 1. n (t 1,t 2,...,t n ) n * (t 1,t 2,...,t n ) 2. Si n>m, n * (t 1,t 2,...,t n ) m(n * (t 1,t 2,...,t n ),n * (t 1,t 2,...,t n ),...,n * (t 1,t 2,...,t n )) 3. n * (m,t 1,...,t n ) n(m *, m *,...,m * 1,t 1,...,t n ), donde m * aparece repetida j veces con j n * (t 1, t 2,...,t n ) t i donde i {1,...,n} con n 1. Es fácil ver que la relación no cumple SN en *. Pero por el contrario... Teorema La relación +, restringida a cumple SN. Esto significa que no existe ninguna secuencia infinita t 0 + t 1 + t siendo los t i árboles sin marcas. Método de Dershowitz Sea R un sistema de reescritura de términos. Primero tenemos que asignar un peso a cada uno de los funtores que intervienen en las reglas (de lo afortunada que sea esta asignación dependerá el éxito del método). Si sustituimos los nodos por sus pesos, cada antecedente de las reglas del sistema será un elemento de ( idem para cada consecuente). Luego, regla por regla, trataremos de reducir el antecedente de la misma hasta el consecuente que le corresponda usando exclusivamente +. Si esto es posible para cada regla habremos demostrado que cada una de ellas es un caso particular de +, y como + es SN cuando nos restringimos a, nuestro TRS también será SN. Ejemplo: x x Sea R un TRS de como el de la figura ( x y ) ( x y ) Primero asignamos pesos: 1 a, 2 a, 3 a. Y ahora... ( x y ) ( x y ) x (y z) (x y) (x z) Para la primera regla : 3(3(t)) 3*(3(t)) 3(t) 3*(t) t, luego 3(3(t)) + (y z) x (y x) (z x) t Para la segunda regla: 3(1(t,s)) 3*(1(t,s)) 2(3*(1(t,s)), 3*(1(t,s))) 2(3(1*(t,s)), 3(1*(t,s))) 2(3(t), 3(s)), luego 3(1(t,s)) + 2(3(t), 3(s)) Se procede análogamente para el resto de las reglas. Transformación de sistemas ecuacionales en TRS s Dado un conjunto de ecuaciones de la forma f 1 = g 1, f 2 = g 2, f 3 = g 3,..., f n = g n, sería interesante obtener a partir de él un sistema de reescritura, tal que, la convertibilidad inducida por el sistema de reescritura equivalga al concepto de igualdad que se quiere capturar con dicho
8 sistema de ecuaciones. En un principio se podría, por cada ecuación de la forma f i = g i, obtener una regla, que podría ser bien f i g i, o bien g i f i. Cuál de las dos reglas posibles incorporamos a nuestro TRS? A veces las mismas condiciones sintácticas que los TRS s imponen a sus reglas descartan una de las opciones ( siendo la otra opción la adecuada ). Pero otras veces no está claro el sentido de la reducción. La elección está en nuestras manos y determinará las propiedades del sistema de reescritura que obtengamos. Definición: Par Crítico Sea R un TRS, y sean α β y γ δ dos reglas de R tal que α es unificable con un subtérmino no-variable de γ. Sea σ el unificador más general de ambos y sea t un término tal que σ(t) σ(α). Entonces el término σ(γ) sería de la forma σ(c[t]) puede reducirse de dos maneras distintas, usando la primera regla, o bien usando la segunda. Dando dos posibles reducciones, por un lado C[σ(β)] y por otro σ(δ). A este par de valores <C[σ(β)],σ(δ)> se le llama par crítico. La confluencia del sistema dependerá de la capacidad de reducción de ambos términos a uno común. Un par crítico va asociado a lo que en apartados anteriores llamábamos solapamiento de reglas Definición: Convergencia De un par crítico <s,t > se dice que es convergente en un TRS (y se escribe s t ) si es posible una reducción a un término común. Lema del par crítico: Sea R un TRS, WCR(R) ( <s, t> : par crítico de R : s t ) Corolario: Sea R un TRS, tal que SN(R). Entonces: CR(R) ( <s, t> : par crítico de R : s t ) Definición: Orden de reducción Un orden de reducción > es un orden parcial sobre los el conjunto de términos que cumple: s > t σ(s) > σ(t) s > t C[s] > C[t] Algoritmo de Knuth-Bendix ( para un orden de reducción prefijado ) Sea el E el conjunto de ecuaciones y sea R el cojunto de reglas. R:=Ø; mientras E tenga elementos seleccionar una ecuación s=t de E reducir s ˉs y t ˉt si ˉs ˉt entonces E:= E { s=t } en otro caso si (ˉs > ˉt) entonces α := ˉs ; β := ˉt en caso de que ˉs > ˉt β := ˉs ; α := ˉt en otro caso fracaso fin_si fin_si fin_mientras CP:={ P=Q <P,Q> es un par crítico, entre las reglas de R y α β } R:=R {α β} E:=E (CP-[s=t ])
9 Epílogo Con los conocimientos teóricos recién adquiridos, podemos volver a los ejemplos mencionados en la introducción para llegar a interesantes conclusiones. Hemos visto un algoritmo para transformar ecuaciones matemáticas en reglas de reescritura. Dicho algoritmo no es determinista y no funciona en todos los casos, pero a cambio los sistemas de reescritura generados son ortogonales y por tanto consistentes (si hay dos formas normales distintas). Haskell es un sistema casi ortogonal, ya que aunque el sistema permite definir dos reglas que se solapen, solo la primera que aparezca en el código será la efectiva, de manera que no se pueden aplicar las dos a la vez y no se pueden producir pares críticos. Esto hace que Haskell sea un sistema confluente y por tanto consistente. Por otro lado, esto no implica que Haskell tenga terminación asegurada. Como ya se dijo, Prolog es muy distinto a los dos casos anteriores aun asi se pueden llegar a algunas conclusiones. Por ejemplo, si dos reglas se solapan (si las dos se pueden aplicar sobre un mismo redes) el Prolog introduce un Choice-Point, de manera que nunca se van aplicar dos reglas en una misma rama. Siendo cada rama ortogonal y por lo tanto consistente. Por otro lado, gracias al backtracking tenemos varias formas normales, y cada una de ellas será un resultado de la computación. El lambda-calculo ya ha sido estudiado, pero podemos destacar el teorema de Church- Rosser que dice que es confluente y por tanto si tiene dos formas normales distintas (que las tiene, basta tomar dos variables distintas) es consistente.
Introducción al Lambda Cálculo (C)
Introducción al Lambda Cálculo (C) Francisco Rafael Yépez Pino Programación Declarativa Avanzada Introducción al -Cálculo: 1. δ-reducciones y -reducciones 1.1. Teorías 1.2. Eta-conversión y extensionalidad
Más detallesTeorema de incompletitud de Gödel
Teorema de incompletitud de Gödel Theorem (Gödel) Th(N) es una teoría indecidible. IIC2213 Teorías 79 / 109 Teorema de incompletitud de Gödel Theorem (Gödel) Th(N) es una teoría indecidible. Corolario
Más detallesDescripción de los Lenguajes Aceptados por Autómatas
Descripción de los Lenguajes Aceptados por Autómatas Los Teoremas de Kleene Universidad de Cantabria Esquema 1 2 3 Lenguajes Aceptados por Autómatas Como repaso, tenemos un problema de respuesta Si/No
Más detallesTema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I
Tema 4: Gramáticas independientes del contexto Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación.
Más detallesContenido. Prólogo... Prólogo a la edición en español Argumentos y proposiciones lógicas Introducción
CONTENIDO vii Contenido Prólogo... Prólogo a la edición en español... XVIl XXI 1 Cálculo proposicional... 1 1.1 Argumentos y proposiciones lógicas 1.1.1 Introducción 1 1 1.1.2 Algunos argumentos lógicos
Más detallesMá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 detallesLenguajes funcionales: λ-cálculo
Lenguajes funcionales: λ-cálculo λ-cálculo (Church 1933) Cálculo para el estudio formal del comportamiento de las funciones Sintaxis: λ expresiones Reglas de reducción de λ expresiones Método matemático
Más detallesInformática Haskell Matemáticas Curso Pepe Gallardo Universidad de Málaga. Temario
Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Temario 1 Introducción y semántica operacional 2 Tipos predefinidos 3 Patrones y Definiciones de Funciones 4 Funciones
Más detallesDefinición 1 Un semigrupo es un conjunto E provisto de una operación binaria asociativa sobre E, se denota por (E, ).
ALGEBRA La primera parte del presente libro está dedicada a las estructuras algebraicas. En esta parte vamos a iniciar agregándole a los conjuntos operaciones. Cuando las operaciones tienen determinadas
Más detallesJerarquía de Chomsky. 1. Clasificación de gramáticas. 2. Clasificación de lenguajes. 3. Gramáticas regulares. 5. Gramáticas dependientes del contexto
Jerarquía de Chomsky 1. Clasificación de gramáticas 2. Clasificación de lenguajes 3. Gramáticas regulares 4. Gramáticas independientes del contexto 5. Gramáticas dependientes del contexto 6. Gramáticas
Más detallesPARADIGMAS DE PROGRAMACIÓN CALCULO LAMBDA CALCULO LAMBDA
PARADIGMAS DE PROGRAMACIÓN 2006 CALCULO LAMBDA CALCULO LAMBDA El cálculo lambda fue desarrollado por Alonso Church en la década del 30 con el objeto de dar una teoría general de las funciones. El cálculo
Más detallesMáquinas de Turing Definición y descripción
Capítulo 12 Máquinas de Turing 12.1. Definición y descripción Definición 1 Se llama máquina de Turing a toda séptupla M = (Γ,Σ,,Q,q 0,f,F), donde: Γ es el alfabeto de símbolos de la cinta. Σ Γ es el alfabeto
Más detallesLenguajes Incontextuales
Tema 5: Gramáticas Formales Lenguajes Incontextuales Departamento de Sistemas Informáticos y Computación http://www.dsic.upv.es p.1/31 Tema 5: Gramáticas Formales Gramáticas. Tipos de Gramáticas. Jerarquía
Más detallesTÍTULO: MATEMÁTICA DISCRETA Y LÓGICA Disponibilidad
TÍTULO: MATEMÁTICA DISCRETA Y LÓGICA Disponibilidad Calculo proposicional 1 Argumentos y proposiciones lógicas 1 Algunos argumentos lógicos importantes 2 Proposiciones 4 Conexiones lógicas 5 Negación (tabla)
Más detallesTeorí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 detallesTIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY
TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY Para el estudio de este tema es necesario analizar dos tipos de gramáticas de la clasificación de Chomsky, las regulares y las independientes de contexto, las
Más detallesExpresiones Regulares y Gramáticas Regulares
y Gramáticas Regulares Sistemas Lineales. Universidad de Cantabria Esquema Idea 1 Idea 2 3 Problema Idea Nos preguntamos si las expresiones regulares generan los mismos lenguajes que las gramáticas regulares.
Más detallesProcesadores 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 detallesIntroducción a la Lógica y la Computación
Introducción a la Lógica y la Computación Parte III: Lenguajes y Autómatas Clase del 4 de Noviembre de 2015 Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 1/21 Lenguajes Formales
Más detallesGramáticas independientes del contexto TEORÍA DE LA COMPUTACIÓN LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I
Gramáticas independientes del contexto TEORÍ DE L COMPUTCIÓN 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 detallesConjuntos. 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 detallesLa lógica de segundo orden: Sintaxis
La lógica de segundo orden: Sintaxis Dado: Vocabulario L Definición La lógica de segundo orden (LSO) sobre L es definida como la extensión de LPO que incluye las siguientes reglas: Si t 1,..., t k son
Más detallesMáquinas de Turing. Complexity D.Moshkovitz
Máquinas de Turing 1 Motivación Nuestra meta, en este curso, es analizar problemas y clasificarlos de acuerdo a su complejidad. 2 Motivación Nos hacemos preguntas como: Cuánto tiempo tarda en computarse
Más detallesTeorema de Lagrange. En esta sección demostramos algunos hechos básicos sobre grupos, que se pueden deducir de la definición
Teorema de Lagrange Capítulo 3 3.1 Introducción En este capítulo estudiaremos uno de los teoremas más importantes de toda la teoría de grupos como lo es el Teorema de Lagrange. Daremos en primer lugar
Más detallesb) Sea una relación de equivalencia en A y una operación en A. Decimos que y son compatibles si a b a c b c y c a c b para todo a, b, c A
APENDICE Relaciones y Operaciones Compatibles 1 Definición: a) Sea A un conjunto y una relación entre elementos de A. Decimos que es una relación de equivalencia si es: i Reflexiva: a A, a a. ii Simétrica:
Más detallesDepartamento de Tecnologías de la Información. Tema 5. Decidibilidad. Ciencias de la Computación e Inteligencia Artificial
Departamento de Tecnologías de la Información Tema 5 Decidibilidad Ciencias de la Computación e Inteligencia Artificial Índice 5.1 Lenguajes reconocibles y decidibles 5.2 Problemas decidibles sobre lenguajes
Más detallesIntroducción a la Lógica y la Computación
Introducción a la Lógica y la Computación Parte III: Lenguajes y Autómatas Clase del 7 de Noviembre de 2014 Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 1/20 Lenguajes Formales
Más detallesCiencias de la Computación I
Ciencias de la Computación I Gramáticas Libres del Contexto y Lenguajes Libres del Contexto Gramáticas Formales Una gramática formal es una cuadrupla G = (N, T, P, S) N = conjunto finito de símbolos no
Más detallesHacia las Gramáticas Propias
Hacia las Gramáticas sin Ciclos Universidad de Cantabria Esquema 1 Introducción 2 3 Introducción Las gramáticas libres de contexto pueden presentar diferentes problemas. Ya hemos visto como eliminar los
Más detallesDepartamento de Ingeniería Matemática - Universidad de Chile
Ingeniería Matemática FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS UNIVERSIDAD DE CHILE Álgebra Lineal 08-2 SEMANA 7: ESPACIOS VECTORIALES 3.5. Generadores de un espacio vectorial Sea V un espacio vectorial
Más detallesTema 2: Métodos de Deducción para la Lógica Proposicional
Tema 2: Métodos de Deducción para la Lógica Proposicional Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica y Computabilidad Curso 2006 07 LC, 2006 07 Métodos de Deducción
Más detallesSea V un conjunto no vacío (cuyos elementos se llamarán vectores) y sea K un cuerpo (cuyos elementos se llamarán escalares).
Capítulo 6 Espacios Vectoriales 6.1 Definiciones Sea V un conjunto no vacío (cuyos elementos se llamarán vectores) y sea K un cuerpo (cuyos elementos se llamarán escalares). Definición 6.1.1 Se dice que
Más detalles10. Series de potencias
FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS UNIVERSIDAD DE CHILE Cálculo Diferencial e Integral 7-2 Basado en el apunte del curso Cálculo (2do semestre), de Roberto Cominetti, Martín Matamala y Jorge San
Más detallesLógica proposicional: Lectura única
Lógica proposicional: Lectura única Una fórmula ϕ es atómica si ϕ = p, donde p P. Una fórmula ϕ es compuesta si no es atómica. - Si ϕ = ( α), entonces es un conectivo primario de ϕ y α es una subfórmula
Más detallesLa Ambigüedad en el Parsing
La en el Parsing Definición y Ejemplos Universidad de Cantabria Outline El Problema 1 El Problema 2 3 El Problema En nuestra busqueda por encontrar la estructura exploraremos como elegir una derivación
Más detallesComplejidad Computacional
Análisis y Complejidad de Algoritmos Complejidad Computacional Arturo Díaz Pérez Lenguajes formales Gramáticas formales Jerarquía de Chomski Teoría de la complejidad Una desigualdad computacional Computabilidad
Más detallesMétodos de Inteligencia Artificial
Métodos de Inteligencia Artificial L. Enrique Sucar (INAOE) esucar@inaoep.mx ccc.inaoep.mx/esucar Tecnologías de Información UPAEP Contenido Lógica proposicional Lógica de predicados Inferencia en lógica
Más detallesMODELOS 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 detallesIntroducción a la complejidad computacional
Introducción a la complejidad computacional definida sobre anillos arbitrarios 18 de junio de 2016 Fuente: http://www.utmmcss.com/ Por qué otro modelo? Continuo vs discreto. Intuición interiorizada del
Más detallesIntroducción a la indecidibilidad
Introducción a la indecidibilidad José M. empere Departamento de istemas Informáticos y Computación Universidad Politécnica de Valencia Lenguajes y problemas Un problema será considerado cualquier cuestión
Más detallesComputabilidad y Lenguajes Formales: Teoría de la Computabilidad: Máquinas de Turing
300CIG007 Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Máquinas de Turing Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Máquina
Más detallesMá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 detallesRelaciones IIC1253. IIC1253 Relaciones 1 / 32
Relaciones IIC1253 IIC1253 Relaciones 1 / 32 Relaciones binarias Dado: conjunto A R es una relación binaria sobre A si R A A. Para indicar que a,b A están relacionados a través de R usamos las notaciones:
Más detallesPropiedades de lenguajes independientes del contexto
Capítulo 12. Propiedades de lenguajes independientes del contexto 12.1. Identificación de lenguajes independientes del contexto Lema de bombeo. 12.2. Propiedades Cierre, Complemento de lenguajes, Sustitución,
Más detallesDescomposición del valor singular y sus aplicaciones
7 Descomposición del valor singular y sus aplicaciones Marlene J. Soldevilla Olivares William C. Echegaray Castillo Resumen El presente trabajo damos algunas propiedades de los valores singulares de una
Más detallesTema 2: Métodos de Deducción para la Lógica Proposicional
Tema 2: Métodos de Deducción para la Lógica Proposicional Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica y Computabilidad Curso 2010 11 LC, 2010 11 Métodos de Deducción
Más detallesIntroducción a la Complejidad Computacional
Introducción a la Complejidad Computacional El análisis sobre decidibilidad que hemos hecho nos permite saber qué podemos hacer y qué no podemos hacer. Pero nada sabemos de qué tan difícil resolver los
Más detallesCurso: Teoría de la Computación. Unidad 2, Sesión 7: Complejidad computacional
Curso: Teoría de la Computación. Unidad 2, Sesión 7: Complejidad computacional Instituto de Computación, Facultad de Ingeniería Universidad de la República, Montevideo, Uruguay dictado semestre 2-2009
Más detallesEl indeterminismo en programación lógico-funcional: un enfoque basado en reescritura 1
El indeterminismo en programación lógico-funcional: un enfoque basado en reescritura 1 Trabajo de investigación Autor: Directores: Juan Rodríguez Hortalá Francisco J. López Fraguas Jaime Sánchez Hernández
Más detallesMetodología de Programación I Corte y Aritmética
Metodología de Programación I Corte y Aritmética Dr. Alejandro Guerra-Hernández Departamento de Inteligencia Artificial Facultad de Física e Inteligencia Artificial aguerra@uv.mx http://www.uv.mx/aguerra
Más detallesProgramación Internet con Lenguajes Declarativos Multiparadigma. PARTE I: Fundamentos
Curso de Doctorado: Programación Internet con Lenguajes Declarativos Multiparadigma. PARTE I: Fundamentos Pascual Julián Iranzo Pascual.Julian@uclm.es Universidad de Castilla La Mancha. Departamento de
Más detallesLógica de primer orden: Repaso y notación
Lógica de primer orden: Repaso y notación IIC3263 IIC3263 Lógica de primer orden: Repaso y notación 1 / 29 Lógica de primer orden: Vocabulario Una fórmula en lógica de primer orden está definida sobre
Más detallesALGORITMOS DIGITALES II. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006
ALGORITMOS DIGITALES II Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 OBJETIVOS Conocer los principios básicos de los algoritmos. Establecer paralelos entre los algoritmos, los programas y las
Más detallesConjuntos, Aplicaciones y Relaciones
Conjuntos, Aplicaciones y Relaciones Curso 2017-2018 1. Conjuntos Un conjunto será una colección de objetos; a cada uno de estos objetos lo llamaremos elemento del conjunto. Si x es un elemento del conjunto
Más detallesÁlgebra y estructuras finitas/discretas (Grupos A)
Álgebra y estructuras finitas/discretas (Grupos A) Curso 2007-2008 Soluciones a algunos de los ejercicios propuestos en el Tema 2 Antes de ver la solución de un ejercicio, repase la teoría correspondiente
Más detallesMétodos Matemáticos: Análisis Funcional
Licenciatura en Ciencias y Técnicas Estadísticas Universidad de Sevilla http://euler.us.es/ renato/clases.html Espacios eucĺıdeos Definición Se dice que un espacio vectorial E es un espacio eucĺıdeo si
Más detallesAlfabetos y cadenas (1) Alfabetos y cadenas (2) Lenguajes. Propiedades de la concatenación:
Alfabetos y cadenas (1) 0 b b 0 1 Alfabeto: Un alfabeto Σ es un conjunto finito y no vacío de símbolos. Cadena sobre un alfabeto Σ: Es una sucesión de caracteres tomados de Σ. Cadena vacía: Cadena sin
Más detallesNicolás Rivera. 20 de Marzo de 2012
Gramáticas Libre de Contexto Aleatorias. Nicolás Rivera 20 de Marzo de 2012 Pontificia Universidad Católica de Chile Tabla de Contenidos 1 Introducción Gramáticas Libres de Contexto Sistema de Producción
Más detallesRepaso de Lógica de Primer Orden
Repaso de Lógica de Primer Orden IIC3260 IIC3260 Repaso de Lógica de Primer Orden 1 / 29 Lógica de primer orden: Vocabulario Una fórmula en lógica de primer orden está definida sobre algunas constantes
Más detallesTema 3: Espacios vectoriales
Tema 3: Espacios vectoriales K denotará un cuerpo. Definición. Se dice que un conjunto no vacio V es un espacio vectorial sobre K o que es un K-espacio vectorial si: 1. En V está definida una operación
Más detallesDescomposición de dos Anillos de Funciones Continuas
Miscelánea Matemática 38 (2003) 65 75 SMM Descomposición de dos Anillos de Funciones Continuas Rogelio Fernández-Alonso Departamento de Matemáticas Universidad Autónoma Metropolitana-I 09340 México, D.F.
Más detallesCoordinación de Ciencias Computacionales INAOE. Teoría de Autómatas y Lenguajes Formales. Temario detallado para examen de ingreso 2012
Coordinación de Ciencias Computacionales INAOE Teoría de Autómatas y Lenguajes Formales Temario detallado para examen de ingreso 2012 1. Autómatas 1.1. Por qué estudiar la teoría de autómatas? 1.1.1. Introducción
Más detallesAlgoritmos y programas. Algoritmos y Estructuras de Datos I
Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de
Más detallesTeoría Matemática de la Computación Segundo Problemario Prof. Miguel A. Pizaña 13 de julio de 2016
Teoría Matemática de la Computación Segundo Problemario Prof. Miguel A. Pizaña 13 de julio de 2016 I Máquinas de Turing. 1. Qué es un a Máquina de Turing? Cómo se define? Cómo se llaman las teorías que
Más detallesLenguaje Regular. Sumario. Lenguaje Regular. Autómatas y Lenguajes Formales. Capítulo 8: Propiedades de los Lenguajes Regulares
Lenguaje Regular Capítulo 8: Propiedades de los Lenguajes Regulares José Miguel Buenaposada Josemiguel.buenaposada@urjc.es Definición 1 (Lenguaje Regular) Un lenguaje L se denomina regular si y sólo si
Más detalles1 er Parcial Febrero 2009
Autómatas y Lenguajes Formales 3 o Ingeniería Informática 1 er Parcial Febrero 2009 Normas : La duración de esta parte del examen es de 2,5 horas. Todos los ejercicios se entregarán en hojas separadas.
Más detallesTeoría de Autómatas y Lenguajes Formales.
Teoría de Autómatas y Lenguajes Formales Prueba de Evaluación de Lenguajes Regulares, Autómatas a Pila y Máquinas de Turing. Autores: Araceli Sanchis de Miguel Agapito Ledezma Espino Jose A. Iglesias Martínez
Más detallesINSTITUCIÓN EDUCATIVA SANTA TERESA DE JESÚS IBAGUÉ - TOLIMA GUIA No.4 ALGEBRA DOCENTE: EDGARD RODRIGUEZ USECHE GRADO : NOVENO
TEMA: ECUACIÓN DE LA LÍNEA RECTA Las coordenadas cartesianas o coordenadas rectangulares son un ejemplo de coordenadas ortogonales usadas en espacios euclídeos caracterizadas por la existencia de dos ejes
Más detallesautómatas finitos y lenguajes regulares LENGUAJES FORMALES Y
CONTENIDO Reconocedores [HMU2.1]. Traductores [C8]. Diagramas de Estado [HMU2.1]. Equivalencia entre AF deterministas y no deterministas [HMU2.2-2.3]. Expresiones [HMU3]. Propiedades de [HMU4]. Relación
Más detallesTema 7: Problemas clásicos de Programación Lineal
Tema 7: Problemas clásicos de Programación Lineal 1.- Características generales de un problema de transporte y asignación Surgen con frecuencia en diferentes contextos de la vida real. Requieren un número
Más detallesOCW-V.Muto El algoritmo de bisección Cap. VI CAPITULO VI. EL ALGORITMO DE BISECCION 1. INTRODUCCION Y METODO
CAPITULO VI. EL ALGORITMO DE BISECCION 1. INTRODUCCION Y METODO En este capítulo comenzaremos a analizar uno de los problemas más básicos del análisis numérico: el problema de búsqueda de raíces. El problema
Más detallesMétodos Matemáticos: Análisis Funcional
Licenciatura en Ciencias y Técnicas Estadísticas Universidad de Sevilla http://euler.us.es/ renato/clases.html Qué son esos espacios de Hilbert? Qué son esos espacios de Hilbert? David Hilbert Para relajarnos
Más detallesConjuntos y expresiones regulares. Propiedades de las expresiones regulares (1) Propiedades de las expresiones regulares (2)
César Ignacio García Osorio Área de Lenguajes y Siste mas Informáticos Universidad de Burgos Conjuntos y expresiones regulares Conjunto regular: Cualquier conjunto de cadenas que se pueda formar mediante
Más detallesEntscheidungsproblem I TEORÍA DE LA COMPUTACIÓN MÁQUINAS DE TURING Y DECIDIBILIDAD. Máquinas de Turing (TM) Procedimiento efectivo
Entscheidungsproblem I TEORÍA DE LA COMPUTACIÓN MÁQUINAS DE TURING Y DECIDIBILIDAD Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx Página
Más detallesMáquinas Secuenciales, Autómatas y Lenguajes. Tema 4: Expresiones Regulares. Luis Peña
Máquinas Secuenciales, Autómatas y Lenguajes Tema 4: Expresiones Regulares Luis Peña Sumario Tema 4: Expresiones Regulares. 1. Concepto de Expresión Regular 2. Teoremas de Equivalencia Curso 2012-2013
Más detallesLógica proposicional. Semántica Lógica 2018
Lógica proposicional. Semántica Lógica 2018 Instituto de Computación 20 de marzo Instituto de Computación (InCo) Lógica proposicional. Semántica Curso 2018 1 / 1 Significado de una fórmula proposicional
Más detallesTeoría de la Computación puesta en Práctica
Teoría de la Computación puesta en Práctica Marcelo Arenas M. Arenas Teoría de la Computación puesta en Práctica 1 / 24 Problema a resolver WiMAX (Worldwide Interoperability for Microwave Access): estándar
Más detallesAMPLIACIÓN DE MATEMÁTICAS. a = qm + r
AMPLIACIÓN DE MATEMÁTICAS CONGRUENCIAS DE ENTEROS. Dado un número natural m N\{0} sabemos (por el Teorema del Resto) que para cualquier entero a Z existe un único resto r de modo que con a = qm + r r {0,
Más detallesEntscheidungsproblem I LENGUAJES RECURSIVAMENTE ENUMERABLES MÁQUINAS DE TURING. DECIDIBILIDAD. Máquinas de Turing (TM) Procedimiento efectivo
Entscheidungsproblem I LENGUAJES RECURSIVAMENTE ENUMERABLES MÁQUINAS DE TURING. DECIDIBILIDAD Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx
Más detallesEquivalencia 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 detallesSucesiones monótonas Monotonía. Tema 6
Tema 6 Sucesiones monótonas Vamos a discutir ahora una importante propiedad de ciertas sucesiones de números reales: la monotonía. Como primer resultado básico, probaremos que toda sucesión monótona y
Más detallesContenido. 2 Operatoria con matrices. 3 Determinantes. 4 Matrices elementales. 1 Definición y tipos de matrices
elementales Diciembre 2010 Contenido Definición y tipos de matrices elementales 1 Definición y tipos de matrices 2 3 4 elementales 5 elementales Definición 1.1 (Matriz) Una matriz de m filas y n columnas
Más detalles1. Cadenas EJERCICIO 1
LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007 - BOLETÍN DE EJERCICIOS Víctor J. Díaz Madrigal y José Miguel Cañete Departamento de Lenguajes y Sistemas Informáticos 1. Cadenas La operación reversa aplicada
Más detallesProgramación Internet con Lenguajes Declarativos Multiparadigma. PARTE I: Fundamentos
Curso de Doctorado: Programación Internet con Lenguajes Declarativos Multiparadigma. PARTE I: Fundamentos Pascual Julián Iranzo Pascual.Julian@uclm.es Universidad de Castilla La Mancha. Departamento de
Más detallesConjuntos finitos y conjuntos numerables
Tema 3 Conjuntos finitos y conjuntos numerables En este tema vamos a usar los números naturales para contar los elementos de un conjunto, o dicho con mayor precisión, para definir los conjuntos finitos
Más detallesExamen. 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 Examen IIC 2222 Teoría de Autómatas y Lenguajes Formales Segundo Semestre, 2003 Este examen tiene
Más detallesNombre de la asignatura: Lenguajes y Autómatas I. Créditos: Aportación al perfil
Nombre de la asignatura: Lenguajes y Autómatas I Créditos: 2 3 5 Aportación al perfil Desarrollar, implementar y administrar software de sistemas o de aplicación que cumpla con los estándares de calidad
Más detallesTeorí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 detallesAutómatas Finitos Deterministicos (DFA)
Autómatas Finitos Deterministicos (DFA) Introducción a la Lógica Fa.M.A.F., Universidad Nacional de Córdoba 22//4 Info útil Bibliografía: Introducción a la teoría de autómatas, lenguajes y computación.
Más detallesExpresiones Regulares
Conjuntos Regulares y Una forma diferente de expresar un lenguaje Universidad de Cantabria Conjuntos Regulares y Esquema 1 Motivación 2 Conjuntos Regulares y 3 4 Conjuntos Regulares y Motivación El problema
Más detallesAutó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 detallesTema 2: Lenguajes Formales. Informática Teórica I
Tema 2: Lenguajes Formales Informática Teórica I Teoría de Lenguajes Formales. Bibliografía M. Alfonseca, J. Sancho y M. Martínez. Teoría de Lenguajes, Gramáticas y Autómatas, R.A.E.C., Madrid, (1998).
Más detallesClases de complejidad computacional: P y NP
1er cuatrimestre 2006 La teoría de Se aplica a problemas de decisión, o sea problemas que tienen como respuesta SI o NO (aunque es sencillo ver que sus implicancias pueden extenderse a problemas de optimización).
Más detallesTema 3: Características de la programación funcional. Sesión 5: El paradigma funcional (1)
Tema 3: Características de la programación funcional Sesión 5: El paradigma funcional (1) Referencias Capítulo 1.1.5 SICP: [[http://mitpress.mit.edu/sicp/full-text/book/book-z- H-10.html#%_sec_1.1.5][The
Más detallesEspacios Vectoriales Euclídeos. Métodos de los mínimos cuadrados
Capítulo 5 Espacios Vectoriales Euclídeos. Métodos de los mínimos cuadrados En este tema iniciamos el estudio de los conceptos geométricos de distancia y perpendicularidad en K n. Empezaremos con las definiciones
Más detallesEn 1936 se introdujeron dos modelos computacionales: Alan Turing inventó la máquina de Turing y la noción de función computable en sus
Capítulo 1 Cálculo-λ En 1936 se introdujeron dos modelos computacionales: Alan Turing inventó la máquina de Turing y la noción de función computable en sus máquinas. Alonzo Church inventó un sistema formal
Más detallesConjuntos finitos y conjuntos numerables
Tema 3 Conjuntos finitos y conjuntos numerables En este tema vamos a usar los números naturales para contar los elementos de un conjunto, o dicho con mayor precisión, para definir los conjuntos finitos
Más detallesAutómatas Finitos Deterministicos (DFA) Introducción a la Complejidad Computacional FFHA, Universidad Nacional de San Juan
Autómatas Finitos Deterministicos (DFA) Introducción a la Complejidad Computacional FFHA, Universidad Nacional de San Juan 206 Info útil Bibliografía: Introducción a la teoría de autómatas, lenguajes y
Más detalles