Manual prolog

Páginas: 21 (5015 palabras) Publicado: 24 de octubre de 2010
Introducción al lenguaje PROLOG

1

ÍNDICE

Bibliografía recomendada. 1.- Introducción formal al lenguaje Prolog 2.- Cláusulas 3.- Términos 4.- Hechos 5.- Consultas 6.- Equiparación 7.- Reglas 7.1.- Recursividad 7.2.- Recursividad encubierta 7.3.- Eficiencia 7.4.- Directivas para mejorar la eficiencia 8.- Desigualdad 9.- Operadores lógicos y aritméticos 10.- Igualdad y asignación 11.- Modosde funcionamiento 12.- Eficiencia y corte 12.1.- Corte Verde 12.2.- Corte Rojo 13.- Fallo 14.- Negación 15.- Progamación Determinista/No Determinista 16.- Mecanismo de Resolución 17.- Listas 18- Ejercicios Básicos

2 3 5 5 6 7 7 8 8 9 9 10 11 11 12 13 14 15 15 17 17 18 19 20 23

Apéndice.- SWI_Prolog

31

Introducción al lenguaje PROLOG

2

BIBLIOGRAFÍA RECOMENDADA

·Bibliografía Básica

Prolog. Programming for artificial Intelligence Ivan Bratko Ed. Addison-Wesley, 1994

The Art of Prolog L.Sterling, E.Shapiro The MIT Press, Cambridge, Massachusetts,1994

·

Bibliografía Complementaria

Programming in Prolog W.F.Clocksin, C.S.Mellish Springer-Verlag,1987

Prolog. Introducción a la Programación de sistemas expertos J.M.Orenga y Ortega, J.P.Sánchez y BeltránEd. RAMA, 1987

Introducción al lenguaje PROLOG

3

1.- INTRODUCCIÓN FORMAL AL LENGUAJE PROLOG
PROLOG es un lenguaje declarativo e interpretado, en este tipo de lenguajes se representan los conocimientos sobre un determinado dominio y sus relaciones. A partir de ese conocimiento, se deducen las respuestas a las cuestiones planteadas, es decir se obtiene una inferencia. El dominio loconstituye un conjunto de objetos. El conocimiento se formaliza mediante un conjunto de relaciones que describen de forma simultánea las propiedades y sus interacciones. Se declara el conocimiento disponible acerca de:
·

OBJETOS:
¨ propiedades ¨ relaciones

·

REGLAS, que determinan interacciones lógicas del tipo: si ocurre q, r, s y t entonces P

· ·

Ventaja: No hay que preocuparse dedetalles de cómo resolver algo Desventaja: La resolución no siempre es eficiente.

Desde un punto de vista lógico, un programa Prolog está constituido por un conjunto de cláusulas de Horn. Una cláusula de Horn tiene la forma general: p(t1,t2,….,tn) :- p1(….),p2(….),…,pm(….) con m >= 0

Donde tanto p como las pi son símbolos predicados con sus argumentos entre paréntesis. A los argumentos de unpredicado se les denomina Términos. Las cláusulas de Horn son expresiones condicionales, siendo el símbolo “:-” el condicional o símbolo de la implicación (normalmente en lógica se utiliza el símbolo “¬”). Así la cláusula anterior podría leerse de la siguiente forma: “SI p1(….) Y p2(….) Y … Y pm(….) ENTONCES p(t1,t2,…,tn)” o bien podría leerse también: “ Es cierto p(t1,t2,…,tn) SI es cierto p1(….) Yes cierto p2(….) Y … Y es cierto pm(….) “ Cuando m=0, la cláusula no tiene parte derecha, en este caso diremos que se trata de un hecho o afirmación. p(t1,t2,…,tn). Cuando la cláusula no tiene parte izquierda (o cabeza), se tiene una cláusula negativa o pregunta, este tipo de cláusulas se utilizan para realizar la entrada/salida del programa: ?p1(….),p2(….),…,pm(….)

Un término ti puede ser:
·un átomo (número, constante)

Introducción al lenguaje PROLOG

4

· ·

una variable una estructura (functor): f(t1,t1,…tm) donde los argumentos ti son a su vez términos

En la sintaxis estándar de Prolog (la que utilizaremos aquí se conoce como sintaxis de Edimburgo), los símbolos de átomos (constantes), functores y predicados comienzan con una letra minúscula, los símbolos devariables comienzan con una letra mayúscula o con un subrayado. Un ejemplo de un programa Prolog sería el siguiente: 1. 2. 3. 4. 5. p(a,f(T,b)) :- q(Y,c,a),r(T,b). p(a,b). q(c,c,a). q(a,b,c) :- r(g(a,b),d). r(f(b,a),b).

Una computación en Prolog es un proceso de RESOLUCION LINEAL CON UNIFICACIÓN aplicado a una cláusula negativa (la pregunta) y al conjunto de cláusulas que constituyen el programa....
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Manual Visual Prolog
  • manual prolog
  • Manual de prolog
  • Manual prolog
  • Manual De Prolog
  • Manual prolog basico
  • Manual basico de prolog
  • Manual turbo prolog

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS