Ejercicios en prolog

8
EJERCICIOS PROLOG INTELIGENCIA ARTIFICIAL II AUTOR: JEFFERSON CLÍDER GUILÉN VALENZUELA

Transcript of Ejercicios en prolog

Page 1: Ejercicios en prolog

EJERCICIOS PROLOGINTELIGENCIA ARTIFICIAL II

AUTOR:

• JEFFERSON CLÍDER GUILÉN VALENZUELA

Page 2: Ejercicios en prolog

EJERCICIO 1: ANIMALES Escribir un programa Prolog que pueda responder consultas sobre qué tipos de movimiento puede hacer un determinado animal. 

Tener en cuenta que : las aves pueden volar (no tener en cuenta las excepciones). los mamíferos pueden caminar. los felinos son mamíferos que, además, pueden correr. los peces y los delfines pueden nadar. los gatos son felinos. los canarios son aves. los perros son mamíferos. los peces espada son peces. 

e incluir a los siguientes animales como ejemplo : tweety es un canario. michifuz es un gato. fido es un perro. flipper es un delfín. cuchi es un pez espada

Page 3: Ejercicios en prolog

SOLUCION:

HECHOS

aves(canarios).felinos(gatos).mamiferos(perros).peces(pezespada).

canario(tweety).gato(michifuz).perro(fido).delfin(flipper).pezespada(cuchi).

REGLAS

vuelan(X):-aves(X);canario(X).nadan(X):-peces(X);pezespada(X);delfin(X).corren(X):-mamiferos(X);felinos(X);gato(X).caminan(Y):-mamiferos(Y);aves(Y);felinos(Y);canario(Y);gato(Y).

es_mamifero(X):-perro(X);gato(X);mamiferos(X);delfin(X);felinos(X).

Page 4: Ejercicios en prolog

EJERCICIO 2: AGENCIA MATRIMONIAL Escribir un programa Prolog que ayude a una agencia matrimonial, respondiendo consultas sobre qué parejas son

compatibles. Definimos a una pareja como un par (mujer, varón), no al revés. Incluir en el programa la siguiente información : Las mujeres melancólicas son compatibles con los varones serenos. Las mujeres decididas son compatibles con los varones reflexivos. Las mujeres soñadoras son compatibles con los varones Decididos. Juan es sereno y decidido. María es melancólica. Úrsula es decidida. Juana es soñadora. Pedro es reflexivo. José es melancólico. Según la información descripta, la pareja (María, Juan) es compatible, mientras que la pareja (Úrsula, Juan) no lo es. Agregar al programa la siguiente información : Cualquier pareja formada por un decidido y un melancólico es compatible. Según esta nueva información, la pareja (Úrsula, José) es compatible, mientras que si nos remitimos al punto a. no lo es. Agregar al programa la posibilidad de responder a consultas sobre si una persona es deseable. Decimos que una persona (varón o mujer) es deseable si es compatible con, por lo menos, dos personas distintas. Según la información descripta, Juan es deseable mientras que Juana no lo es.

Page 5: Ejercicios en prolog

SOLUCIÓN:HECHOS

mujer(maria).mujer(ursula).mujer(juana).

hombre(juan).hombre(pedro).hombre(jose).

sereno(juan).decidido(juan).decidido(ursula).melancolico(maria).melancolico(jose).sonadora(juana).reflexivo(pedro).

REGLA A

distintoSexo(M,H):-mujer(M),hombre(H).

compatible(M,H):-distintoSexo(M,H),melancolico(M),sereno(H).

compatible(M,H):-distintoSexo(M,H),decidido(M),reflexivo(H).

compatible(M,H):-distintoSexo(M,H),sonadora(M),decidido(H).

REGLA B

compatible(M,H):-distintoSexo(M,H),melancolico(M),decidido(H).

compatible(M,H):-distintoSexo(M,H),melancolico(H),decidido(M).

REGLA C

esDeseable(Persona):-compatible(Persona,M), compatible(Persona,H),

M \= H.

Page 6: Ejercicios en prolog

EJERCICIO 3:

Page 7: Ejercicios en prolog

SOLUCIÓN:Hechos

 esMadre(mona, homero). esMadre(jacqueline, march). esMadre(jacqueline, patty). esMadre(jacqueline, selma). esMadre(march, bart). esMadre(march, lisa). esMadre(march, maggie). esMadre(selma, ling). esPadre(abraham, herbert). esPadre(abraham, homero). esPadre(clancy, march). esPadre(abraham, patty). esPadre(abraham, selma). esPadre(homero, bart). esPadre(homero, lisa). esPadre(homero, maggie). 

Reglas

 esAbuela(A,B) :- esMadre(A, C), esMadre(C, B). esAbuela(A,B) :- esMadre(A, C), esPadre(C, B). esAbuelo(A,B) :- esPadre(A, C), esPadre(C, B). esAbuelo(A,B) :- esPadre(A, C), esMadre(C, B). esNieto(A,B) :- esAbuela(B,A). esNieto(A,B) :- esAbuelo(B,A). esNieta(A,B) :- esAbuela(B,A). esNieta(A,B) :- esAbuelo(B,A). esHermano(A,B) :- esMadre(N,A), esMadre(N,B), not(A=B). esHermano(A,B) :- esPadre(N,A), esPadre(N,B), not(A=B). esHermana(A,B) :- esMadre(N,A), esMadre(N,B), not(A=B). esHermana(A,B) :- esPadre(N,A), esPadre(N,B), not(A=B). esSobrino(A,B) :- esPadre(N,A), esHermano(N,B). esSobrino(A,B) :- esMadre(N,A), esHermana(N,B). esSobrina(A,B) :- esPadre(N,A), esHermano(N,B). esSobrina(A,B) :- esMadre(N,A), esHermana(N,B). esTio(A,B) :- esSobrino(B,A). esTio(A,B) :- esSobrina(B,A). esTia(A,B) :- esSobrino(B,A). esTia(A,B) :- esSobrina(B,A). esPrimo(A,B) :- esSobrino(A,C), esMadre(C,B), not(A=B). esPrimo(A,B) :- esSobrino(A,C), esPadre(C,B), not(A=B). esPrima(A,B) :- esSobrina(A,C), esMadre(C,B), not(A=B). esPrima(A,B) :- esSobrina(A,C), esPadre(C,B), not(A=B).

Page 8: Ejercicios en prolog

BIBLIOGRAFÍA

• Russell, S., Norvig, P. 2008. Inteligencia Artificial Un Enfoque Moderno. Segunda Edición. Pearson Education. España

• Ponce, P. 2011. Inteligencia artificial con aplicaciones a la ingeniería. Primera Edición.

• García, A. 2012. Inteligencia artificial, Fundamentos, práctica y aplicaciones. Primera Edición.

• Benítez, R., Escudero, G., Masip, D., Kanaan, S., 2014, Inteligencia artificial avanzada. Primera Edición.