Tema1

Páginas: 33 (8009 palabras) Publicado: 23 de septiembre de 2015
Programaci´
on Avanzada (PAV)
Facultad de Inform´atica - 5A

Tema 1: Introducci´on a los lenguajes de
programaci´on l´ogica

Germ´an Vidal
gvidal@dsic.upv.es
Despacho D-242
Edificio DSIC (2o piso)

Curso 2003/2004

1

Bibliograf´ıa

L´ogica Algoritmica (UPM)
http://www.clip.dia.fi.upm.es/~logalg/

K. Apt. From Logic Programming to Prolog. Prentice-Hall,
1997.

J.M. Spivey. Logic Programming: TheEssence of Prolog.
Prentice-Hall, 1996.

L. Sterling and E. Shapiro. The Art of Prolog: Advanced Programming Techniques. The MIT Press, Cambridge, MA, 1986.

Archivo LP
http://www.comlab.ox.ac.uk/archive/logic-prog.html

Introducci´
on a la programaci´
on l´
ogica

Sintaxis: variables, constantes y estructuras
(usando notaci´on Prolog)

Variables: comienzan con una letra may´uscula (o “_”), ypuede
incluir caracteres, n´umeros y “_”
X,

Im4u,

Mi_coche,

_,

_x,

_22

Constantes: comienzan con una letra min´uscula, y puede incluir caracteres, n´umeros y “_” (entre comillas simples, cualquier
cosa)
a,

juan,

juan_luis,

66,

’Juan Luis’

Estructuras: encabezadas por un functor (como el nombre
de una constante) seguidas de un n´umero fijo de argumentos
entre par´entesis
fecha(miercoles,Mes, 1996)
(los argumentos pueden ser a su vez variables, constantes o estructuras)
El n´umero de argumentos de una estructura es su aridad
Los functores se suelen representar por nombre/aridad. Una
constante se puede ver como un functor de aridad cero

3

Las variables, constantes y estructuras se denominan en conjunto

erminos (de un lenguaje de primer orden). Son las estructuras
de datos deun programa l´ogico
Ejemplos

ermino
pedro
hora(minuto,segundo)
par(Calvin,tigre(Hobbes))
Par(uno,dos)
Par

Tipo
constante
estructura
estructura
ilegal
variable

4

Functor principal
pedro/0
hora/2
par/2



Sintaxis: ´
atomos, literales y hechos

Atomos: un ´atomo es una expresi´on de la forma
p(t1, t2, . . . , tn)
donde p es el s´ımbolo de predicado del ´atomo (mismas convenciones que losfunctores), n es su aridad y t1, t2, . . . , tn son
t´erminos
El s´ımbolo de predicado de un ´atomo se denota por p/n
Literales: un literal es un ´atomo positivo o negativo
Los literales no pueden aparecer dentro de un t´ermino
Hechos: un hecho es una expresi´on de la forma
p(t1, t2, . . . , tn).
donde p(t1, t2, . . . , tn) es un ´atomo
Ejemplos
perro(nombre(ricky), color(negro)).
amigos(’Ana’,’Juan’).
Los ´atomos y t´erminos se distinguen por el contexto:
perro(nombre(ricky), color(negro)) es un ´atomo y
color(negro) es un t´ermino

5

Sintaxis: reglas, cl´
ausulas y predicados

Reglas: una regla es una expresi´on de la forma
p0(t1, t2, . . . , tn0 ) ←
p1(t11, t12, . . . , t1n1 ),
...
m
m
pm(tm
1 , t2 , . . . , tnm ).
La expresi´on a la izquierda de la flecha debe ser un ´atomo (no
negado)y se llama la cabeza de la regla
Las expresiones a la derecha son literales y forman el cuerpo
de la regla
Los literales del cuerpo se llaman tambi´en llamadas a procedimiento
Ejemplo
comida(Primero, Segundo, Tercero) plato_principal(Segundo),
postre(Tercero).
Ambos reglas y hechos se denominan cl´
ausulas

6

Predicados: todas las cl´ausulas del programa cuyas cabezas
tienenel mismo nombre y aridad forman la definici´
on del predicado
Ejemplo
mascota(ricky).
mascota(X) <- animal(X), ladra(X).
mascota(X) <- animal(X), vuela(X).
El predicado mascota/1 tiene 3 cl´ausulas (un hecho y dos reglas)

7

Significado declarativo de hechos y reglas

El significado declarativo es el correspondiente en la l´ogica de primer
orden, de acuerdo a ciertas convenciones:
Hechos:establecen cosas que son ciertas
Ejemplo: el hecho
animal(ricky).
puede leerse como “ricky es un animal”
Reglas: las comas en el cuerpo denotan la conjunci´on:
p ← p1 , . . . , pm .
se debe leer como
p ← p1 ∧ . . . ∧ p m .
Una regla p ← p1, . . . , pm. tiene el significado “si p1 y . . . y pm
son ciertos, entonces p es cierto”
(“←” denota la implicaci´on l´ogica)
Ejemplo: la regla
mascota(X) <-...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • tema1
  • Tema1
  • Tema1
  • tema1
  • Tema1
  • Tema1
  • Tema1
  • tema1

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS