Claúsulas de Horn. Resolución SLD
|
|
- Guillermo Agüero Ayala
- hace 5 años
- Vistas:
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 Primer Cuatrimestre de 2009 Material Adicional Semánticas para la Programación n en LógicaL Se han explorado
Más detallesLenguajes 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 detallesTé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 detallesTema 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 detallesTema 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 detallesParadigma 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 detalles3 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 detalles4.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 detallesInteligencia 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 detallesClá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 detallesCapí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 detallesTema 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 detallesTema 2: Métodos de Deducción para la Lógica Proposicional
Tema 2: Métodos de Deducción para la Lógica Proposicional Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica y Computabilidad Curso 2006 07 LC, 2006 07 Métodos de Deducción
Más detallesSistemas 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 detallesTema 2: Métodos de Deducción para la Lógica Proposicional
Tema 2: Métodos de Deducción para la Lógica Proposicional Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica y Computabilidad Curso 2010 11 LC, 2010 11 Métodos de Deducción
Más detallesTema 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 detallesTema 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 detallesLÓ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 detallesProgramació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 detallesResolució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 detallesTema 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 detallesLó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 detallesPROGRAMACIÓ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 detallesMétodos de Inteligencia Artificial
Métodos de Inteligencia Artificial L. Enrique Sucar (INAOE) esucar@inaoep.mx ccc.inaoep.mx/esucar Tecnologías de Información UPAEP Contenido Lógica proposicional Lógica de predicados Inferencia en lógica
Más detallesTema 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 detallesLa 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 detallesContenido. Prólogo... Prólogo a la edición en español Argumentos y proposiciones lógicas Introducción
CONTENIDO vii Contenido Prólogo... Prólogo a la edición en español... XVIl XXI 1 Cálculo proposicional... 1 1.1 Argumentos y proposiciones lógicas 1.1.1 Introducción 1 1 1.1.2 Algunos argumentos lógicos
Más detallesTeoremas: 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 detallesTema 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 detallesProgramació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 detallesFormas 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 detallesPROGRAMACIÓ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 detallesLenguaje 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 detallesTema 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 detalles1. 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 detallesLó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 detallesLa lógica de segundo orden: Sintaxis
La lógica de segundo orden: Sintaxis Dado: Vocabulario L Definición La lógica de segundo orden (LSO) sobre L es definida como la extensión de LPO que incluye las siguientes reglas: Si t 1,..., t k son
Más detallesLó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 detallesTema 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 detallesCompletitud 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 detallesMetodología de Programación I Corte y Aritmética
Metodología de Programación I Corte y Aritmética Dr. Alejandro Guerra-Hernández Departamento de Inteligencia Artificial Facultad de Física e Inteligencia Artificial aguerra@uv.mx http://www.uv.mx/aguerra
Más detallesLó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 detallesLOGICA 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 detallesLÓ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 detallesClase 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 detallesCapí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 detallesTema 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 detallesParadigmas 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 detallesTÍTULO: MATEMÁTICA DISCRETA Y LÓGICA Disponibilidad
TÍTULO: MATEMÁTICA DISCRETA Y LÓGICA Disponibilidad Calculo proposicional 1 Argumentos y proposiciones lógicas 1 Algunos argumentos lógicos importantes 2 Proposiciones 4 Conexiones lógicas 5 Negación (tabla)
Más detallesTema 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 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 detallesG 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 detallesConjuntos. Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por. a R. se entiende que a pertenece a R.
Conjuntos Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por se entiende que a pertenece a R. a R Normalmente, podremos definir a un conjunto de dos maneras: Por
Más detallesCapí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 detallesCapí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 detallesInteligencia 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 detallesForma 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 detallesDemostraciones 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 detallesAxiomas 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 detallesDefinició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 detallesTé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 detallesEl 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 detallesSintaxis 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 detallesTeorí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 detallesTema 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 detallesTema 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 detallesIntroducción a la Complejidad Computacional
Introducción a la Complejidad Computacional El análisis sobre decidibilidad que hemos hecho nos permite saber qué podemos hacer y qué no podemos hacer. Pero nada sabemos de qué tan difícil resolver los
Más detallesUnidad 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 detallesMultiplicació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 detallesProgramació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 detallesopen 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 detallesUNIDAD 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 detallesAlgebra 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 detallesUn 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 detallesTeorema 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 detallesFigura 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 detallesTema 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 detallesTema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I
Tema 4: Gramáticas independientes del contexto Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación.
Más detallesMó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 detallesEspacios 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 detallesTema 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 detalles6 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 detallesTUTORIAL 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 detallesLó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 detallesEntorno 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 detallesUnidad 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 detallesBú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 detallesUn 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 detallesPrá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 detallesTema 7: Problemas clásicos de Programación Lineal
Tema 7: Problemas clásicos de Programación Lineal 1.- Características generales de un problema de transporte y asignación Surgen con frecuencia en diferentes contextos de la vida real. Requieren un número
Más detallesNicolás Rivera. 20 de Marzo de 2012
Gramáticas Libre de Contexto Aleatorias. Nicolás Rivera 20 de Marzo de 2012 Pontificia Universidad Católica de Chile Tabla de Contenidos 1 Introducción Gramáticas Libres de Contexto Sistema de Producción
Más detallesUna 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 detallesProgramació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 detallesTema 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 detallesIntroducció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 detallesEjercicios 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 detallesMáquinas de Turing Definición y descripción
Capítulo 12 Máquinas de Turing 12.1. Definición y descripción Definición 1 Se llama máquina de Turing a toda séptupla M = (Γ,Σ,,Q,q 0,f,F), donde: Γ es el alfabeto de símbolos de la cinta. Σ Γ es el alfabeto
Más detalles