Está en la página 1de 25

Programación lógica y funcional

Semana 4
Mg. Alvarado Herrada, Edgar Francisco
Logro
Al finalizar la unidad, el estudiante onceptualiza las funciones básicas en
prolog.

Importancia
PROLOG se ha demostrado como herramienta muy útil para el diseño de
prototipos en las fases de especificación de sistemas, proporcionando al
mismo tiempo una especificación estructurada del problema
DESCARGAR SWI-PROLOG(sesión anterior)

 Software de libre disposición


 http://www.swi-prolog.org/

 Basado en la sintaxis de Edimburgo.


 Tradicionalmente interpretado, ahora
compilado.
DESCARGAR SWI-PROLOG(sesión anterior)
Existen múltiples IDE para prolog, en este caso usaremos SWI-PROLOG
enlace de descarga

También existe un version en linea de prolog


Elementos de Prolog(clase anterior)

1. Hechos
2. Consultas
3. Variables
4. Conjunciones
5. Reglas
Elementos de Prolog
Recordando Prolog (clase anterior)

PROLOG es un lenguaje de
programación declarativo en un alto
nivel de abstracción, está basado en la
lógica de predicados de primer orden,
muy útil para resolver problemas que
implican objetos y relaciones.
Mecanismos Básicos

● Unificación

● Estructuras de datos basadas en árboles

● Backtracking automático
Sintaxis en PROLOG

● Declarar hechos sobre objetos y sus relaciones

● Hacer preguntas sobre objetos y sus relaciones

● Definir reglas sobre objetos y sus relaciones


Hechos en Prolog

“progenitor” es el nombre de la relación (nombre de predicado)

“laura” y “damian” son los argumentos

Los hechos en PROLOG acaban siempre con un “.”


Hechos en Prolog

Un conjunto de hechos (también llamados


cláusulas), junto con un conjunto de reglas,
forman una base de datos PROLOG
Preguntas en Prolog
sobre un conjunto de hechos se pueden realizar preguntas:

Unificar hechos: mismo nombre de predicado, mismo número de


argumentos y cada uno de los argumentos tiene el mismo nombre

PROLOG contestará “SI” si encuentra ese hecho y “NO” en caso contrario


Preguntas en Prolog

Para realizar preguntas más


interesantes se usarán variables, en
PROLOG las variables empiezan por
mayúscula
Preguntas en Prolog
sobre un conjunto de hechos se pueden realizar preguntas:

Unificar hechos: mismo nombre de predicado, mismo número de


argumentos y cada uno de los argumentos tiene el mismo nombre

PROLOG contestará “SI” si encuentra ese hecho y “NO” en caso contrario


Preguntas en Prolog
Para realizar preguntas más interesantes se usarán variables

En PROLOG las variables empiezan por mayúscula


Preguntas en Prolog: Conjunciones de Objetivos
Ejercicio 2Prolog

True. clara es bisabuela de jaime


Ejercicio 2Prolog
La base de datos
Ejercicio 3

Dada la base de datos familiar del ejercicio 2, se solicita las respuestas


prolog y el enunciado verbal de lo siguiente:

a)?-progenitor(jaime,X).
b)?-progenitor(X,jaime).
c)?-progenitor(clara,X), progenitor(X,patricia).
d)?-progenitor(tomas,X), progenitor(X,Y), progenitor(Y,Z).
Solucion 3
Solucion 3
Ventaja de Prolog

Prolog tiene la ventaja que el programa


revisa la base de datos para encontrar
soluciones a las preguntas, infiriendo el
mismo la respuesta basándose en las
reglas del programa.
Ventaja de Prolog

Diversidad de aplicaciones, el uso de los lenguajes de


programación lógica no se ha limitado a las aplicaciones
de investigación. Entre sus campos de mayor difusión
destacan las aplicaciones de Inteligencia Artificial
(sistemas expertos - basados en reglas y marcos - ,
resolución de restricciones, procesamiento del lenguaje
natural), la teoría y desarrollo de las bases de datos
deductiva.
Ventaja de Prolog

Tiempo de desarrollo corto, en PROLOG,


el número de líneas de código que se
requieren para resolver un problema es
típicamente solo una fracción del tiempo
requerido con un lenguaje de
programación en forma de
procedimientos como C , PASCAL o C#
Desventaja de Prolog

Prolog tiene la desventaja es que la


resolución automática no siempre es
eficiente.

También podría gustarte