Prolog
En Prolog, un programa es un conjunto de hechos y reglas que representan el problema que se pretende resolver.
Ante una determinada pregunta sobre el problema, el Prologutilizará estos hechos y reglas para intentar demostrar la veracidad o falsedad de la pregunta que se le ha planteado.
La demostración de la pregunta se basa en dos principios:
• Launificación: Es el algoritmo que se encarga de resolver las igualdades lógicas.
• El principio de resolución: Es el algoritmo que, a partir de la negación de la pregunta y los hechos y reglas delprograma, intenta llegar a un absurdo para demostrar que la pregunta es cierta.
PROGRAMAS, PREDICADOS
Un programa Prolog está formado por predicados. Cada predicado está definido unívocamente porsu nombre y su aridad.
* Ej.
humano(pepe).
humano(juan).
Las cláusulas a su vez pueden ser de dos tipos: hechos y reglas.
Los hechos son afirmaciones que consideramos ciertas ennuestro programa.
* Ej.
humano(pepe).
humano(juan).
Las reglas son implicaciones lógicas, que pueden tener varios antecedentes pero un único consecuente.
* humano(X) → mortal(X).* Prolog se escribe:
* mortal(X):- humano(X).
UNIFICACIÓN
La unificación, como ya se ha comentado, es el algoritmo que se encarga de resolver las igualdades lógicas.
* X = pepe.* 3 = X.
* X = Y.
* X = 3, X = 5.
Cuando se compila un fichero, todos los predicados que tiene (tanto hechos como reglas) pasan a ser axiomas del sistema, es decir, se consideranciertos. A partir de ese momento se podrán hacer preguntas sobre esos predicados.
* humano(pepe).
* humano(juan).
* mortal(X):-humano(X).
Después de cargar este fichero podremoshacer preguntas como las siguientes:
* 1 ?- humano(pepe). Yes
* 2 ?- mortal(pepe). Yes
* 3 ?- mortal(javi). No
* 4 ?- mortal(X). X = pepe more?
* X = juan
Regístrate para leer el documento completo.