Consultas en Prolog
February 20, 2017 | Author: Fher Gallegos Aguilar | Category: N/A
Short Description
Download Consultas en Prolog...
Description
Consultas en prolog Ejercicio 1 ¿Eduardo y Alicia son hermanos? Consulta en prolog: hermano (eduardo, alicia). Resultado: true ¿Quiénes son los padres de Beatriz? Consulta en Prolog: padres (beatriz,X,Y). Resultados: X = alicia, Y = mario. ¿Eduardo es hijo de Mario? Consulta en Prolog: hijo (eduardo,mario). Resultados: false ¿Luis es hijo de Verónica? Consulta en Prolog: hijo(luis, veronica). Resultados: true ¿De quién es hija Beatriz? Consulta en Prolog: padres (beatriz, X, Y). Resultados: X = alicia, Y = mario. Define reglas para las relaciones nieto y nieta. Regla para nieto: nieta(Ella, X) :- mujer(Ella),padres(Ella, P, _),padres(P,X,_). nieta(Ella, X) :- mujer(Ella),padres(Ella, _, M),padres(M,_,X). Regla para nieta: nieto(El, X) :- varon(El),padres(El, P, _),padres(P,X,_). nieto(El, X) :- varon(El),padres(El, _, M),padres(M,_,X). Defina reglas para la relación abuelo y abuela Regla para abuelo: abuelo(El,X):- varon(El),padres(El,_,M),hijo(M,X). abuelo(El,X):- varon(El),padres(El,P,_),hija(P,X). abuelo(Ella,X):- mujer(Ella),padres(Ella,_,M),hijo(M,X). abuelo(Ella,X):- mujer(Ella),padres(Ella,P,_),hija(P,X). Regla para abuela: abuela(Ella,X):- mujer(Ella),padres(Ella,_,M),hija(M,X). abuela(Ella,X):- mujer(Ella),padres(Ella,P,_),hija(P,X). abuela(El,X):- varon(El),padres(El,_,M),hija(M,X). abuela(El,X):- varon(El),padres(El,P,_),hija(P,X). Edita el archivo familares.pl para agregar las reglas definidas en los pasos anteriores, guarda el archivo, cárgalo nuevamente en el intérprete de Prolog y realiza las siguientes consultas:
¿Eduardo es abuelo? Consulta en Prolog: abuelo(X,eduardo). Resultados: False ¿Victoria es abuela? Consulta en Prolog: abuela(X,victoria). Resultados: X=beatriz ¿De quién es nieto Luis? Consulta en Prolog: nieto (luis,X). Resultados: X=francisco ¿Francisco es abuelo de Beatriz? Consulta en Prolog: abuelo(beatriz,francisco). Resultados: true Define al menos 2 de las siguientes relaciones: sobrino, sobrina, cuñado o cuñada. Codifícala en Prolog, modifica el archivo familares.pl y prueba que la relación está bien definida por medio de varias preguntas. Relación: sobrina (beatriz,X). Codificación: sobrino(El,X) :- varon(El),padres(El,M,_),hermana(M,X). sobrino(El,X) :- varon(El),padres(El,_,P),hermano(P,X). sobrina(Ella,X):- mujer(Ella),padres(Ella,M,_),hermana(M,X). sobrina(Ella,X):- mujer(Ella),padres(Ella,_,P),hermano(P,X). Ejercicio 2 ¿Aprueba el examen Juan? Consulta en Prolog: aprueba_examen(juan). Resultados: true ¿Está Susana preparada para el examen? Consulta en Prolog: preparado_para_examen(susana). Resultados: true ¿Quién es el sabio del grupo? Consulta en Prolog: sabe_todo(X). Resultados: X=tomas ¿Quiénes aprueban el examen? Consulta en Prolog: aprueba_examen(X). Resultados: X=tomas, X=Juan Dada la siguiente información: Si X está encima de Y, entonces Y soporta a X. Si X está arriba de Y y se tocan una y otra, entonces X está encima de Y.
La taza está arriba del libro. La taza toca al libro Escribe un programa en Prolog que use esta base de conocimiento y muestre que SOPORTA (libro, taza) es verdadero. Programa en Prolog: arriba(taza,libro). toca(libro,taza). soporta(taza,libro). encima(Y,X):- soporta(X,Y). encima(Y,X):- arriba(X,Y),toca(X,Y). SOPORTA (libro, taza)
V
Convierte a Prolog la pregunta: ¿Qué soporta a la taza? Pregunta en Prolog: soporta(taza, X). Respuesta: X = libro. Convierte a Prolog la pregunta: ¿Qué está encima del libro? Pregunta en Prolog: encima (libro, X). Respuesta: X = taza Comentarios y conclusiones
View more...
Comments