PROGRAMACION EN PROLOG.

19
JENNIFER MONCALEANO VELASQUEZ PROGRAMACION EN PROLOG.

description

PROGRAMACION EN PROLOG. JENNIFER MONCALEANO VELASQUEZ. Contenido…. Que es? Historia Puntos bases Sintaxis Operadores Ejemplo Ejemplo de programación en prolog. ¿Que es?. Es un lenguaje de programación lógico e interpretado, basado en la lógica de predicados de primer orden. - PowerPoint PPT Presentation

Transcript of PROGRAMACION EN PROLOG.

Page 1: PROGRAMACION EN PROLOG.

JENNIFER MONCALEANO VELASQUEZ

PROGRAMACION EN PROLOG.

Page 2: PROGRAMACION EN PROLOG.

Contenido…

Que es?HistoriaPuntos basesSintaxisOperadoresEjemploEjemplo de programación en prolog

Page 3: PROGRAMACION EN PROLOG.

¿Que es?...

Es un lenguaje de programación lógico e interpretado, basado en la lógica de predicados de primer orden.

Es útil para resolver problemas que implican objetos y relaciones entre objetos.

Page 4: PROGRAMACION EN PROLOG.

Historia…

Fue creado a principio de los años 70 por los profesores Alain Colmerauer y Philippe Roussel , nació de un proyecto en el que se pretendía implementar el procesamiento de lenguajes naturales, se trabajo tanto en la parte del procesado del lenguaje natural como en la parte de deducción e inferencia del sistema.

Page 5: PROGRAMACION EN PROLOG.

Como funciona?...

En un programa de Prolog existen solo dos componentes, los hechos  y las reglas.

El sistema Prolog lee y almacena el programa.

El usuario luego puede hacer una serie de preguntas.

El sistema responderá utilizando los hechos y reglas disponibles

(Hechos, reglas, preguntas)

Page 6: PROGRAMACION EN PROLOG.

Términos en prolog…

Page 7: PROGRAMACION EN PROLOG.

Puntos bases…

UnificaciónEstructuras de datos basadas en árboles Backtracking automático

Page 8: PROGRAMACION EN PROLOG.

Sintaxis

consiste en : Declarar hechos sobre objetos y sus

relacionesHacer preguntas sobre objetos y sus

relacionesDefinir reglas sobre objetos y sus relaciones

Page 9: PROGRAMACION EN PROLOG.

Hechos

Un conjunto de hechos constituye un programa (la forma más simple de programa lógico) que puede ser visto como una base de datos que describe una situación.

Un hecho es una fórmula atómica que indica que se verifica la relación (predicad0).

Page 10: PROGRAMACION EN PROLOG.

Hechos

Sintaxis de Prolog: Constantes y predicadosempiezan por minúscula. Los hechos acaban en

punto.Variables comienzan por mayúscula. Los

nombres de las relaciones y los argumentos que se refieren a objetos o personas concretas se escribirán con minúscula (constantes).

Los hechos no tienen que reflejar el mundo real necesariamente

Page 11: PROGRAMACION EN PROLOG.

Hechos-Ejemplos

progenitor(laura, damian).

“progenitor” es el nombre de la relación o nombre de predicado y “laura” y “damian” son los argumentos.

Page 12: PROGRAMACION EN PROLOG.

Preguntas…

Sobre un conjunto de hechos se pueden realizar una serie de preguntas.

Para responder esta pregunta PROLOG busca automáticamente en la base de datos si existe un hecho que se puede unificar .(si tiene el mismo nombre de predicado, el mismo número de argumentos -o aridad-y cada uno de los argumentos tiene el mismo nombre,uno a uno) con el hecho que aparece en la pregunta.

Page 13: PROGRAMACION EN PROLOG.

Preguntas-Sintaxis

las variables empiezan por mayúscula.

Por ejemplo:?-le_gusta_a(maria,X).?-progenitor(Y,damian)

Page 14: PROGRAMACION EN PROLOG.

Preguntas- Ejemplo

Page 15: PROGRAMACION EN PROLOG.

Reglas…

A la primera parte de la regla se le llama cabeza o conclusión. El símbolo ":-" es el condicional (SI). A la parte de la regla que está después de “:-“ es el cuerpo o

parte condicional. El cuerpo puede ser una conjunción de objetivos separados

porcomas. Para demostrar que la cabeza de la regla es cierta, se tendrá

quedemostrar que es cierto el cuerpo de la regla.

abuelo(X,Y):- progenitor(X,Z),progenitor(Z,Y).tio(X,Y):- progenitor(Z,Y), progenitor(V,Z),progenitor(V,X)

Page 16: PROGRAMACION EN PROLOG.

Clausulas Prolog

son de tres tipos: hechos, reglas y preguntas. Las cláusulas PROLOG consisten en una

cabeza y un cuerpo. Los hechos son cláusulas que tienen cabeza

pero no tienen cuerpo. Las preguntas sólo tienen cuerpo. Las reglas tienen siempre cabeza y cuerpo. Los hechos son siempre ciertos. Las reglas declaran cosas que son ciertas

dependiendo de una condición.

Page 17: PROGRAMACION EN PROLOG.

Ejemplo en prolog

quiere_a(maria,enrique). quiere_a(juan,jorge). quiere_a(maria,susana). quiere_a(maria,ana). quiere_a(susana,pablo). quiere_a(ana,jorge). varon(juan). varon(pablo). varon(jorge). varon(enrique). hembra(maria). hembra(susana). hembra(ana). teme_a(susana,pablo). teme_a(jorge,enrique). teme_a(maria,pablo). /*  Esta linea es un comentario  */ quiere_pero_teme_a(X,Y) :- quiere_a(X,Y), teme_a(X,Y). querido_por(X,Y) :- quiere_a(Y,X). puede_casarse_con(X,Y) :- quiere_a(X,Y), varon(X), hembra(Y). puede_casarse_con(X,Y) :- quiere_a(X,Y), hembra(X), varon(Y)

Page 18: PROGRAMACION EN PROLOG.

Ejemplo de Programación

Page 19: PROGRAMACION EN PROLOG.

GRACIAS!