Sistemas de Reescritura Cristóbal Domínguez González Jorge García de la Nava Ruiz Michel Piliougine Rocha Miguel Ángel Rico Blanco

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

Download "Sistemas de Reescritura Cristóbal Domínguez González Jorge García de la Nava Ruiz Michel Piliougine Rocha Miguel Ángel Rico Blanco"

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) 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 detalles

Teorema de incompletitud de Gödel

Teorema 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 detalles

Descripción de los Lenguajes Aceptados por Autómatas

Descripció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 detalles

Tema 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 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 detalles

Contenido. Prólogo... Prólogo a la edición en español Argumentos y proposiciones lógicas Introducción

Contenido. 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 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

Lenguajes funcionales: λ-cálculo

Lenguajes 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 detalles

Informática Haskell Matemáticas Curso Pepe Gallardo Universidad de Málaga. Temario

Informá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 detalles

Definición 1 Un semigrupo es un conjunto E provisto de una operación binaria asociativa sobre E, se denota por (E, ).

Definició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 detalles

Jerarquí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. 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 detalles

PARADIGMAS DE PROGRAMACIÓN CALCULO LAMBDA CALCULO LAMBDA

PARADIGMAS 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 detalles

Máquinas de Turing Definición y descripción

Má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 detalles

Lenguajes Incontextuales

Lenguajes 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 detalles

TÍTULO: MATEMÁTICA DISCRETA Y LÓGICA Disponibilidad

TÍ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 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

TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY

TIPOS 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 detalles

Expresiones Regulares y Gramáticas Regulares

Expresiones 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 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

Introducción a la Lógica y la Computación

Introducció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 detalles

Gramá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Í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 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

La lógica de segundo orden: Sintaxis

La 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 detalles

Máquinas de Turing. Complexity D.Moshkovitz

Má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 detalles

Teorema de Lagrange. En esta sección demostramos algunos hechos básicos sobre grupos, que se pueden deducir de la definición

Teorema 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 detalles

b) 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

b) 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 detalles

Departamento 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 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 detalles

Introducción a la Lógica y la Computación

Introducció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 detalles

Ciencias de la Computación I

Ciencias 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 detalles

Hacia las Gramáticas Propias

Hacia 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 detalles

Departamento de Ingeniería Matemática - Universidad de Chile

Departamento 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 detalles

Tema 2: Métodos de Deducción para la Lógica Proposicional

Tema 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 detalles

Sea V un conjunto no vacío (cuyos elementos se llamarán vectores) y sea K un cuerpo (cuyos elementos se llamarán escalares).

Sea 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 detalles

10. Series de potencias

10. 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 detalles

Lógica proposicional: Lectura única

Ló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 detalles

La Ambigüedad en el Parsing

La 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 detalles

Complejidad Computacional

Complejidad 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 detalles

Métodos de Inteligencia Artificial

Mé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 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

Introducción a la complejidad computacional

Introducció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 detalles

Introducción a la indecidibilidad

Introducció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 detalles

Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Máquinas de Turing

Computabilidad 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 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

Relaciones IIC1253. IIC1253 Relaciones 1 / 32

Relaciones 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 detalles

Propiedades de lenguajes independientes del contexto

Propiedades 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 detalles

Descomposición del valor singular y sus aplicaciones

Descomposició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 detalles

Tema 2: Métodos de Deducción para la Lógica Proposicional

Tema 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 detalles

Introducción a la Complejidad Computacional

Introducció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 detalles

Curso: 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 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 detalles

El 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 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 detalles

Metodología de Programación I Corte y Aritmética

Metodologí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 detalles

Programación Internet con Lenguajes Declarativos Multiparadigma. PARTE I: Fundamentos

Programació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 detalles

Lógica de primer orden: Repaso y notación

Ló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 detalles

ALGORITMOS DIGITALES II. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006

ALGORITMOS 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 detalles

Conjuntos, Aplicaciones y Relaciones

Conjuntos, 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) Á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 detalles

Métodos Matemáticos: Análisis Funcional

Mé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 detalles

Alfabetos y cadenas (1) Alfabetos y cadenas (2) Lenguajes. Propiedades de la concatenación:

Alfabetos 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 detalles

Nicolás Rivera. 20 de Marzo de 2012

Nicolá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 detalles

Repaso de Lógica de Primer Orden

Repaso 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 detalles

Tema 3: Espacios vectoriales

Tema 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 detalles

Descomposición de dos Anillos de Funciones Continuas

Descomposició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 detalles

Coordinació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 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 detalles

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Algoritmos 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 detalles

Teorí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 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 detalles

Lenguaje Regular. Sumario. Lenguaje Regular. Autómatas y Lenguajes Formales. Capítulo 8: Propiedades de los Lenguajes Regulares

Lenguaje 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 detalles

1 er Parcial Febrero 2009

1 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 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 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 detalles

INSTITUCIÓN EDUCATIVA SANTA TERESA DE JESÚS IBAGUÉ - TOLIMA GUIA No.4 ALGEBRA DOCENTE: EDGARD RODRIGUEZ USECHE GRADO : NOVENO

INSTITUCIÓ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 detalles

autómatas finitos y lenguajes regulares LENGUAJES FORMALES Y

autó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 detalles

Tema 7: Problemas clásicos de Programación Lineal

Tema 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 detalles

OCW-V.Muto El algoritmo de bisección Cap. VI CAPITULO VI. EL ALGORITMO DE BISECCION 1. INTRODUCCION Y METODO

OCW-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 detalles

Métodos Matemáticos: Análisis Funcional

Mé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 detalles

Conjuntos y expresiones regulares. Propiedades de las expresiones regulares (1) Propiedades de las expresiones regulares (2)

Conjuntos 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 detalles

Entscheidungsproblem 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. 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 detalles

Má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 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 detalles

Lógica proposicional. Semántica Lógica 2018

Ló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 detalles

Teoría de la Computación puesta en Práctica

Teorí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 detalles

AMPLIACIÓN DE MATEMÁTICAS. a = qm + r

AMPLIACIÓ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 detalles

Entscheidungsproblem 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. 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 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

Sucesiones monótonas Monotonía. Tema 6

Sucesiones 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 detalles

Contenido. 2 Operatoria con matrices. 3 Determinantes. 4 Matrices elementales. 1 Definición y tipos de matrices

Contenido. 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 detalles

1. Cadenas EJERCICIO 1

1. 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 detalles

Programación Internet con Lenguajes Declarativos Multiparadigma. PARTE I: Fundamentos

Programació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 detalles

Conjuntos finitos y conjuntos numerables

Conjuntos 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 detalles

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

Examen. 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 detalles

Nombre 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: 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 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

Autómatas Finitos Deterministicos (DFA)

Autó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 detalles

Expresiones Regulares

Expresiones 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 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

Tema 2: Lenguajes Formales. Informática Teórica I

Tema 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 detalles

Clases de complejidad computacional: P y NP

Clases 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 detalles

Tema 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) 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 detalles

Espacios Vectoriales Euclídeos. Métodos de los mínimos cuadrados

Espacios 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 detalles

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

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 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 detalles

Conjuntos finitos y conjuntos numerables

Conjuntos 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 detalles

Autó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 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