Concepto
Estudia el uso de la lógica para el planteamiento de problemas y el control sobre las reglas de inferencia para alcanzar la solución automática.
Programacion Logica
La programación lógica: construye base de conocimientos mediante reglas y hechos
Consulta
Se especifica el problema, la proposición a demostrar o el objetivo
Hecho
Una relación entre objetos y es la forma más sencilla de sentencia
Declaración, cláusula o proposición cierta o falsa
Regla
Definir nuevas relaciones a partir de otras ya existentes
implicación o inferencia lógica que deduce nuevo conocimiento
Programación Declarativa
Consiste en indicar como resolver un problema mediante sentencias, en la Programación Lógica, se trabaja en una forma descriptiva, estableciendo relaciones entre entidades
4.2 Semantica de los programas logicos
análisis de los problemas lógicos de significación
Prolog
Semantica
Busca relaciones entre los objetos creados, las variables y las listas, que son sus estructuras básicas.
Los identificadores con minúscula representan hechos, los que van con mayúscula variables.
Tipos de Datos primitivos
Tipos de datos estructurados:
Listas, representadas entre [ ].
Átomos
variables de cadena.
Constantes
Reales
Caracteres
Enteros
constantes
variables
Comentarios entre /**/
hechos (datos)
Conjunto de de reglas
relaciones entre objetos de la base de datos
MODELOS DE PROGRAMACION LOGICA
4.9 Predicados Meta-Logicos
controlar el algoritmo de resolución facilitando la meta-programación.
extraer el functor y la aridad de un término cualquiera.
4.6 P.L con numeros, listas y arboles
LISTAS
Colecciones de elementos en PROLOG
Cabeza
Es el primer elemento de la lista
Cola
una lista con el resto de los elementos de la lista.
EXPRESIONES
NUMEROS
los objetos numéricos pueden corresponder a tipos integer o float de C
ARBOLES
estructura escrita como un árbol en el que el nombre es un nodo y los componentes son las ramas.
4.5 Espacios de busqueda
Al conjunto de todas las posibles soluciones a un problema concreto
Cada posible solución se le puede asociar un fitness o un valor que indicará cómo de buena es la solución para el problema.
Cada punto en el espacio de búsqueda representa una posible solución.
4.8 Manipulacion de Terminos
construir programas que manipulan otros programas proporcionando una mayor expresividad al lenguaje
ARIDAD
FUNCTOR
Predicados
Meta-Lógicos
Permiten controlar el algoritmo de resolución facilitando la meta-programación.
4.7 Control de Busqueda en Programas Logicos
EL ORDEN
SENTENCIAS
orden en que se obtienen las soluciones
correcto funcionamiento del programa
recorrido del árbol de llamadas
aparecen los literales dentro de una sentencia (dentro del cuerpo)
el orden en que se introducen las sentencias en el programa
4.4 Consulta de una Base de Clausulas
Eliminación de cuantificadores existenciales
La eliminación de un cuantificador existencial introduce una sentencia que no es equivalente
la sentencia original pero no es implicada por esta.
Desplazar Disyunciones
desplazar las disyunciones al interior de las sentencias de tal forma que conecten literales (átomos o átomos negados)
4.3 Representacion Clausada del Conocimiento
Representación del conocimiento
HECHOS
REGLAS
significar que un hecho depende de uno o más hechos.
CONSTANTES Y PREDICADOS
Combinación de predicados y constantes.
término comúnmente usado para referirse a representaciones pensadas
procesamiento por ordenadores modernos
representaciones compuestas por objetos explícitos
afirmaciones sobre ellos
4.1 Introducción al modelo de programación lógica