Recursividad Prolog

Páginas: 2 (441 palabras) Publicado: 9 de noviembre de 2013
Recursividad en Prolog
El concepto de recursividad en el paradigma lógico no sólo puede ser aplicado a listas, como en los paradigmas procedurales o funcionales. La relación recursiva entreelementos de un mismo tipo no tiene por qué estar contenida en una lista.
Un ejemplo de relación recursiva es la relación antepasado.

Defino antepasado de una persona X a:
Y tal que Y es progenitor deX;
Y tal que Z es progenitor de X e Y es antepasado de Z.

Es decir, un antepasado mío o es mi padre o bien es una persona que es antepasado de mi padre (su padre, o el padre de su padre,etc...).

progenitor (daniel, papa).
progenitor (papa, abuelo).
progenitor (abuelo, bisa).

antepasado(X,Y):- progenitor(X, Y).
antepasado(X,Y):- progenitor(X,Z), antepasado(Z,Y).

Entonces, paraeste caso, la relación progenitor es el CORTE DE LA RECURSIVIDAD.

Otro ejemplo:
Tengo habitaciones conectadas entre sí por puertas (como en el DOOM), y quiero llegar de una habitación a otra, esdecir, hallar un paso entre las habitaciones.
Veo entonces las relaciones:

puerta(Habitacion1, Habitacion2)
paso(Habitacion1, HabitacionN).

Como se define el paso?
El paso entre doshabitaciones A y B es que haya una puerta entre las habitaciones (este es el CORTE DE LA RECURSIVIDAD), o bien que haya una puerta entre A y otra habitación C y que desde esta haya paso a B.

Por ejemplo:puerta(cuarto, pasillo).
puerta(pasillo, banio).
puerta(pasillo, cocina).
puerta(cocina, living).
paso(Habitacion1, Habitacion2):- puerta(Habitacion1, Habitacion2).
paso(Habitacion1,Habitacion2):- puerta(Habitacion1, Habitacion3),
paso(Habitacion3,Habitacion2).
 
Otros ejemplos de funciones recursivas:
Objetos que están apoyados en objetos:
Un objeto se encuentra sobre otroobjeto si:
1- Está apoyado en ese objeto (corte recursivo).
2- Está apoyado en algún objeto que está sobre el otro objeto.

predicates
apoyado(symbol, symbol).
sobre(symbol, symbol).

clauses...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Prolog
  • prologo
  • Prologo
  • Prologo
  • Prólogo
  • prologo
  • Prólogo
  • prologar

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS