Você está na página 1de 5

INTELIGENCIA ARTIFICIAL

PROFA. JANE MARIA DOS SANTOS


EBERSON

Aluno
Kevin Rickelme Marques da Silva

LINGUAGEM DE PROGRAMAÇÃO – PROLOG – EXERCÍCIOS

Recorrência: As regras do Prolog são condicionais, os antecedentes podem depender dos fatos. O antecedente de
uma regra pode, também, depender da própria regra, de modo que a regra é definida por si mesma. Chamamos essa
situação de definição recorrente. Exemplo no banco de dados dos animais a regra para na-cadeia-alimentar se
enquadra nessa situação.

Considerando o banco de dados abaixo, encontre os resultados das perguntas de 1 a 8 em cada caso:

come(urso,peixe).
come(peixe,peixinho).
come(peixinho,alga).
come(guaxinim,peixe).
come(urso,guaxinim).
come(urso,raposa).
come(raposa,coelho).
come(coelho,grama).
come(urso,veado).
come(veado,grama).
come(lince,veado)

animal(urso).
animal(peixe).
animal(peixinho).
animal(guaxinim).
animal(raposa).
animal(coelho).
animal(veado).
animal(lince).
planta(alga).
planta(alga).

presa(X):- come(X,Y),animal(X).
predador(X):-come(X,Y),animal(Y).

na-cadeia-alimentar(X,Y):-come(X,Y).
na-cadeia-alimentar(X,Y):-come(X,Z),na-cadeia-alimentar(Z,Y).

1
1. come(urso,peixinoho).
R: True

2. come(raposa,coelho).
R: True

3. come(guaxinim,X).
R: peixe

4. come(X,grama).
R: Coelho e Veado.

5. come(urso,X),come(X,Coelho).
R:

6. presa(x),not(come(raposa,X)).

7. Formule uma regra de Prolog que defina “herbívoro” para adicionar ao banco de dados
R:
herbivoro(X):-come(X,Y),planta(Y).

8. Depois de adicionado a regra da questão 7, indique qual a resposta para a pergunta: herbívoro(X)
R:

2
9. Um banco de dados Prolog contém os dados a seguir, onde patrão(X,Y) significa que “X é patrão de Y” e
supervisor (X,Y)
significa que “X é supervisor de Y”.
patrão(Miguel,Joana).
patrão(Judite,Miguel).
patrão(Anita,Judite).
patrão(Judite,Kim).
patrão(Kim,Henrique).
patrão(Anita,Samuel).
patrão(Henrique,Jeferson).
patrão(Miguel,Hamal).

supervisor(X,Y) :- patrão(X,Y).
supervisor(X,Y) :- patrão(X,Z), supervisor(Z,Y).

Encontre os resultados das seguintes perguntas:


patrão(X,samuel).
R:

patrão(judite,X).
R:

supervisor(anita,X).
R:

3
10. Construa um banco de dados Prolog que forneça informações sobre estados e suas capitais. Algumas cidades são
grandes, outras são pequenas. Alguns estados estão na região sul, outros na região nordeste.

estado(parana, sul).

estado('santa cataria',sul).

estado('rio grande do sul',sul).

estado(ceara,nordeste).

estado(bahia,nordeste).

estado(sergipe,nordeste).

cidade(parana,grande).

cidade('santa catarina', grande).

cidade('porto alegre', grande).

cidade(fortaleza, pequena).

cidade(salvador,grande).

cidade(aracaju,pequena).

capital(parana, coritiba).

capital('santa catarina', florianopolis).

capital('rio grande do sul', 'porto alegre').

capital(ceara, fortaleza).

capital(bahia, salvador).

capital(sergipe, aracaju).

a. Escreva uma pergunta para encontrar todas as capitais pequenas.

cidade(X,pequena).

b. Escreva uma pergunta para encontrar todos os estados que têm capitais pequenas.

capital(X,Y),cidade(Y,pequena).

c. Escreva uma pergunta para encontrar todos os estados na região nordeste com capitais grandes.

estado(X,nordeste).

d. Formule uma regra para definir cidades cosmopolitas como sendo capitais grandes dos estados na região sul.

cosmopolita(X):-cidade(X,grande),capital(Y,X),estado(Y,sul).

e. Escreva uma pergunta para encontrar todas as cidades cosmopolitas.

cosmopolita(X) :- cidade(X,grande).

4
11. Suponha que exista um banco de dados Prolog que forneça informações sobre uma família. os
predicados homem, mulher e genitor-de estão incluídos.
a. formule uma regra para definir genitor-de.

genitor_de(X,Y).

b. formule uma regra para definir filha-de.

filha_de(X,Y,Z):- genitor_de(Z,X),pessoa(X,masculino),
genitor_de(Z,Y),pessoa(Y,feminino),
pessoa(Z,feminino).

c. formule uma regra recorrente para definir ancestral-de.

ancestral_de(X,Y):- genitor_de(X,Y).
ancestral_de(X,Y):- genitor_de(X,Z),
ancestral_de(Z,Y).

Você também pode gostar