Sunteți pe pagina 1din 8

ESCUELA SUPERIOR POLITCNICA AGROPECUARIA DE

MANAB MANUEL FLIX LPEZ

CARRERA INFORMTICA

SEMESTRE SPTIMO

PERODO ABRIL-SEPT/2015

TEMA:
PROLOG

MATERIA:
INTELIGENCIA ARTIFICIAL II

AUTORA:
LUISA KATERINE FARIAS CHICA

FACILITADORA:
ING. HIRAIDA SANTANA

MISIN
Formacin de profesionales ntegros que conjuguen ciencia, tecnologa y valores en
su accionar, comprometidos con la sociedad en el manejo adecuado de programas
y herramientas computacionales de ltima generacin.

VISIN
Ser referente en la formacin de profesionales de prestigio en el desarrollo de
aplicaciones informticas y soluciones de hardware.

CALCETA, JUNIO 2015

En este tema le vamos hablar un poco sobre un programa la cual me


parece muy interesante ya que se pueden resolver ciertos problemas y
llegar y a su meta con mucho xito, de quien le estamos hablando es de
PROLOG es un software

para la programacin de sistemas expertos

basados en reglas, usa lgica de predicados de primer orden (restringida a


clusulas de horn) para representar datos y conocimiento, utiliza
encadenamiento hacia atrs y una estrategia de control retroactiva sin
informacin heurstica como todo lenguaje tiene sus propias restricciones
o sus propias sintaxis pero estas se las voy a explicar ms adelante x ahora
solo quera dejarle un pequeo adelanto sobre el tema a tratar a
continuacin.

Aprender a manejar prolong para poder resolver los ejercicios en el aula


de clases.

EVOLUCION HISTORICA
Prolog (del francs, PROgrammation en LOGique) fue el primer lenguaje
de programacin basado en el paradigma de la programacin logica. Se
implement por primera vez a principios delos aos setenta en la
Universidad de Marsella (Francia), por un equipo dirigido por A. Colmeraeur, utilizando resultados tericos aportados por R. Kowalski
(Universidad de Edimburgo). Aunque con ciertas dificultades iniciales,
debido principalmente a la novedad del paradigma y a la escasa eficiencia
de las implementaciones disponibles, el lenguaje se fue expandiendo
rpidamente, sobre todo en Europa y en Japn (en este ltimo pas la
programacin lgica se incluy como parte central del proyecto de
ordenadores de quinta generacin de los aos ochenta). En 1995 el
lenguaje se normaliza con el correspondiente estndar ISO. En la
actualidad Prolog se ha convertido en una herramienta de desarrollo de
software practica y de gran aceptacin para la que se dispone de mltiples
compiladores, tanto comerciales como de libre distribucin.

PROLOG es un lenguaje de programacin declarativo. Los lenguajes


declarativos se diferencian de los lenguajes imperativos o procedurales en
que estn basados en formalismos abstractos (PROLOG est basado en la
lgica de predicados de primer orden y LISP, otro lenguaje de
programacin declarativa, en lambda calculo), y por tanto su semntica no

depende de la mquina en la que se ejecutan. Las sentencias en estos


lenguajes se entienden sin necesidad de hacer referencia al nivel mquina
para explicar los efectos colaterales. Por tanto, un programa escrito en un
lenguaje declarativo puede usarse como una especificacin o una
descripcin formal de un problema. Otra ventaja de los programas escritos
en lenguajes declarativos es que se pueden desarrollar y comprobar poco a
poco, y pueden ser sintetizados o transformados sistemticamente se
encuentra basado en Reglas y Hechos de lgica, cuya informacin es
retribuido en forma de consultas.

LOS HECHOS PROLOG


Es algo que est ocurriendo en el mundo, caracterstica o relacin entre
objetos. Expresan relaciones entre objetos. Los nombres de objetos y
relaciones deben comenzar con una letra minscula.
Primero se escribe la relacin, y luego los objetos separados por
comas y encerrados entre parntesis.
Al final de un hecho debe ir un punto (".").

Para explicar los fundamentos de PROLOG vamos a utilizar el tpico


ejemplo de las relaciones familiares.

Para decir que Laura es uno de los dos progenitores de Damin,


podramos declarar el siguiente hecho PROLOG:
Progenitor(laura, damian).

progenitor es el nombre de la relacin o nombre de predicado y laura


y damian son los argumentos. Los hechos acaban siempre con punto.
Nosotros interpretaremos que Laura, primer argumento de la relacin, es
la madre de Damin, segundo argumento de la relacin. Sin embargo, este
orden es arbitrario y cada programador puede darle su propio significado.
Los nombres de las relaciones y los argumentos que se refieren a objetos o
personas concretas se escribirn con minscula.
le_gusta_a(juan, maria).
Valioso (oro).
Tiene (juan, libro).
da(juan,libro,maria).

Los nombres tambin son arbitrarios y el programador decidir la


interpretacin que haga de ellos. La relacin le_gusta_a(juan,maria) es
equivalente a la relacin a(b,c), aunque para que la interpretacin sea ms
sencilla, se recomienda que los nombres se elijan de forma que ayuden a
su interpretacin.
Los hechos no tienen que reflejar el mundo real necesariamente, pero ser
nica y exclusivamente lo que prolog tomar como verdadero. Un conjunto
de hechos (tambin llamados clusulas), junto con un conjunto de reglas,
forman lo que se llama una base de datos prolog.

REGLAS
Las reglas se utilizan en PROLOG para significar que un hecho depende
de uno o ms hechos. La posibilidad de definir la relacin abuelo(X,Y)
o la relacin tio(X,Y) como reglas, adems de poderlo hacer como
hechos o como conjuncin de objetivos.
abuelo(X,Y):- progenitor(X,Z), progenitor(Z,Y).
tio(X,Y):- progenitor(Z,Y), progenitor(V,Z),
progenitor(V,X).

A la primera parte de la regla se le llama cabeza o conclusin, el smbolo


":-" es el condicional (SI), y a la parte de la regla que est despus de :-
es el cuerpo o parte condicional. El cuerpo puede ser una conjuncin de
objetivos separados por comas. Para demostrar que la cabeza de la regla
es cierta, se tendr que demostrar que es cierto el cuerpo de la regla.

Las preguntas PROLOG


Sobre un conjunto de hechos se pueden realizar una serie de preguntas.
Por ejemplo:
?- le_gusta_a(juan,maria).

Prolog busca automticamente en la base de datos si existe un hecho que


se puede unificar (es decir, tiene el mismo nombre de predicado, el mismo
nmero de argumentos y cada uno de los argumentos tiene el mismo
nombre, uno a uno) con el hecho que aparece en la pregunta. PROLOG
contestar SI si encuentra ese hecho y NO si no lo encuentra. La
contestacin NO no implica que el hecho sea falso (aunque s lo sea
para nuestra base de datos), sino que no se puede probar (en general) que
sea verdadero con el conocimiento almacenado en la base de datos.

Para realizar preguntas ms interesantes, como por ejemplo, qu le gusta


a Mara o cules son los padres de Damin, se usarn las variables. En
PROLOG las variables empiezan por mayscula. Por ejemplo:
?-le_gusta_a(maria,X).
?-progenitor(Y,damian).

Para obtener la o las respuestas, PROLOG recorre la base de datos hasta


encontrar el primer hecho que coincide con el nombre de la relacin y su
aridad y con los argumentos que no son variables. Marca esa posicin
para poder recordar dnde se qued en el recorrido por la base de datos.

Con todo lo que vimos anteriormente llegamos a la conclusin que las


clusulas PROLOG son de tres tipos: hechos, reglas y pregunta

consisten en una cabeza y un cuerpo. Los hechos son clusulas que tienen
cabeza pero no tienen cuerpo, y preguntas slo tienen cuerpo. Las reglas
tienen siempre cabeza y cuerpo. Los hechos son siempre ciertos. Adems
entendimos que cada

regla declaran cosas que son ciertas dependiendo

de una condicin. Las preguntas se le hacen al programa para determinar


qu cosas son ciertas

Cubero, J; Berzal, F. _____. (En lnea). Sistemas Inteligentes de


Gestin (En lnea). Consultado 04 Jun.

de 2015. Formato: PDF.

Disponible en: http://elvex.ugr.es/decsai/intelligent/workbook/ai/PROLOG.pdf


Escrig, T. 2012. Lenguaje de Programacion Prolog. (En lnea).
Consultado

04

Jun.

de

2015.

Formato:

PDF.

http://www.gedlc.ulpgc.es/docencia/lp/documentacion/GB_Prolog.pdf

Consultado

S-ar putea să vă placă și