INTRODUCCIÓN
El
propósito es realizar un ejercicio en PROLOG que identifique el
parentesco que tienen los integrantes de una familia y quienes tienen
posibilidad de procrear. Para esto debe construir un árbol genealógico:
Base del conocimiento:
hijo(juan,angel).
hijo(esther,angel).
hijo(klever,angel).
hijo(eduardo,angel).
hijo(rogger,angel).
hijo(julio,juan).
hijo(rosa,juan).
hijo(ana,esther).
hijo(jose,klever).
hijo(dayana,klever).
hijo(sofia,klever).
hijo(andre,eduardo).
hijo(carlos,eduardo).
hijo(belen,eduardo).
hijo(glenda,angel).
hijo(josefa,angel).
hijo(landy,angel).
hijo(brisa,angel).
hijo(alejandro,glenda).
hijo(alex,glenda).
hijo(kathy,josefa).
hijo(rosa,landy).
hijo(karen,landy).
hijo(jose,brisa).
hijo(dayana,brisa).
hijo(sofia,brisa).
hombre(angel).
hombre(angel).
hombre(juan).
hombre(klever).
hombre(eduardo).
hombre(rogger).
hombre(landy).
mujer(esther).
mujer(glenda).
mujer(josefa).
mujer(brisa).
Reglas:
hermano(X,Y):-hijo(X,Z),hijo(Y,Z).
primo(X,Y):-hijo(X,Z),hijo(Y,W),hermano(Z,W).
primopaterno(X,Y):-hijo(X,Z),hijo(Y,W),hermano(Z,W),(hombre(W)).
primomaterno(X,Y):-hijo(X,Z),hijo(Y,W),hermano(Z,W),(mujer(W)).
tio(X,Y):-hijo(Y,Z),hermano(Z,X).
puedeprocrear(X,Y):-not(hermano(X,Y)),not(hijo(X,Y)),not(hijo(Y,X)),not(primo(X,Y)),not(tio(X,Y)),not(tio(Y,X)),not((hombre(X),hombre(Y));(mujer(X),mujer(Y))).
No hay comentarios:
Publicar un comentario