Prolog

Solo disponible en BuenasTareas
  • Páginas : 3 (631 palabras )
  • Descarga(s) : 0
  • Publicado : 8 de septiembre de 2010
Leer documento completo
Vista previa del texto
Breve Historia Prolog
Introducción PROgramming in LOGic (PROgramación LÓGica
Es un lenguaje propuesto para aplicaciones de IA. Se apoya en la lógica:
Cláusulas de HORN, lógica de predicados deprimer orden

1

2

Breve Historia
Propuesto a principios de 1970 por:
Robert A. Kowalski (U. De Edimburgo)
Primer compilador (David Warren)

Herramientas disponibles
SWI-Prologhttp://www.swi-prolog.org/

Visual Prolog
http://www.visual-prolog.com/

Alain Colmerauer
Prmer Intérprete

(U. De Aix-Maiseille)

...
3 4

Prolog Conceptos básicos
Un programa Prolog esta formadopor un conjunto de cláusulas: Reglas (cabeza :- cuerpo) Hechos:
predicado(arg1,arg2,arg3,...argn)

Un objetivo (consulta o meta).
5 6

1

Tenemos
Variables Constantes Reglas Hechos ConsultasVariables
El identificador de una variable deberá comenzar con una letra máyuscula (AZ). X Precio

7

8

Constantes
La primera letra de una constante debe ser una minúscula (a-z). Ejem:
a,homero 1, 5.02, 0.7 ’a’, ’A’, ’a a’ [ ].
9

Cláusulas
Comenzan con un nombre en minúsculas, seguido de un conjunto de términos (otras funciones, variables o constantes) encerrados entreparéntesis.

10

Cabeza

Reglas
padre(P,H) :- hijo(H,P). % padre is el inverso de hijo

Cuerpo

Hechos
Son clausulas de Horn que poseen un único predicado en la cabeza y ninguno en el cuerpo. Tienenla siguiente forma en sintaxis de lógica de primer orden:

esposo(H,M) :- casado(H,M), hombre(H). % un esposo alguien con estatus casado y es hombre madre(M,H) :- padre(M,H), mujer(M). % una madrees un "padre", mujer

11

12

2

Hechos
fecha(12,mayo,2010) hombre(homero). mujer(marge). casado(homero,marge). hijo(bart,homero). hijo(maggie,homero). hijo(lisa,homero). hijo(lisa,marge).13

Consultas
Si existe un hecho que “empate” con la consulta, entonces la respuesta es “yes” ,“true”. En caso contrario la respuesta es: “no”, “false”.

14

Consultas (metas)
? predicado...
tracking img