UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA Escuela Académico Profesional
Views 263 Downloads 6 File size 553KB
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA Escuela Académico Profesional de Ingeniería de Sistemas
INTELIGENCIA ARTIFICIAL SEMESTRE 2019 -1
CLASE N° 09: FUNDAMENTOS DE SISTEMAS EXPERTOS –ARBOL GENEALOGICO (PROLOG)
Lo primero que debemos hacer es generar nuestros hechos o lo que nuestro programa sabe, y en lo que se basara para dar respuestas a nuestras consultas.
1. DEFINICION DE GENERO Iniciaremos por indicarle el género de cada uno de los integrantes de nuestro árbol genealógico como se muestra a continuación:
hombre(arthur). hombre(bill). hombre(louis). hombre(teddy). hombre(percy). hombre(george). hombre(fred). hombre(harry). hombre(james). hombre(albus). hombre(ron). hombre(hugo).
mujer(molly). mujer(fleur). mujer(victoire). mujer(dominique). mujer(audrey). mujer(lucy). mujer(molly). mujer(angelina). mujer(roxanne). mujer(ginny). mujer(lily). mujer(hermione). mujer(rose).
2. DEFINICION DE PADRE-HIJO(A)/MADRE-HIJO(A) Una vez hecho lo anterior, es momento de indicarle quien es padre de quien, quien es el “progenitor” de alguien más, como se muestra a continuación: progenitor(molly,bill).
progenitor(percy,molly).
progenitor(molly,percy).
progenitor(audrey,lucy).
progenitor(molly,george).
progenitor(audrey,molly).
progenitor(molly,ginny).
progenitor(george,fred).
progenitor(molly,ron).
progenitor(george,roxanne).
progenitor(arthur,bill).
progenitor(angelina,fred).
progenitor(arthur,percy).
progenitor(angelina,roxanne).
progenitor(arthur,george).
progenitor(ginny,james).
progenitor(arthur,ginny).
progenitor(ginny,lily).
progenitor(arthur,ron).
progenitor(ginny,albus).
progenitor(bill,victoire).
progenitor(harry,james).
progenitor(bill,dominique).
progenitor(harry,lily).
progenitor(bill,louis).
progenitor(harry,albus).
progenitor(fleur,victoire).
progenitor(ron,hugo).
progenitor(fleur,dominique).
progenitor(ron,rose).
progenitor(fleur,louis).
progenitor(hermione,hugo).
progenitor(percy,lucy).
progenitor(hermione,rose).
3. DEFINICION DE PAREJAS Y por último es necesario indicarle quien es pareja de quien: pareja(arthur,molly).
pareja(angelina,george).
pareja(molly,arthur).
pareja(ginny,harry).
pareja(bill,fleur).
pareja(harry,ginny).
pareja(fleur,bill).
pareja(ron,hermione).
pareja(percy,audrey).
pareja(hermione,ron).
pareja(audrey,percy).
pareja(victoire,teddy).
pareja(george,angelina).
pareja(teddy,victoire).
4. DEFINIR HECHOS Una vez que concluimos con los hechos, es momento de generar las reglas que debe tener nuestro programa: padre(X,Y):-hombre(X),progenitor(X,Y). madre(X,Y):-mujer(X),progenitor(X,Y). hermanos(X,Y):-progenitor(Z,X),progenitor(Z,Y), not(X==Y). hermano(X,Y):-hombre(X),hermanos(X,Y). hermana(X,Y):-mujer(X),hermanos(X,Y). esposo(X,Y):-pareja(X,Y),hombre(X). esposa(X,Y):-pareja(X,Y),mujer(X). suegro(X,Y):-padre(X,Z),pareja(Y,Z). suegra(X,Y):-madre(X,Z),esposos(Y,Z). yerno(X,Y):-suegro(Y,X);suegra(Y,X),hombre(X). nuera(X,Y):-suegro(Y,X);suegra(Y,X),mujer(X). cuñados(X,Y):((pareja(X,Z),hermanos(Z,Y));(pareja(Y,Z),hermanos(Z,X))). cuñado(X,Y):-cuñados(X,Y),hombre(X). cuñada(X,Y):-cuñados(X,Y),mujer(X). abuelo(X,Y):-progenitor(Z,Y),padre(X,Z). abuela(X,Y):-progenitor(Z,Y),madre(X,Z). nieto(X,Y):-progenitor(Y,Z),progenitor(Z,X),hombre(X). nieta(X,Y):-progenitor(Y,Z),progenitor(Z,X),mujer(X). tio(X,Y):-progenitor(Z,Y),(hermano(X,Z);cuñado(X,Z)). tia(X,Y):-progenitor(Z,Y),(hermana(X,Z);cuñada(X,Z)). primo(X,Y):progenitor(Z,X),progenitor(W,Y),hermanos(Z,W),hombre(X). prima(X,Y):-progenitor(Z,X),progenitor(W,Y),hermanos(Z,W),mujer(X).
En las reglas anteriores está definida cada una de las relaciones posibles que se pueden llegar a dar en el árbol genealógico
5. CONSULTAS