Sei sulla pagina 1di 7

Universidad Tcnica de Cotopaxi

Ingeniera en Informtica y Sistemas Computacionales



Nombre: Luis Guillermo Cayo Tigasi
Ciclo: Noveno
Materia: Inteligencia Artificial
Docente: Ing. Edison Aimacania
Tema: rbol genealgico

Desarrollo
En esta entrada trataremos sobre la representacin de un rbol genealgico en prolog mediante un
ejemplo del rbol de la familia Francisco. Luego, codificaremos los hechos en Prolog, especificando
quien es padre de quien, los hermanos, los hijos, to, sobrino, etc., segn se representa en el rbol
genealgico y a partir de estas relaciones podremos codificar factores que expresen las dems
relaciones de parentesco en la familia.

Base de conocimiento en texto
%francisco==W
esProgenitor(francisco,agustin).
%agustin==X
esProgenitor(francisco,juan).
%juan==Y
esProgenitor(francisco,carlos).
%humberto==Z

%Padre a Hijos
esProgenitor(juan,maria).
%maria==A
esProgenitor(juan,fabiola).
%fabiola==B
esProgenitor(agustin,luis).
%luis==C
esProgenitor(agustin,jorge).
%jorge==D
esProgenitor(carlos,mirian).
%mirian==E
esProgenitor(carlos,fabian).
%fabian==F

%Pregunta
esHermano(Y,X):-esProgenitor(W,Y),esProgenitor(W,X),esProgenitor(W,Z),X\==Z.
esHijo(A,B):-esProgenitor(B,A).
es_Tio(X,C):-esProgenitor(W,X),esProgenitor(W,Y),esProgenitor(Y,C),X\==Y.
esNieto(A,W):-esProgenitor(W,X),esProgenitor(X,A),A\==X.
esAbuelo(W,A):-esProgenitor(W,X),esProgenitor(X,A).
esPrimo(A,C):-esProgenitor(Y,A),esProgenitor(X,C),X\==Y.
esPadre(W,X):-esProgenitor(W,X).
esSobrino(A,Y):-esProgenitor(W,Y),esProgenitor(W,X),esProgenitor(X,A),X\==Y.
Base de conocimiento en captura de pantalla



















rbol genealgico


















Francisco
Juan
Agustn
Carlos
Mara Fabiola Luis Jorge Mirian Fabin
Consultas de Hermano

Consulta de Hijos

Consulta de To


Consulta de Nieto


Consulta de Abuelo

Consulta de Primo




Consulta de Padre

Consulta de Sobrino



Conclusin
Como se puede observar, a partir de los hechos obtenidos del rbol genealgico (relaciones
de paternidad "esPadre" y los dems, podemos inferir todas las dems relaciones de
parentesco como abuelo, primo, to, nieto, hermano entre otros.
En manejo de variables se debe tener mucho cuidado, ya que al asignar una variable
diferente a la que se est calculando nos puede presentar error y es muy complicado darse
cuenta rpidamente.
Es muy importante hacer un anlisis rpido en papel y posteriormente pasar a programa
prolog, ya que el mnimo error que se cometa nos pueda producir error en la consulta, es
decir nos mostrar otros datos que de pronto no nos sirva.

Potrebbero piacerti anche