0% encontró este documento útil (0 votos)
13 vistas

Lab#2_SistemasInteligentes_Prolog_ABC_TonatoAlejandro

Árbol Genealógico en Prolog
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
13 vistas

Lab#2_SistemasInteligentes_Prolog_ABC_TonatoAlejandro

Árbol Genealógico en Prolog
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 5

DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN

CARRERA DE INGENIERÍA EN SOFTWARE

APLICACIONES BASADAS EN EL CONOCIMIENTO

INTEGRANTES:
ALEJANDRO MIGUEL TONATO SIGUE
TUTOR:
JOSE LUIS CARRILLO MEDINA
TAREA:
ARBOL GENEALOGICO
FECHA:
LUNES, 3 DE JUNIO DE 2024
Objetivo
• Implementar lo aprendido en clase y desarrollar el árbol genealógico en prolog
Introducción
Prolog (abreviatura de PROgramming in LOGic) es un lenguaje de programación de alto
nivel asociado principalmente con la inteligencia artificial y la lingüística computacional.
Fue desarrollado en la década de 1970 por Alain Colmerauer y Robert Kowalski. Prolog se
basa en la lógica de primer orden y utiliza un paradigma de programación declarativa, lo
que significa que se centra en el "qué" se quiere lograr en lugar del "cómo" lograrlo.

Desarrollo
Desarollar el árbol genealogico en prolog
• Codigo
%hechos
hombre(jose).
hombre(mario).
hombre(carlos).
hombre(roberto).
hombre(edwin).
hombre(alejandro).
hombre(rosalino).
hombre(miguel).
hombre(milton).
hombre(oscar).
mujer(rosa).
mujer(maria).
mujer(soledad).
mujer(mariela).
mujer(martha).
mujer(marcia).
mujer(cibell).
mujer(belen).
mujer(vilma).
%relaciones
progenitor(rosalino,jose).
progenitor(rosa,jose).
progenitor(rosalino,soledad).
progenitor(rosa,soledad).
progenitor(rosalino,carlos).
progenitor(rosa,carlos).
progenitor(rosalino,mario).
progenitor(rosa,mario).
progenitor(rosalino,mariela).
progenitor(rosa,mariela).
progenitor(rosalino,martha).
progenitor(rosa,martha).
progenitor(rosalino,marcia).
progenitor(rosa,marcia).
progenitor(rosalino,roberto).
progenitor(rosa,roberto).
progenitor(miguel,edwin).
progenitor(maria,edwin).
progenitor(miguel,vilma).
progenitor(maria,vilma).
progenitor(miguel,milton).
progenitor(maria,milton).
progenitor(miguel,oscar).
progenitor(maria,oscar).
progenitor(edwin,alejandro).
progenitor(mariela,alejandro).
progenitor(edwin,cibell).
progenitor(mariela,cibell).
progenitor(edwin,belen).
progenitor(mariela,belen).
%parejas
%abuelos
pareja(rosa,rosalino).
pareja(rosalino,rosa).
pareja(maria,miguel).
pareja(miguel,maria).
%papas
pareja(mariela,edwin).
pareja(edwin,mariela).

% Padres
padre(X, Y):- progenitor(X, Y), hombre(X).
madre(X, Y):- progenitor(X, Y), mujer(X).
% Esposos
esposo(X, Y):- pareja(X, Y), hombre(X).
esposa(X, Y):- pareja(X, Y), mujer(X).

% Hijos
hijo(Y, X):- progenitor(X, Y), hombre(Y).
hija(Y, X):- progenitor(X, Y), mujer(Y).
% Hermanos
hermano(X, Y):- progenitor(A, X), progenitor(A, Y), X \= Y, hombre(X).
hermana(X, Y):- progenitor(A, X), progenitor(A, Y), X \= Y, mujer(X).
% Tíos y tías
tio(X, Y):- hermano(X, A), progenitor(A, Y).
tia(X, Y):- hermana(X, A), progenitor(A, Y).
% Abuelos y abuelas
abuelo(X, Y):- progenitor(A, Y), progenitor(X, A), hombre(X).
abuela(X, Y):- progenitor(A, Y), progenitor(X, A), mujer(X).
% Nietos y nietas
nieto(X, Y):- progenitor(Y, A), progenitor(A, X), hombre(X).
nieta(X, Y):- progenitor(Y, A), progenitor(A, X), mujer(X).

• Ejecución

Conclusiones
Utilizar Prolog para implementar un árbol genealógico ofrece varias ventajas significativas
gracias a su paradigma de programación declarativa y su capacidad de manejar relaciones
complejas de manera eficiente. Prolog permite expresar relaciones familiares de manera
clara y concisa mediante hechos y reglas lógicas, lo que facilita la comprensión y el
mantenimiento del árbol genealógico. La capacidad de Prolog para responder a consultas
sobre la base de datos facilita la obtención de información específica, como encontrar
padres, hermanos, abuelos, etc., con consultas simples y directas.

También podría gustarte