Prolog 2
ANDRESSA LEITE HENRIQUES – RA 1634879
LUÃ IVO MACHADO – RA 1632655
FABRICIO SOUZA OLIVEIRA – RA 1634810
LÓGICA PARA COMPUTAÇÃO
PROJETO DE PROLOG
CORNELIO PROCOPIO
12/2014
DESCRIÇÃO DO DOMINIO
O programa foi realizado com base na Serie Agent of The Shield, com a intenção de verificar o que cada personagem da faz, quais suas características, para quem trabalham.
REGRAS
mulher(X) :- sexo(X, mulher).
Mulher é toda aquele que está definido no fato como sexo(nome, mulher).
homem(X) :- sexo(X, homem).
Homem é toda aquele que está definido no fato como sexo(nome ,homem).
vilao(X) :- tipo(hidra, X).
Vilão é todo aquele que está definido no fato como tipo(hidra, nome).
traidor(X) :- tipo(agente, X), tipo(hidra, X).
Traidor é todo aquele que é agente e hidra ao mesmo tempo nos fatos.
shield(X) :- tipo(agente, X).
Shield é todo aquele que é agente.
perseguido(X, Y) :- tipo(alienigena, X), vilao(Y), X\=garrett.
Todo alienígena exceto o garrett é perseguido por todos que são vilões.
alienigena(X) :- tipo(alienigena, X).
Alienígena é todo aquele que está definido no fato como tipo(alienígena, nome).
defensor(X, Y) :- shield(X), alienigena(Y), X\=Y.
Todo Shield defende os alienígenas.
diretor(X, Y) :- tipo(diretor, X), tipo(agente, Y).
Diretor é diretor de todos os agentes.
manda(X, Y) :- nivel(X,6), nivel(Y,4).
Agente nível 6 manda no agente nível 4.
pai(X, Y) :- progenitor(X, Y).
Pai de x é progenitor de y.
recolhe_amostra(X) :- nivel(X, 4).
Nivel 4 recolhe amostras.
bem(X) :- tipo(agente, X), X\=garrett, X\=ward; tipo(diretor, X).
Todo agente e diretor que não é hidra é do bem.
mercenario(X) :- tipo(intermediador,X).
Mercenário é quem intermedia.
financia_hidra(X) :- tipo(patrocinador, X).
Patrocinador financia a hidra.
missao_facil(X) :- tipo(agente, X).
Agente x tem missão fácil.
missao_dificil(X) :- nivel(X, 6), tipo(diretor, X).
Agente x e Diretor tem missão