Download - guiame2 prolog
-
8/14/2019 guiame2 prolog
1/6
Universidad Nacional del Altiplano PunoEscuela Profesional de Ingeniera de Sistemas
CURSO: INTELIGENCIA ARTIFICIAL
GUA ACADMICA Nro. 2
TEMA: PREDICADOS
Apellidos y Nombres: Nro. Matrcula: .OBJETIVOS:
Conocer la forma de declarar y utilizar los predicados
REQUERIMIENTOS:
Pc con Visual Prolog
PROCEDIMIENTO
PARTE 1: Bsquedas: Entendiendo las Variables y Predicados.
La practica le permitir proponer un sistema experto que deduzca quien escuado de quien en una familia en base a una serie de conocimientospropuestos, para esto se ira paso a paso.
Crear un Documento en Visual Prolog y copiar :
DOMAINS
persona= symbol
PREDICATES
hijo(persona,persona)
hermana(persona,persona)
hermano(persona,persona)
casado(persona,persona) % Se consideran los 4 predicados bsicos para
el ingreso de la base de conocimientosCLAUSES
hijo("Dan", "Juan").
hijo("Pedro", "Dan").
hijo("Ivan", "Dan").
hermana("Maria","Susana").
hermano("Harold", "Larry").
hermano("Ivan", "Simon").
casado("Juan", "Maria").
casado("Larry", "Sue").
Ahora se pretende buscar en la base de conocimiento ingresada, para esto setendr que aplicar GOAL en la ltima lnea de cdigo (que falta) modificndolacada vez y haciendo correr la consulta con el botn G.
Casos: Indicar cual es la respuesta de la consulta:
Quien es hijo Dan:GOAL hijo(X, "Dan").
Respuesta:
1
-
8/14/2019 guiame2 prolog
2/6
Universidad Nacional del Altiplano PunoEscuela Profesional de Ingeniera de Sistemas
CURSO: INTELIGENCIA ARTIFICIAL
2
-
8/14/2019 guiame2 prolog
3/6
Universidad Nacional del Altiplano PunoEscuela Profesional de Ingeniera de Sistemas
CURSO: INTELIGENCIA ARTIFICIAL
Todos los hijos.GOAL hijo(X,Y).
Respuesta:
Hermanas de SueGOAL
Respuesta:
Hermanas de SusanaGOAL
Respuesta:
Hermanos de Larry
GOALRespuesta:
Todos los casados:GOAL
Respuesta:
Todos los hijos de Dan:GOAL
Respuesta:
PARTE 2: Mejorando los Predicados: Usando :- , ;
La idea de esta parte es encontrar quien es cuado de quien en base a lasclusulas definidas anteriormente, para esto antes de GOAL ubique elsiguiente predicado (No interesa que exista doble PREDICATES Y CLAUSES)
PREDICATES
cunado(persona,persona)
CLAUSES
cunado(A,B):-casado(A,C), hermana(C,B).
cunado(A,B):-hermano(A,C), casado(C,B).
Referencia: Las variables A, B y C permiten desarrollar las bsquedasnecesarias en caso estas sean encontradas se cumplan una tras otra en serverdaderas son asignadas a cuado y se ven como respuestas.
3
-
8/14/2019 guiame2 prolog
4/6
Universidad Nacional del Altiplano PunoEscuela Profesional de Ingeniera de Sistemas
CURSO: INTELIGENCIA ARTIFICIAL
Consultas:
De quien es el cuado(a) de Juan:GOAL cunado("Juan", Z)
Respuesta:
Quien es el cuado de Maria:GOAL
Respuesta:
Todos los cuados:GOAL
Respuesta:
PARTE 2: Mejorando la aplicacin trabajando con nuevos predicadosSe desea conocer en base a los conocimientos definidos:
PREDICATES
padre(persona,persona)
abuelo(persona,persona)
CLAUSES
padre(A,B):-hijo(B,A ). % no toma en cuenta los hermanos cruzadosabuelo(A,B):-padre(A,C), padre(C,B).
Consultas:
Todos los padres:GOAL
Respuesta:
Todos los abuelos:GOAL
Respuesta:
Se desea conocer los hermanos en comn ya que no se distingue entre estos,existen dos predicados diferentes hermana y hermano, es mas esta no es unarelacin de arriba abajo si no del miso nivel por ejemplo si se consulta:
GOAL hermana("Susana",X).
La respuesta es: Sin Solucin, pero: hermana("Maria","Susana").
La solucin parte por incluir un nuevo predicado (incluirlo al final antes deGOAL):
4
-
8/14/2019 guiame2 prolog
5/6
Universidad Nacional del Altiplano PunoEscuela Profesional de Ingeniera de Sistemas
CURSO: INTELIGENCIA ARTIFICIAL
PREDICATES
hermanos(persona,persona)
CLAUSES
hermanos(A,B):-hermano(A,B). %una clusula hermano corresponde a
hermanoshermanos(A,B):-hermano(B,A). %un hermano puede referirse en forma
inversa definindose as en hermanoshermanos(A,B):-hermana(A,B). %una clusula hermana corresponde a
hermanoshermanos(A,B):-hermana(B,A). %una hermana puede referirse en forma
inversa definindose as en hermanoshermanos("Popo","Ququ"). %Puede definirse nuevas clusulashermanos("Maria", "Pedro").
Referencia: Ntese que un predicado no es solamente una definicin si no que sepuede sobrecargar, osea redefinirla varias veces.
Consultas:
Todos los hermanos existentes:GOAL
Respuesta:
CONCLUSIONES
RECOMENDACIONES
5
-
8/14/2019 guiame2 prolog
6/6
Universidad Nacional del Altiplano PunoEscuela Profesional de Ingeniera de Sistemas
CURSO: INTELIGENCIA ARTIFICIAL
TRABAJO APLICATIVO
1. Sobrecargue el predicado hermanos, para encontrar a los hermanos que
tengan el mismo padre, utilizando el predicado hijo:
Ejemplo: Pedro e Ivan son hermanos por que tienen el mismo padre.
hijo("Pedro", "Dan").
hijo("Ivan", "Dan").
2. Sobrecargue el predicado padre, para encontrar a los hijos de un padre que
son los hermanos de sus hijos, utilizando el predicado hijo y hermano.
Ejemplo: Si Ivan es hijo de Dan e Ivan es hermano de Simon, entonces Simon
es hijo de Dan.hijo("Ivan", "Dan").
hermano("Ivan", "Simon").
6