Lista 2 Prolog
Segunda Lista de IA
Universidade COC
1) 1. Escreva sentenças atômicas para o seguinte vocabulário e interrogue PROLOG para obter informações:
Primeiramente deve-se criar as clausulas em Prolog segundo as informação acima. Sendo assim, podemos criar: mora_em(joao,casa). mora_em(maria,apartamento). homem(joao). mulher(maria). animal(cachorro). animal(gato). esporte(natacao). jogo(xadres). jogo(tenis). gosta_de(joao,mulher). gosta_de(maria,homem). gosta_de(joao,maria). gosta_de(joao,tenis). gosta_de(joao,xadres). gosta_de(maria,cachorro). gosta_de(maria,gato). gosta_de(maria,natacao). - Quem mora em apartamento e gosta de animais?
?- mora_em(X,apartamento), gosta_de(X,Y), animal(Y).
X = maria,
Y = cachorro ;
X = maria,
Y = gato
Joao e Maria moram em casa e gostam de esportes?
?- mora_em(X,Y), gosta_de(X,Z), esporte(Z).
X = maria,
Y = apartamento,
Z = natacao.
Agora tentando escrever para João e Maria morando em casa vai falhar pois maria mora em apartamento e além disso só tem um esporte definido que é a natação e joão não gosta. mora_em(joao,X),mora_em(maria,Y),esporte(Z), gosta_de(X,Z), gosta_de(Y,T), esporte(T) .
- Quem gosta de jogos e esportes?
?- gosta_de(X,Y), esporte(Y).
X = maria,
Y = natacao.
?- gosta_de(X,Y), jogo(Y).
X = joao,
Y = tenis ;
X = joao,
Y = xadres ; fail. - Tem alguma mulher que jogue tenis e gosta de gatos?
?- mulher(X), gosta_de(X,tenis), gosta_de(X,gato).
fail.
Neste caso, maria mulher, porém não gosta de tênis e gosta de gato.
Falta definir que ela gosta de tênis.
2. Considere a interrogação ?-a(X,Y),b(X,Y). com a seguinte base de dados a(1,1). a(2,1). a(3,2). a(4,4). b(1,2). b(1,3). b(2,3). b(3,2). b(4,4). sem usar o computador, responda:
a) quais são, e em que ordem, todas as respostas obtidas (enquanto for entrado “;”).
?- a(X,Y),b(X,Y).
X = 3,
Y=2;
X = 4,
Y = 4.
b) idem para ?-a(X,Y),b(X,Y),a(Y,Y).
X = 4,
Y = 4.
3) Considere os seguintes fatos Prolog easy(1). gizmo(a, 1). gizmo(c, 3). easy(2). gizmo(b, 3). gizmo(a, 3).