Please enable JavaScript.
Coggle requires JavaScript to display documents.
MODELO DE PROGRAMACIÓN LÓGICA, Leonel Martinez Vazquez - Coggle Diagram
MODELO DE PROGRAMACIÓN LÓGICA
Introducción al modelo de programación lógica
En los comienzos de los años 70 el francés Alain Colmenuer desarrolló el lenguaje PROLOG que también permite el desarrollo de aplicaciones en forma declarativa
En general el PROLOG es un demostrador automático de problema, el cual utiliza una Base de Conocimientos en forma de reglas de inferencia deductivas (cláusulas de Horn),
Semántica de los programas lógicos
La Programación Lógica se basa en la lógica de primer orden. En esta primera sección introduciremos todos los conceptos de la lógica de primer orden que utilizaremos a lo largo de la memoria, definiremos lo que es un programa lógico y daremos dos semánticas equivalentes.
Representación clausada del conocimiento
Representación del conocimiento es un termino para referirse a representaciones pensadas para el procesamiento por ordenadores modernos, en particular, para representaciones compuestas por objetos explícitos y de afirmaciones sobre ellos.
Representar el conocimiento mediante cláusulas permite a los ordenadores sacar conclusiones de conocimiento previamente almacenados.
Consulta de una base de cláusulas
Las cláusulas contienen la especificación o implementación del conjunto de hechos y reglas que componen el programa. Se encabeza con la palabra clave CLAUSES. Una cláusula puede ser: un hecho; por ejemplo padre(Juan, María). Una secuencia de cláusulas que definen un predicado se denomina procedimiento.
Espacios 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 fitness o un valor que indicará cómo de buena es la solución para el problema. Un algoritmo genético (AG) devolverá la mejor solución de entre todas las posibles que tenga en un momento dado.
Programación lógica con números, listas y árboles
Es más fácil entender la forma de una estructura complicada si la escribimos como un árbol en el que el nombre es un nodo y los componentes son las ramas.
Control de búsqueda en programas lógicos
El orden en que aparecen los literales dentro de una sentencia (dentro del cuerpo) o el orden en que se introducen las sentencias en el programa son importantes en PROLOG. El orden afecta tanto al correcto funcionamiento del programa, como al recorrido del árbol de llamadas, determinando, entre otras cosas, el orden en que PROLOG devuelve las soluciones a una pregunta dada.
Manipulación de términos
Consiste en construir programas que manipulan otros programas proporcionando una mayor expresividad al lenguaje
Predicados mitológicos
El predicado functor es uno de los más útiles entre la biblioteca standard Prolog. Este predicado permite extraer el functor y la aridad de un término cualquiera. Pero, al ser reversible, también permite construir nuevos términos a partir del functor y la aridad deseada.
Leonel Martinez Vazquez