Claúsulas de Horn. Resolución SLD

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

Download "Claúsulas de Horn. Resolución SLD"

Transcripción

1 Claúsulas de Horn. Resolución SLD 1 / 114 Refinando la resolución La resolución general es un mecanismo muy potente de demostración... pero tiene un alto grado de indeterminismo: en la selección de las cláusulas con las que hacer resolución y en la selección de los literales a utilizar en la resolución Desde el punto de vista computacional es muy ineficiente. Desde el punto de vista práctico puede sacrificarse algo de expresividad y obtener un mecanismo más eficiente que sustente un lenguaje de programación más realista : restringimos la forma de las cláusulas de modo que a lo sumo tengan un literal positivo. En notación de Kowalski esto quiere decir que a lo sumo tienen un átomo en el lado izquierdo de estudiaremos un método de resolución específico para este tipo de cláusulas. 2 / 114

2 Cláusulas de Horn Una cláusula de Horn es una secuencia de literales que contiene a lo sumo un literal positivo. Al escribirla en notación de Kowalski tendrá una de estas cuatro formas: 1 Hecho: p 2 Regla: p }{{} cabeza q 1,..., q n }{{} cuerpo 3 Objetivo: q 1,..., q n 4 Éxito: Los hechos y las reglas se denominan cláusulas definidas: los hechos representan hechos acerca de los objetos (de nuestro universo de discurso), relaciones elementales entre estos objetos las reglas expresan relaciones condicionales entre los objetos, dependencias. 3 / 114 Cláusulas de Horn (cont.) Las reglas engloban todos los casos en el siguiente sentido: un hecho es una regla con cuerpo vacío un objetivo es una regla con cabeza vacía y el éxito es una regla con cabeza y cuerpo vacíos Nótese que en las cláusulas de Horn trabajamos con secuencias de literales en vez de conjuntos (como veníamos haciendo con las cláusulas generales). Esto implica dos cosas: los literales pueden aparecer repetidos en el cuerpo hay un orden en los literales del cuerpo (podemos hablar del primer literal, segundo literal, etc). 4 / 114

3 Predicados y programas lógicos Un predicado p queda definido por el conjunto de claúsulas (hechos y reglas) cuyas cabezas tienen ese símbolo de predicado. Así pues la definición de un predicado en general tendrá el aspecto: p(t 1,..., t n ) p(s 1,..., s n )... p(u 1,..., u n ) q 1 (...),..., q m (...) p(u 1,..., u n ) r 1 (...),..., r k (...)... (puede haber solo hechos, solo reglas o ambos tipos). Un programa lógico es un conjunto de definiciones de predicados (es decir, un conjunto de claúsulas definidas: hechos y reglas). 5 / 114 Un ejemplo Representación de un grafo mediante hechos: a c b d arco(a, b) arco(a, c) arco(b, d) arco(c, d) arco(c, e) arco(d, e) e 6 / 114

4 Ejemplo (cont.) La relación de conexión entre nodos (caminos) puede expresarse mediante reglas: camino(x, Y ) X = Y camino(x, Y ) arco(x, Z), camino(z, Y ) (la primera regla, también se podría haber escrito como un hecho: camino(x, X ) ) La lectura de estas dos resglas es: hay un camino de un nodo a otro, si son el mismo hay un camino de un nodo X a otro Y si existe un nodo Z tal que hay arco entre X y Z, y hay camino entre Z e Y 7 / 114 Ejemplo (cont.) Ahora, se podría plantear un objetivo, i.e., entendiendo los hechos y las reglas que hemos escrito como premisas podríamos plantear una conclusión y tratar de mostrar la validez de la argumentación. Por ejemplo, podemos plantear los objetivos (o preguntas): arco(b, d) camino(a, d) camino(a, X ) camino(e, Y ) camino(x, Y ) camino(x, b), camino(x, d) los dos primeros son objetivos cerrados porque no contienen variables, mientras que los restantes son objetivos abiertos.... qué deberíamos obtener (por resolución) en cada caso? 8 / 114

5 Variables lógicas en las cláusulas Todas las variables lógicas en de una claúsula están cuantificadas universalmente de forma impĺıcita. Por ejemplo, en la claúsula: impĺıcitamente tenemos: camino(x, Y ) arco(x, Z), camino(z, Y ) X. Y. Z.(camino(X, Y ) arco(x, Z), camino(z, Y )) Ahora bien, esta sentencia es lógicamente equivalente a: X. Y.(camino(X, Y ) Z.(arco(X, Z), camino(z, Y ))) Es decir, las variables que sólo aparecen a la derecha de la claúsula están localmente afectadas de una cuantificación existencial. Se dice que son variables existenciales o extra o locales. Interpretarlas existencialemente facilita la lectura de la cláusula: Para todo X y todo Y, hay un camino entre X e Y si existe Z tal que hay arco de X a Z y hay camino entre Z e Y 9 / 114 Otro ejemplo Podemos definir la suma de naturales (representados como c y s) mediante un hecho y una regla: suma(c, X, X ) suma(s(x ), Y, s(z)) suma(x, Y, Z) y plantear distintos objetivos: suma(s(c), s(s(c)), s(s(s(c)))) suma(x, s(c), s(s(c))) suma(s(c), Y, Z) suma(x, Y, Z) suma(x, X, Z), suma(z, Z, H) 10 / 114

6 SLD-Resolución Selection-rule driven Linear resolution for Definite clauses Es un caso particular de la resolución general, donde: Los resolventes son siempre objetivos (cláusulas sin cabeza). Los programas son conjuntos de claúsulas (de Horn) definidas, i.e., hechos y reglas. Hay una función de selección que selecciona un átomo del resolvente a quien aplicar resolución. 11 / 114 SLD-resolución (cont.) Formalmente: Sea un programa lógico P, un par de objetivos G y G, y una función de selección f s. Una derivación de G a G con SLD-resolución (P {G} SLD G ) es una secuencia de objetivos G 0, G 1,..., G k tal que: G 0 = G G k = G para todo i {0,..., k 1}, G i+1 de obtiene a partir de G i resolviendo (en el sentido de la resolución general) el literal L = f s (G i ) con una variante de una regla de P. Si G, entonces tenemos una SLD-refutación de G a partir de P. 12 / 114

7 Ejemplo Supongamos el programa (c representa cero y s sucesor): suma(c, Y, Y ) suma(s(x ), Y, s(z)) suma(x, Y, Z) y el objetivo suma(s(c), s(c), s(s(c))) (asumimos que f s selecciona el primer objetivo por la izquierda). suma(s(c), s(c), s(s(c))) suma(s(x 1 ), Y 1, s(z 1 )) suma(x 1, Y 1, Z 1 ) θ 1 = [X 1 /c, Y 1 /s(c), Z 1 /s(c)] suma(c, s(c), s(c)) suma(c, Y 2, Y 2 ) θ 2 = [Y 2 /s(c)] 13 / 114 Respuestas correctas Dado un programa P y un objetivo G q 1,..., q n, diremos que una sustitución θ es una respuesta correcta para P {G} si θ únicamente actúa sobre las variables de G y P = X X m (q 1... q n )θ, siendo {X 1,..., X n } el conjunto de variables de G (notación: P = [(q 1... q n )θ] ) Por ejemplo, consideremos la siguiente refutación: G suma(c, s(a), B) suma(c, Y 1, Y 1 ) θ 1 = [Y 1 /s(a), B/s(A)] La sustitución obtenida, θ 1, restringida a las variables del objetivo original G es θ 1 var(g) = [B/s(A)] (la variable Y 1 no aparece en en G). θ = [B/s(A)] es una respuesta correcta para G... por qué? 14 / 114

8 Respuestas correctas (cont.) θ = [B/s(A)] es una respuesta correcta para P {G}: por un lado, aplicando θ tenemos suma(c, s(a), s(a)) y ahora, si consideramos cualquier otra sustitución σ tendremos que P = suma(c, s(a), s(a))σ o lo que es lo mismo (ver pag. 27): P = A.suma(c, s(a), s(a)) P = [suma(c, s(a), s(a))] Intuitivamente, si reemplazamos A por cualquier valor lo que obtenemos pertenecerá al modelo de la primera claúsula de P y por tanto al modelo de P (recordemos que en la página 53 estudiamos un modelo de Herbrand para este programa en el que suma H = {(s m (c), s n (c), s k (c)) m + n = k} 15 / 114 Corección y completitud de la SLD-resolución Teorema Sea P un programa, f s una función de selección y G un objetivo. Tenemos: Corrección: Si P {G} SLD en n pasos y θ = θ 1... θ n es la composición de la secuencia de unificadores usados en la SLD-refutación, entonces: θ = θ var(g) es una respuesta correcta para P {G} Completitud: Sea θ una respuesta correcta para P {G}, entonces existe una SLD-refutación de G a partir de P con una secuencia de unificadores θ 1,..., θ n tal que θ = (θ 1... θ n ) var(g). Nótese que la función de selección concreta que se utilice no es relevante para los resultados de corrección y completitud. 16 / 114

9 Ejemplo Consideremos el programa de los caminos en un grafo: arco(a, b) arco(a, c) arco(b, d) arco(c, d) arco(c, e) arco(d, e) camino(x, X ) camino(x, Y ) arco(x, Z), camino(z, Y ) Y consideremos el objetivo camino(x, e) 17 / 114 Ejemplo (cont.) Una posible refutación (tomando como función de selección la que toma el primer literal por la izquierda): camino(x, e) camino(x 1, Y 1 ) arco(x 1, Z 1 ), camino(z 1, Y 1 ) θ 1 = [X 1 /X, Y 1 /e] arco(x, Z 1 ), camino(z 1, e) arco(a, c) θ 2 = [X /a, Z 1 /c] camino(c, e) 18 / 114

10 Ejemplo (cont.) camino(c, e) camino(x 3, Y 3 ) arco(x 3, Z 3 ), camino(z 3, Y 3 ) θ 3 = [X 3 /c, Y 3 /e] arco(c, Z 3 ), camino(z 3, e) arco(c, e) θ 4 = [Z 3 /e] camino(e, e) camino(x 4, X 4 ) θ 5 = [X 4 /e] 19 / 114 Ejemplo (cont.) La composición de sustituciones obtenidas es: θ = θ 1... θ 5 = [X /a, X 1 /a, Y 1 /e, Z 1 /c, X 3 /c, Y 3 /e, Z 3 /e, X 4 /e] Si consideramos la restricción a las variables del objetivo original, es decir, a X tenemos: θ = θ {X } = [X /a] Por el teorema de corrección θ = [X /a] es una respuesta correcta para el objetivo original. Por el teorema de completitud, este mecanismo debe ser capaz de encontrar además otras respuestas. Intuitivamente es fácil ver que serán [X /b], [X /c], [X /d], [X /e]... cómo se construirían las SLD-refutaciones para encontrar estas respuestas? 20 / 114

11 Hacia Prolog La resolución SLD está mucho más próxima a una implementación realista de la programación lógica porque ha acotado notablemente el indeterminismo con respecto a la resolucion general. Las claúsulas de Horn son lo suficientemente expresivas para utilizarlas como lenguaje de programación. Quedan dos cuestiones por resolver: Qué función de selección utilizamos? (esto, según hemos visto no afecta a la corrección y la completitud). Qué criterio seguimos para seleccionar una de las reglas aplicables para resolver un objetivo? (esto, está relacionado con la completitud). En el último ejemplo, utilizando uno u otro criterio se obtienen distintas respuestas. 21 / 114

Semántica Operacional para la Programación en Lógica Lógica para Ciencias de la Computación

Semántica Operacional para la Programación en Lógica Lógica para Ciencias de la Computación Semántica Operacional para la Programación en Lógica Lógica para Ciencias de la Computación Primer Cuatrimestre de 2009 Material Adicional Semánticas para la Programación n en LógicaL Se han explorado

Más detalles

Lenguajes lógicos: cláusulas de Horn

Lenguajes lógicos: cláusulas de Horn Lenguajes lógicos: cláusulas de Horn Lenguaje subyacente: FOL ( first order logic ) Atomos: p(t 1,...,t n ) p símbolo de predicado y t i término (i = 1,...,n) símbolo de variable (X, Y,..) t término símbolo

Más detalles

Técnicas de Resolución

Técnicas de Resolución Técnicas de Resolución Pablo Barceló P. Barceló Técnicas de resolución - CC52A 1 / 1 Resolución: Problemas Si no somos cuidadosos al elegir resolventes el proceso de resolución puede volverse muy ineficiente.

Más detalles

Tema 4: (Tecnologías Informáticas) Curso Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla

Tema 4: (Tecnologías Informáticas) Curso Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Tema 4: Proposicional Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica Informática (Tecnologías Informáticas) Curso 2015 16 Contenido Los tableros semánticos proporcionan

Más detalles

Tema 8: Teorema de Herbrand. Tableros en lógica de primer orden

Tema 8: Teorema de Herbrand. Tableros en lógica de primer orden Tema 8:. en de primer orden Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica Informática (Tecnologías Informáticas) Curso 2016 17 Contenido Sea Γ un conjunto de fórmulas

Más detalles

Paradigma lógico Lógica proposicional Resolución. Programación Lógica. Eduardo Bonelli. Departamento de Computación FCEyN UBA. 10 de octubre, 2006

Paradigma lógico Lógica proposicional Resolución. Programación Lógica. Eduardo Bonelli. Departamento de Computación FCEyN UBA. 10 de octubre, 2006 Departamento de Computación FCEyN UBA 10 de octubre, 2006 Prolog Se basa en el uso de la lógica como un lenguaje de programación Se especifican ciertos hechos y reglas de inferencia un objetivo ( goal

Más detalles

3 CLÁUSULAS Y PROGRAMAS DEFINITIVOS

3 CLÁUSULAS Y PROGRAMAS DEFINITIVOS 3 CLÁUSULAS Y PROGRAMAS DEFINITIVOS La idea central de la Programación Lógica es usar la computadora para obtener conclusiones a partir de descripciones declarativas, como las introducidas en el capítulo

Más detalles

4.1 La prueba formal de la consistencia o de la inconsistencia 4.2 La prueba formal de la invalidez 4.3 La prueba formal de la validez

4.1 La prueba formal de la consistencia o de la inconsistencia 4.2 La prueba formal de la invalidez 4.3 La prueba formal de la validez 4.- Métodos de razonamiento En este módulo hemos estudiado algunas estrategias que han sido desarrolladas con el fin de sistematizar el razonamiento lógico, es decir, la demostración formal de teoremas.

Más detalles

Inteligencia en Redes de Comunicaciones. Razonamiento lógico. Julio Villena Román.

Inteligencia en Redes de Comunicaciones. Razonamiento lógico. Julio Villena Román. Inteligencia en Redes de Comunicaciones Razonamiento lógico Julio Villena Román jvillena@it.uc3m.es Índice La programación lógica Lógica de predicados de primer orden Sistemas inferenciales IRC 2009 -

Más detalles

Cláusulas de Horn. Lógica de Programas

Cláusulas de Horn. Lógica de Programas Cláusulas de Horn - Cláusulas que contienen como máximo un literal positivo 1) REGLAS Cláusulas de programa x 1 x n ( P 1 P 2 P n Q) x 1 x n (P 1 P 2 P n Q) 2) HECHOS (o cláusulas unitarias) x 1 x n Q

Más detalles

Capítulo 2 El Método de Resolución

Capítulo 2 El Método de Resolución Capítulo 2 El Método de Resolución En este capítulo se realiza una descripción general del método de resolución, dado que el programa de razonamiento automático OTTER lo utiliza y prueba a través de refutación.

Más detalles

Tema 9: Resolución en lógica de primer orden

Tema 9: Resolución en lógica de primer orden de Tema 9: en lógica de no Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica Informática (Tecnologías Informáticas) Curso 2016 17 Contenido de no no Introducción Por

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

Sistemas Deductivos. Sistemas Deductivos

Sistemas Deductivos. Sistemas Deductivos Sistemas Deductivos Naturaleza sintáctica, combinatoria En general axiomas + reglas de inferencia teorema Demostración o prueba: secuencia finita de pasos, de aplicaciones de reglas de inferencia. Conexión

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

Tema 8: Teorema de Herbrand. Tableros en lógica de primer orden

Tema 8: Teorema de Herbrand. Tableros en lógica de primer orden Tema 8:. en de primer orden Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica Informática (Tecnologías Informáticas) Curso 2014 15 Contenido Sea Γ un conjunto de fórmulas

Más detalles

Tema 2: Lógica Computacional para la IA: Lógica Proposicional

Tema 2: Lógica Computacional para la IA: Lógica Proposicional Tema 2: Lógica Computacional para la IA: Lógica Proposicional Félix Lara Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Seminario de Inteligencia Artificial, Curso 2005

Más detalles

LÓGICA FORMAL TEORIAS DE PRIMER ORDEN. Sintaxis y semántica

LÓGICA FORMAL TEORIAS DE PRIMER ORDEN. Sintaxis y semántica LÓGICA FORMAL TEORIAS DE PRIMER ORDEN Sintaxis y semántica Pedro López Departamento de Inteligencia Artificial Facultad de Informática Universidad Politécnica de Madrid Lenguajes de primer orden 1 La lógica

Más detalles

Programación Lógica. Programación Lógica

Programación Lógica. Programación Lógica Programación Lógica Programación imperativa programa es secuencia de instrucciones que una computadora ejecuta para resolver un problema Programación Lógica programa especifica conocimiento (declarativa)

Más detalles

Resolución en lógica de primer orden

Resolución en lógica de primer orden Resolución en lógica de primer orden Eduardo Bonelli Departamento de Computación, FCEyN, UBA 15 de mayo, 2006 Clase pasada Repasamos lógica proposicional Introdujimos el método de resolución para lógica

Más detalles

Tema 5: (Tecnologías Informáticas) Curso Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla

Tema 5: (Tecnologías Informáticas) Curso Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Tema 5: Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica Informática (Tecnologías Informáticas) Curso 2017 18 en LPO no restringida Contenido en LPO no restringida

Más detalles

Lógica Computacional: Estrategias de Resolución

Lógica Computacional: Estrategias de Resolución LÓGICA - 1º Grado en Ingeniería Informática Facultad de Informática Universidad Politécnica de Madrid Lógica Computacional: Estrategias de Resolución Petr Sosík psosik@fi.upm.es Despacho 2201 Estrategias

Más detalles

PROGRAMACIÓN LÓGICA. Luis Eduardo Martín De La Peña Anni Alejandra Piragauta Urrea

PROGRAMACIÓN LÓGICA. Luis Eduardo Martín De La Peña Anni Alejandra Piragauta Urrea PROGRAMACIÓN LÓGICA Luis Eduardo Martín De La Peña Anni Alejandra Piragauta Urrea CONTENIDO 1.Introducción 1. Paradigma de programación 2. Historia 3. Filosofía del paradigma. 2. 1. Qué es? 2. Conceptos

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

Tema 7: Formas normales: Formas prenex y de Skolem

Tema 7: Formas normales: Formas prenex y de Skolem Tema 7: Formas normales: Formas prenex y de Skolem Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica Informática (Ingeniería del Software) Curso 2013 14 LI(IS), 2013

Más detalles

La clase de hoy. 22 de abril de 2017

La clase de hoy. 22 de abril de 2017 La clase de hoy 22 de abril de 2017 1. Satisfacibilidad 1.1. Vamos a extender ahora nuestra noción de verdad bajo una interpretación de enunciados a fórmulas. Por supuesto, el tema es cómo interpretar

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

Teoremas: Condiciones Necesarias, Condiciones Suficientes y Condiciones Necesarias y Suficientes

Teoremas: Condiciones Necesarias, Condiciones Suficientes y Condiciones Necesarias y Suficientes FUNCIONES DE VARIABLE COMPLEJA 1 Teoremas: Condiciones Necesarias, Condiciones Suficientes y Condiciones Necesarias y Suficientes Lógica Matemática Una prioridad que tiene la enseñanza de la matemática

Más detalles

Tema 3: Introducción a Prolog

Tema 3: Introducción a Prolog Introducción a la Inteligencia Artificial Curso 2010 2011 Tema 3: Introducción a Prolog Miguel A. Gutiérrez Naranjo Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla

Más detalles

Programación Lógica. David Barrera Steven Bustos Jhonatan Guzmán

Programación Lógica. David Barrera Steven Bustos Jhonatan Guzmán Programación Lógica David Barrera Steven Bustos Jhonatan Guzmán Programación Lógica axiomas Datos Reglas Programación Lógica Relaciones vs Funciones Funciones Relaciones Determinista Único patrón de entradas

Más detalles

Formas clausulares Teoría de Herbrand Algoritmo de Herbrand Semidecidibilidad. Teoría de Herbrand. Lógica Computacional

Formas clausulares Teoría de Herbrand Algoritmo de Herbrand Semidecidibilidad. Teoría de Herbrand. Lógica Computacional Teoría de Herbrand Lógica Computacional Departamento de Matemática Aplicada Universidad de Málaga Curso 2005/2006 Contenido 1 Formas clausulares Refutación y formas clausulares 2 Teoría de Herbrand Universo

Más detalles

PROGRAMACIÓN LÓGICA. David Felipe Rico Hernandez Gabriel Esteban Bejarano Delgado

PROGRAMACIÓN LÓGICA. David Felipe Rico Hernandez Gabriel Esteban Bejarano Delgado PROGRAMACIÓN LÓGICA David Felipe Rico Hernandez Gabriel Esteban Bejarano Delgado Introducción Programación Lógica Conceptos clave Lenguajes de programación Ejemplos Ventajas y desventajas Aplicaciones

Más detalles

Lenguaje de programación S (Davis/Sigal/Weyuker) Lógica y Computabilidad. Ejemplo 1. Ejemplo 2

Lenguaje de programación S (Davis/Sigal/Weyuker) Lógica y Computabilidad. Ejemplo 1. Ejemplo 2 Lógica y Computabilidad Verano 2011 Departamento de Computación - FCEyN - UBA Computabilidad - clase 4 Lenguaje S, estado, descripción instantánea, cómputo, funciones parciales computables, minimización

Más detalles

Tema 2. Fundamentos Teóricos de la. programación dinámica Teorema de Optimalidad de Mitten

Tema 2. Fundamentos Teóricos de la. programación dinámica Teorema de Optimalidad de Mitten Tema 2 Fundamentos Teóricos de la Programación Dinámica 2.1. Teorema de Optimalidad de Mitten El objetivo básico en la programación dinámica consiste en descomponer un problema de optimización en k variables

Más detalles

1. Resolución en lógica proposicional

1. Resolución en lógica proposicional 1. Resolución en lógica proposicional 1.1. Introducción 1.1.1. Pseudo-motivación Si tengo una fórmula de proposicional, puedo probar con fuerza bruta todas las valuaciones a ver si es satisfactible? Si

Más detalles

Lógica Clásica de Predicados

Lógica Clásica de Predicados Lógica Clásica de Predicados Lógica Computacional Departamento de Matemática Aplicada Universidad de Málaga 10 de enero de 2008 Contenido 1 Sintaxis 2 Variables y Sustituciones 3 Significado y verdad 4

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

Lógica y bases de datos

Lógica y bases de datos Lógica y bases de datos Parte I: Programación lógica Matilde Celma Giménez Laura Mota Herranz Juan Carlos Casamayor Ródenas Departamento de Sistemas Informáticos y Computación Universidad Politécnica de

Más detalles

Tema 12: Interpretaciones de Herbrand

Tema 12: Interpretaciones de Herbrand Facultad de Informática Grado en Ingeniería Informática Lógica 1/21 PARTE 3: DEMOSTRACIÓN AUTOMÁTICA Tema 12: Interpretaciones de Herbrand Profesor: Javier Bajo jbajo@fi.upm.es Madrid, España 15/11/2012

Más detalles

Completitud en Lógica de Predicados

Completitud en Lógica de Predicados Completitud en de Predicados Predicados - Completitud 1 Corrección. Significa que las derivaciones expresan una consecuencia lógica. Establece una correspondencia tal que partiendo de nociones sintácticas

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

Lógica Modal Computacional. Usos de Bisimulaciones

Lógica Modal Computacional. Usos de Bisimulaciones Lógica Modal Computacional Usos de Bisimulaciones Daniel Gorín & Sergio Mera 1er Cuatrimestre 2010, Buenos Aires, Argentina Temario Propiedad de tree model. n-bisimulación. Propiedad de modelo finito vía

Más detalles

LOGICA DE ENUNCIADOS

LOGICA DE ENUNCIADOS Lógica - FCE LOGICA DE ENUNCIADOS 1. El lenguaje de enunciados Si se restringe el lenguaje de primer orden (o lenguaje de predicados) eliminando los cuantificadores y se toma como ultima unidad de análisis

Más detalles

LÓGICA FORMAL TEORIAS DE PRIMER ORDEN. Axiomática

LÓGICA FORMAL TEORIAS DE PRIMER ORDEN. Axiomática LÓGICA FORMAL TEORIAS DE PRIMER ORDEN Francisco Bueno Pedro López Departamento de Inteligencia Artificial Facultad de Informática Universidad Politécnica de Madrid Teoría de Primer Orden 1 Formalmente,

Más detalles

Clase 02/10/2013 Tomado y editado de los apuntes de Pedro Sánchez Terraf

Clase 02/10/2013 Tomado y editado de los apuntes de Pedro Sánchez Terraf Clase 02/10/2013 Tomado y editado de los apuntes de Pedro Sánchez Terraf Escenas de episodios anteriores objetivo: estudiar formalmente el concepto de demostración matemática. caso de estudio: lenguaje

Más detalles

Capítulo II. Pruebas en Matemáticas

Capítulo II. Pruebas en Matemáticas Capítulo II Pruebas en Matemáticas Ahora nos concentramos en afirmaciones matemáticas y sus pruebas. Se encuentra que tratar de escribir pruebas justificando cada paso se vuelve rápidamente inmanejable,

Más detalles

Tema 6: Seminario de Inteligencia Artificial, Curso Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla

Tema 6: Seminario de Inteligencia Artificial, Curso Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Tema 6: Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Seminario de Inteligencia Artificial, Curso 2011 12 Contenido Limitaciones del razonamiento basado en la lógica de

Más detalles

Paradigmas de Lenguajes de Programación

Paradigmas de Lenguajes de Programación Paradigmas de Lenguajes de Programación Clase Práctica Resolución I Primer cuatrimestre de 2008 Resolución en proposicional Dadas unas premisas P 1 P n y una conclusión C 1) Calculamos la Forma Normal

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

Tema 14: Sustitución y Unificación

Tema 14: Sustitución y Unificación Facultad de Informática Grado en Ingeniería Informática Lógica PARTE 4: RESOLUCIÓN Tema 14: Sustitución y Unificación Profesor: Javier Bajo jbajo@fi.upm.es Madrid, España 04/12/2012 Introducción. 2/12

Más detalles

Índice. Semántica. Sintaxis ASP. Introducción a Answer Set Programming (I) 2.- Programas Lógicos con Negación. 1.- Programas lógicos sin negación

Índice. Semántica. Sintaxis ASP. Introducción a Answer Set Programming (I) 2.- Programas Lógicos con Negación. 1.- Programas lógicos sin negación Índice Introducción a Answer Set Programming (I) Rafael Caballero Roldán Máster: Extensiones de Programación Lógica Objetivos Programas estratificados Semántica de punto fijo de los programas Datalog Sintaxis

Más detalles

G e 1,7. LI Examen de Lógica informática (7 de Junio de 2004) 1. Ejercicio 1. Probar (E F ) G = (E G) (F G) (a) Mediante deducción natural.

G e 1,7. LI Examen de Lógica informática (7 de Junio de 2004) 1. Ejercicio 1. Probar (E F ) G = (E G) (F G) (a) Mediante deducción natural. LI 2003 04 Examen de Lógica informática (7 de Junio de 2004) 1 Ejercicio 1. Probar (E F ) G = (E G) (F G) (a) Mediante deducción natural. (b) Por resolución. Solución del apartado (a): Demostración por

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

Capítulo V: Programación Lógica. 5.1 Breve Introducción al Cálculo de Predicados

Capítulo V: Programación Lógica. 5.1 Breve Introducción al Cálculo de Predicados Capítulo V: Programación Lógica 5.1 Breve Introducción al Cálculo de Predicados 1 Definiciones Básicas Proposición: sentencia lógica que puede ser verdadera o falsa. Se construye de objetos y relaciones.

Más detalles

Capítulo V: Programación Lógica

Capítulo V: Programación Lógica Capítulo V: Programación Lógica 5.1 Breve Introducción al Cálculo de Predicados Definiciones Básicas Proposición: sentencia lógica que puede ser verdadera o falsa. Se construye de objetos y relaciones.

Más detalles

Inteligencia en Redes de Comunicaciones - 04 Razonamiento lógico

Inteligencia en Redes de Comunicaciones - 04 Razonamiento lógico El objetivo del Tema 4 es presentar una panorámica general sobre cómo se pueden realizar razonamientos lógicos en un sistema software. 1 Esta es la tabla de contenidos del tema: se estudia la programación

Más detalles

Forma Clausular. Forma Clausular

Forma Clausular. Forma Clausular Forma Clausular Formas Normales: Literal: fórmula atómica o negación de fórmula atómica Un literal se denota con l y su complementario con l C L = P binario, Q unario, f unaria l 1 =

Más detalles

Demostraciones por resolución

Demostraciones por resolución Demostraciones por resolución A lo largo del curso, hemos prometido insistentemente que hay métodos para mecanizar demostraciones En particular, queremos un método, dado una base de conocimiento Σ y una

Más detalles

Axiomas del Cálculo de Predicados

Axiomas del Cálculo de Predicados Axiomas del Cálculo de Predicados Si bien el cálculo proposicional nos permitió analizar cierto tipo de razonamientos y resolver acertijos lógicos, su poder expresivo no es suficiente para comprobar la

Más detalles

Definición 2.- Las proposiciones se combinan mediante conectivos lógicos para formar otras proposiciones. Los conectivos lógicos básicos son:

Definición 2.- Las proposiciones se combinan mediante conectivos lógicos para formar otras proposiciones. Los conectivos lógicos básicos son: ii Matemática Discreta : Contenidos Capítulo 1 Lógica 1.1 Cálculo proposicional El Cálculo Proposicional se encarga del estudio de las relaciones lógicas entre objetos llamados proposiciones. Definición

Más detalles

Técnicas de diagnóstico y depuración declarativa para lenguajes lógico-funcionales

Técnicas de diagnóstico y depuración declarativa para lenguajes lógico-funcionales Técnicas de diagnóstico y depuración declarativa para lenguajes lógico-funcionales Rafael Caballero Roldán Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Memoria

Más detalles

El algoritmo de Resolución

El algoritmo de Resolución El algoritmo de Resolución El algoritmo de resolución es casi idéntico al de lógica proposicional: Suponga que quiere demostrar que ϕ es consecuencia lógica de Σ. El método es el siguiente: Transforme

Más detalles

Sintaxis LÓGICA COMPUTACIONAL CÁLCULO DE PROPOSICIONES. Funciones boolenas. Semántica

Sintaxis LÓGICA COMPUTACIONAL CÁLCULO DE PROPOSICIONES. Funciones boolenas. Semántica Proposiciones atómicas y compuestas Sintaxis LÓGICA COMPUTACIONAL CÁLCULO DE PROPOSICIONES Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@cienciasunammx Página

Más detalles

Teoría de Modelos Finitos: Motivación

Teoría de Modelos Finitos: Motivación Teoría de Modelos Finitos: Motivación IIC3260 IIC3260 Teoría de Modelos Finitos: Motivación 1 / 29 Poder expresivo de una lógica: Caso finito Desde ahora en adelante nos vamos a concentrar en las estructuras

Más detalles

Tema 10: Conceptos Metalógicos

Tema 10: Conceptos Metalógicos Facultad de Informática Grado en Ingeniería Informática Lógica PARTE 2: LÓGICA DE PRIMER ORDEN Tema 10: Conceptos Metalógicos Profesor: Javier Bajo jbajo@fi.upm.es Madrid, España 12/11/2012 Introducción

Más detalles

Tema 4: Razonamiento no

Tema 4: Razonamiento no , Seminario de Inteligencia Artificial Curso 2002 03 Tema 4: Razonamiento no monótono Joaquín Borrego Díaz Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla SIA 2002

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

Unidad 2. Notación matemática

Unidad 2. Notación matemática Unidad 2 Notación matemática Notación matemática Introducción En el transcurso del texto se hará evidente que el análisis estadístico de un conjunto de datos requiere, en general, de un buen número de

Más detalles

Multiplicación de matrices simétricas

Multiplicación de matrices simétricas Multiplicación de matrices simétricas La traspuesta de una matriz A n n es definida como una matriz A T n n tal que A T [i, j] =A[j, i] paracadai, j 2{1,...,n} Además, una matriz A es simétrica si A =

Más detalles

Programación II Sesión 2: Especificación de problemas

Programación II Sesión 2: Especificación de problemas Programación II Sesión 2: Especificación de problemas Diego R. Llanos Ferraris UNED, Centro Asociado de Palencia Nota: Estos apuntes son la guía utilizada por el Profesor Tutor para impartir el seminario

Más detalles

open green road Guía Matemática INECUACIONES profesor: Nicolás Melgarejo .cl

open green road Guía Matemática INECUACIONES profesor: Nicolás Melgarejo .cl Guía Matemática INECUACIONES profesor: Nicolás Melgarejo.cl 1. Orden en R Consideremos un conjunto compuesto por símbolos no numéricos como el siguiente: A = {Œ, Ø,!, #, Æ, ø} No es posible ordenar el

Más detalles

UNIDAD 1 NUMEROS COMPLEJOS

UNIDAD 1 NUMEROS COMPLEJOS UNIDAD 1 NUMEROS COMPLEJOS El conjunto de los números complejos fue creado para poder resolver algunos problemas matemáticos que no tienen solución dentro del conjunto de los números reales. Por ejemplo

Más detalles

Algebra lineal y conjuntos convexos

Algebra lineal y conjuntos convexos Apéndice A Algebra lineal y conjuntos convexos El método simplex que se describirá en el Tema 2 es de naturaleza algebraica y consiste en calcular soluciones de sistemas de ecuaciones lineales y determinar

Más detalles

Un tercer problema NP-completo: Programación entera

Un tercer problema NP-completo: Programación entera Un tercer problema NP-completo: Programación entera Un problema muy estudiado por su utilidad práctica: PROG-ENT = {(A, b) A x b es un sistema de ecuaciones lineales enteras que tiene solución}. Teorema

Más detalles

Teorema de Compacidad

Teorema de Compacidad Teorema de Compacidad Seminario de Teoría de Modelos - FCEyN - UBA 1 de septiembre de 2011 Teorema 1 (Compacidad). Una L-teoría T es satisfacible si y solo si todo subconjunto finito de T es satisfacible.

Más detalles

Figura 3.1. Grafo orientado.

Figura 3.1. Grafo orientado. Leyes de Kirchhoff 46. ECUACIONES DE INTERCONEXION. Leyes de Kirchhoff..1. Definiciones. Una red está formada por la interconexión de componentes en sus terminales; y deben cumplirse simultáneamente las

Más detalles

Tema 6: Programación Lógica: semántica declarativa. Lenguajes y Paradigmas de Programación

Tema 6: Programación Lógica: semántica declarativa. Lenguajes y Paradigmas de Programación Tema 6: Programación Lógica: semántica declarativa Lenguajes y Paradigmas de Programación Teoría de Modelos Se basa en el concepto de INTERPRETACIÓN, que consiste en: elegir un dominio D (en el que tomarán

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

Módulo 4 MÉTODOS DE RESOLUCIÓN DE CIRCUITOS EN CORRIENTE ALTERNA

Módulo 4 MÉTODOS DE RESOLUCIÓN DE CIRCUITOS EN CORRIENTE ALTERNA E.E.S.T. 8 Módulo 4 MÉTODOS DE RESOLUCIÓN DE CIRCUITOS EN CORRIENTE ALTERNA Ing. Rodríguez, Diego E.E.S.T. 8 INTRODUCCIO N Se entiende por resolver un circuito eléctrico el calcular sus corrientes de rama

Más detalles

Espacios conexos. 6.1 Conexos

Espacios conexos. 6.1 Conexos Capítulo 6 Espacios conexos 6.1 Conexos Definición 6.1.1 (Conjuntos separados). Dado un espacio topológico (X, τ) y dos subconjuntos A, B X, diremos que A y B están separados si A B = A B = Es evidente

Más detalles

Tema IV: NP completitud

Tema IV: NP completitud Tema IV: NP completitud Definición: Un lenguaje L Σ es NP duro sii para cada L NP se tiene que L p L. Proposición 1: Si L 1 es NP duro y L 1 p L 2, entonces L 2 es NP duro. Definición: Un lenguaje L Σ

Más detalles

6 CORTE Y ARITMÉTICA. Ejemplo 24 Asumamos el siguiente programa que define que el padre de una persona es su antecesor hombre:

6 CORTE Y ARITMÉTICA. Ejemplo 24 Asumamos el siguiente programa que define que el padre de una persona es su antecesor hombre: 6 CORTE Y ARITMÉTICA La computación de un programa lógico requiere la construcción y recorrido de un árbol-sld. Esto no es necesariamente la forma más eficiente de computación, por lo que en esta clase

Más detalles

TUTORIAL PROLOG. Lenguajes de programación Universidad Nacional de Colombia Santiago Carvajal Castañeda Mario Andrés Moreno Norato

TUTORIAL PROLOG. Lenguajes de programación Universidad Nacional de Colombia Santiago Carvajal Castañeda Mario Andrés Moreno Norato TUTORIAL PROLOG Lenguajes de programación Universidad Nacional de Colombia Santiago Carvajal Castañeda Mario Andrés Moreno Norato Prolog es un lenguaje de programación lógica de propósito general que se

Más detalles

Lógica como Representación. Dr. Eduardo Morales/Dr. Enrique Súcar

Lógica como Representación. Dr. Eduardo Morales/Dr. Enrique Súcar Lógica como Representación Dr. Eduardo Morales/Dr. Enrique Súcar Importante: Que las cosas que queremos que sean verdaderas coincidan con las que podemos probar Es decir: lo que nos implica la teoría

Más detalles

Entorno y herraminetas

Entorno y herraminetas PROGRAMACIÓN LÓGICA I. Sistemas para la programación lógica. II. Programación elemental con bases de datos y programación recursiva. III. Programación con listas y árboles. IV. Control explícito en Prolog.

Más detalles

Unidad 4 ECUACIONES DE GRADO TRES O SUPERIOR

Unidad 4 ECUACIONES DE GRADO TRES O SUPERIOR Profesor: Blas Torres Suárez. Versión.0 Unidad 4 ECUACIONES DE GRADO TRES O SUPERIOR Competencias a desarrollar: Aplicar el teorema del residuo, para hallar el residuo de un cociente entre un polinomio

Más detalles

Búsqueda en espacio de estados

Búsqueda en espacio de estados Búsqueda en espacio de estados Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Inteligencia Artificial CCIA, US Búsqueda en espacio de estados IA 1 / 35 Metodología

Más detalles

Un poco de lógica. Ramón Espinosa. Departamento de Matemáticas, ITAM

Un poco de lógica. Ramón Espinosa. Departamento de Matemáticas, ITAM Un poco de lógica Ramón Espinosa Departamento de Matemáticas, ITAM La lógica, como el whisky, pierde sus efectos benéficos cuando se consume en grandes cantidades. Lord Dunsany Uno de los principales propósitos

Más detalles

Práctica 2 de IA /2012. LÓGICA Fecha publicación: 26 de octubre de 2011 Duración: 3 sesiones de laboratorio Versión: 2011/10/26

Práctica 2 de IA /2012. LÓGICA Fecha publicación: 26 de octubre de 2011 Duración: 3 sesiones de laboratorio Versión: 2011/10/26 Práctica 2 de IA - 2011/2012. LÓGICA Fecha publicación: 26 de octubre de 2011 Duración: 3 sesiones de laboratorio Versión: 2011/10/26 Forward y backward chaining en lógica proposicional En la práctica

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

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

Una matriz es un arreglo rectangular de números. Los números en el arreglo se llaman elementos de la matriz. ) ( + ( ) ( )

Una matriz es un arreglo rectangular de números. Los números en el arreglo se llaman elementos de la matriz. ) ( + ( ) ( ) MATRICES Una matriz es un arreglo rectangular de números. Los números en el arreglo se llaman elementos de la matriz. Ejemplo 1. Algunos ejemplos de matrices ( + ( ) ( + ( ) El tamaño o el orden de una

Más detalles

Programación Lógica Concurrente y Programación con Restricciones.

Programación Lógica Concurrente y Programación con Restricciones. Programación Lógica Concurrente y Programación con Restricciones. Carlos Jesús Gálvez Fernández: Alumno del Departamento LCC, Universidad de Málaga, España. E-mail sharlythebest@bigfoot.com F. Javier Román

Más detalles

Tema 1: Introducción. Definiciones. Lógica Computacional. Lógica Computacional. Temas Avanzados en Ingeniería Informática I (Lógica)

Tema 1: Introducción. Definiciones. Lógica Computacional. Lógica Computacional. Temas Avanzados en Ingeniería Informática I (Lógica) Temas Avanzados en Ingeniería Informática I (Lógica) Lógica Computacional La mayoría de las ideas fundamentales de la Tema 1: Introducción ciencia son esencialmente sencillas y, por regla general pueden

Más detalles

Introducción LÓGICA COMPUTACIONAL PROGRAMACIÓN LÓGICA. Unificación. Ejemplos

Introducción LÓGICA COMPUTACIONAL PROGRAMACIÓN LÓGICA. Unificación. Ejemplos Introducción LÓGICA COMPUTACIONAL PROGRAMACIÓN LÓGICA Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx Página Web: www.matematicas.unam.mx/fhq

Más detalles

Ejercicios de Lógica Proposicional *

Ejercicios de Lógica Proposicional * Ejercicios de Lógica Proposicional * FernandoRVelazquezQ@gmail.com Notación. El lenguaje proposicional que hemos definido, aquel que utiliza los cinco conectivos,,, y, se denota como L {,,,, }. Los términos

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