Download Fundamentos de la Programación Lógica
Transcript
Programación Lógica y Funcional Fundamentos de la Programación Lógica MTI. Eduardo Cruz Romero ¿Qué es la Programación Lógica? • La programación lógica es un paradigma de programación basado en la lógica de primer orden. y ¿Qué es la lógica de Primer Orden? • También llamada lógica de predicados o calculo de predicados, es un sistema formal diseñado para estudiar la inferencia en los lenguajes de primer orden. Los lenguajes de primer orden son a su vez, lenguajes formales como cuantificadores que alcanza solo a variables del individuo, con predicados y funciones cuyos argumentos son solo constantes o variables del individuo. Predicados (1/2) • Un predicado es una expresión lingüística que puede conectarse con una o varias otras expresiones para formar una oración. “Marte es un planeta” Predicados (2/2) • En la lógica de primer orden, los predicados son tratados como funciones. Una función es un proceso que recibe un conjunto de cosas, las procesa, y devuelve como resultado una única cosa. A las cosas que entran a las funciones se les llama argumentos, y a las cosas que salen, valores o imágenes. Clausulas de Horn • Una Clausula 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: Semántica de los Programas Lógicos • Semántica proviene de un vocabulario griego que puede traducirse como “significativo”. Se trata de aquello perteneciente o relativo a la significación de las palabras. Por extensión, se conoce como semántica al estudio del significado de los signos lingüísticos y de sus combinaciones. Semántica Lógica • La semántica lógica, por otra parte, se encarga del análisis de los problemas lógicos de significación, para esto estudia los (paréntesis, cuantificación, etc.), las variables y constantes, los predicados y las reglas. Semántica de Prolog • El programa Prolog se compone de unos hechos (datos) y un conjunto de reglas, es decir, relaciones entre objetos de la base de datos, Prolog tiene una sintaxis y semántica simples. Solo busca relaciones entre los objetos creados, las variables y las listas, que son sus estructuras básicas. Representación Clausada del Conocimiento • La representación del conocimiento y el razonamiento es un área de la inteligencia artificial cuyo objetivo fundamental es representar el conocimiento de una manera que facilite la inferencia (sacar conclusiones) a partir de dicho conocimiento. Todos los colibrís son aves. Este colibrí es ave. (Vx) C(x) -> A(x) Consulta de una Base de Datos de Clausulas • La forma general de una consulta consiste en una secuencia de predicados que deben ser satisfechos conjuntamente en el orden especificado. Espacio de Búsqueda • Cuando se resuelve un problema, se busca la mejor solución entre un conjunto de posibles soluciones, al conjunto de todas las posibles soluciones a un problema concreto se llama espacio de búsqueda. Cada punto en el espacio de búsqueda representa una posible solución. Cada posible solución se le puede asociar un valor que indicara como de buena es la solución para el problema. Referencias • https://es.scribd.com/doc/48831859/Logica-de-Primer-Orden • http://www.amzi.com/articles/code07_whitepaper.pdf • http://www.uv.mx/aguerra/documents/2011-mpi-02.pdf • http://gpd.sip.ucm.es/jaime/pl/sld.pdf • https://prezi.com/6zmwikpt9zvr/copy-of-semantica-de-los-programas-logicos/