Genealogia
Enviado por mariojairlf • 30 de Abril de 2014 • Síntesis • 323 Palabras (2 Páginas) • 222 Visitas
2. Observemos que Genealogia.pl contiene un conjunto de hechos (predicados atómicos). Identifique 3 muéstrelos a continuación.
Padre(Abraham,isaac).
padre(haran,lot).
padre(haran,milca).
3. En la consola de SWI- Prolog podemos hacer consultas, usando los hechos y predicados contenidos en el archivo. La consulta “mujer(X)” , devolverá todos los valores de X para los cuales el hecho es verdadero, es decir, se encuentra en la base de hechos. Para ver todos los valores de X, teclee “;” después de cada respuesta.
mujer(X).
X = sara ;
X = milca ;
true.
4. Realice las consultas siguientes y registre el resultado:
padre(abraham,X).
X = isaac.
madre(X,Y).
X = sara,
Y = isaac.
abuelo(X,isaac).
X = tera
5. Traduzca la expresión a una consulta en prolog, realícela y registre los resultados obtenidos:
Todos los hombres.
varon(X).
X = tera ;
X = abraham ;
X = nacor ;
X = haran ;
X = isaac ;
X = lot.
Todos los abuelos.
abuelo(X,_).
X = tera ;
Los nietos de “tera”
abuelo(tera,Y).
Y = isaac ;
Y = lot ;
Y = milca.
Las hijas de “haran”
hija(X,haran).
X = milca ;
El padre de “lot”
padre(X,lot).
X = haran.
6. Observe cómo se construye el predicado “hijo(X,Y)”. Este predicado significa lo siguiente:
X es hijo de Y si Y es padre de X y X es varón.
hijo(X,Y):- padre(Y,X) , varon(X).
Escriba el predicado “hermano(X,Y)” que refleje la relación X es hermano de Y. (el género también importa). Incluya el predicado en el archivo Genealogia.pl Use el menú File → Edit y al terminar la edición, guarde los cambios y vuelva a consultar el archivo.
hermano(X,Y):-
padre(Z,Y),
padre(Z,X),
varon(X),
X\==Y.
7. Consulte los hermanos de “abraham” y agregue el resultado.
hermano(X,abraham).
X = nacor ;
X = haran ;
9. Escriba el predicado “hermana(X,Y)” que refleje la relacion X es hermana de Y.
hermana(X,Y):-
padre(Z,X),
padre(Z,Y),
mujer(X),
X\==Y.
10. Consulte las hermanas de “abraham”.
hermana(X,abraham).
X = sara ;
11. Incluya los predicados para X está casado con Y.
casados(X,Y):-
varon(X),
mujer(Y),
hijo(Z,X),
hijo (Z,Y),
hija (Z,X),
hija (Z,Y).
12. Incluya el predicado X es heredero de Y. Los herederos son los hijos, nietos y cónyuges.
heredero(X,Y):-
hijo(X,Y);
casados(X,Y);
abuelo(Y,X).
...