Buscar

Aula29_30 - Etapa02 - I A - Agentes lógicos_lógica de primeira ordem_prolog

Prévia do material em texto

INTELIGÊNCIA ARTIFICIAL 
BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO 
SEMESTRE: 6º 
Prof. Me. Rhyan Ximenes 
 
INTELIGÊNCIA ARTIFICIAL 1 
Lattes: lattes.cnpq.br/2089613781353862 
http://lattes.cnpq.br/2089613781353862
Agentes Lógicos 
• Podem formar representações de um mundo complexo, usando um 
processo de inferência para derivar novas representações sobre o 
mundo e utilizar essas novas representações para deduzir o que 
fazer. 
INTELIGÊNCIA ARTIFICIAL 2 
Agentes Lógicos 
• Essas declarações não são vazias e produzem alegações fortes de 
como a inteligência dos seres humanos é alegada; 
• Não por mecanismos puramente reflexos, mas por processos de 
raciocínio que operam em representações internas de 
conhecimento. 
INTELIGÊNCIA ARTIFICIAL 3 
Os seres humanos parece que sabem das coisas; 
O que sabem os ajudam a fazer as coisas; 
Agentes Lógicos 
• A Inteligência Artificial é incorporada em agentes baseados em 
conhecimento; 
• O conteúdo central de um agente baseado em conhecimento é sua 
base de conhecimento; 
• Uma base de conhecimento é um conjunto de sentenças. 
• Cada sentença é expressa em uma linguagem chamada linguagem 
de representação de conhecimento e representa alguma asserção 
sobre o mundo. 
INTELIGÊNCIA ARTIFICIAL 4 
Agentes Lógicos 
• Como todo agente ele recebe uma percepção como entrada e 
retorna uma ação; 
• Ele mantém uma pequena base de conhecimento. 
INTELIGÊNCIA ARTIFICIAL 5 
Figura 1. Função de um agente baseado em conhecimento genérico 
Fonte: Norving e Russel (2014) 
O Mundo de 
Wumpus 
• O mundo de wumpus é uma caverna 
que consiste em salas conectadas por 
passagens; 
• À espreita em algum lugar na caverna 
está o terrível wumpus, um monstro 
que devora qualquer guerreiro que 
entrar em sua sala; 
• O wumpus pode ser atingido por um 
agente, mas o agente só tem uma 
flecha; 
• Algumas salas contêm poços sem 
fundo nos quais cairá qualquer um 
que vagar por elas (com exceção do 
wumpus, que é muito grande para cair 
em um poço); 
• A única característica que abranda 
esse ambiente desolador é a 
possibilidade de encontrar um monte 
de ouro; 
INTELIGÊNCIA ARTIFICIAL 6 
O Mundo de Wumpus 
INTELIGÊNCIA ARTIFICIAL 7 
Figura 2. Agente Wumpus 
Fonte: Norving e Russel (2014) 
Wumpus 
Agente 
caçador de 
tesouros 
• Embora o mundo de wumpus seja bastante domesticado para os padrões 
dos modernos jogos de computador, ele ilustra alguns pontos importantes 
sobre a inteligência. 
O Mundo de Wumpus 
INTELIGÊNCIA ARTIFICIAL 8 
Figura 3. Agente Wumpus 
Fonte: Norving e Russel (2014) 
Wumpus 
Agente 
caçador de 
tesouros 
Definição precisa do 
ambiente de tarefa 
 
Medida de desempenho: +1.000 
para sair da caverna com o ouro, –
1.000 se cair em um poço 
ou for devorado pelo wumpus, –1 
para cada ação executada e –10 
pelo uso da flecha; 
O jogo termina quando o agente 
morre ou quando sai da caverna. 
Ambiente: Uma malha 4 × 4 de salas. 
Atuadores: O agente pode mover-se ParaFrente, VirarEsquerda 90° ou VirarDireita 
90°. 
O Mundo de Wumpus 
INTELIGÊNCIA ARTIFICIAL 9 
Figura 4. Agente Wumpus 
Fonte: Norving e Russel (2014) 
Wumpu
s 
Agente 
caçador de 
tesouros 
Definição precisa do ambiente de tarefa 
Sensores: O agente tem cinco sensores, cada um dos quais fornece um único bit de 
informação: 
– No quadrado contendo o wumpus e nos quadrados diretamente adjacentes, o agente 
perceberá um Fedor. 
– Nos quadrados diretamente adjacentes a um poço, o agente perceberá uma Brisa. 
– No quadrado onde está o ouro, o agente perceberá um Brilho. 
– Quando caminhar para uma parede, o agente perceberá um Impacto. 
– Quando o wumpus é morto, ele emite um Grito triste que pode ser percebido em 
qualquer lugar na caverna. 
O Mundo de Wumpus 
Formulação do problema 
10 
Ambiente: 
paredes, Wumpus, cavernas, buracos, ouro; 
Estado inicial: 
agente na caverna (1,1) com apenas uma flecha, Wumpus e buracos 
em cavernas quaisquer; 
Objetivos: 
pegar a barra de ouro & voltar à caverna (1,1) com vida. 
O Mundo de Wumpus 
Formulação do problema 
11 
Percepções: 
Fedor ao redor do Wumpus; 
Vento ao redor dos buracos; 
Brilho do ouro - apenas na caverna onde ele está; 
Choque contra a parede da caverna; 
Grito do Wumpus quando ele morre. 
O Mundo de Wumpus 
Formulação do problema 
12 
Ações do agente: 
Avançar para próxima caverna; 
Girar 90 graus à direita ou à esquerda; 
Pegar o ouro na mesma caverna onde o agente está; 
Atirar a flecha na direção para onde está olhando, parar quando encontra 
uma parede ou matar o Wumpus; 
Sair da caverna. 
O Mundo de Wumpus 
13 
• A base de conhecimento inicial do agente contém as regras do ambiente, 
como descrito anteriormente; em particular, ele sabe que está em [1,1] e 
que [1,1] é um quadrado seguro; isso está indicado com um “A” e “OK”, 
respectivamente, no quadrado [1,1]. 
• A primeira percepção é [Nada, Nada, Nada, Nada, Nada], a partir da qual o 
agente pode concluir que seus quadrados vizinhos, [1,2] e [2,1], são seguros 
— estão OK 
O Mundo de Wumpus 
14 
Figura 5. Estado de conhecimento do agente nesse momento 
Fonte: Norving e Russel (2014) 
O primeiro passo dado pelo agente no mundo de wumpus: 
(a) A situação inicial, depois da percepção [Nada, Nada, Nada, Nada, Nada]; 
(b) Depois de um movimento, com a percepção [Nada, Brisa, Nada, Nada, 
Nada]. 
O Mundo de Wumpus 
15 
Figura 6. Estado de conhecimento do agente nesse momento 
Fonte: Norving e Russel (2014) 
Duas fases posteriores no progresso do agente: 
(a) Depois do terceiro movimento, com a percepção [Fedor, Nada, Nada, 
Nada, Nada]; 
(b) Depois do quinto movimento, com a percepção [Fedor, Brisa, Brilho, Nada, 
Nada]. 
 
O Mundo de Wumpus 
16 
 Conhecimento do agente: 
(a) no início do jogo, depois de receber sua primeira percepção; 
(b) depois do 1o movimento, com a seqüência de percepções 
[nada,vento,nada,nada,nada] 
1 
2 
3 
4 1 2 3 
4 
ok 
ok 
ok 
A 1 
2 
3 
4 1 2 3 
4 
ok 
A 
ok 
V 
v 
ok 
Poço? 
Figura 8. Item A 
Fonte: Baseado em Norving e Russel (2014) 
Figura 8. Item B 
Fonte: Baseado em Norving e Russel (2014) 
Poço? 
O Mundo de Wumpus 
17 
• Não-observável; 
• Determinístico; 
• Não-Episódico; 
• Estático; 
• Discreto. 
Tipo do ambiente 
Figura 4. Agente Wumpus 
Fonte: Norving e Russel (2014) 
Wumpus 
Agente 
caçador de 
tesouros 
O Mundo de Wumpus 
18 
• Reativo; 
• Reativo com estado interno (autômato); 
• Baseado em objetivos; 
• Otimizador; 
• Adaptativo. 
 
Figura 4. Agente Wumpus 
Fonte: Norving e Russel (2014) 
Wumpus 
Agente 
caçador de 
tesouros 
Arquitetura do Agente 
Lógica 
• Lógica também deve definir a semântica ou o significado das sentenças; 
• A semântica define a verdade de cada sentença com relação a cada 
mundo possível. 
INTELIGÊNCIA ARTIFICIAL 19 
• Por exemplo, a semântica habitual adotada pela aritmética especifica 
que a sentença “x + y = 4” é verdadeira em um mundo no qual x é 2 e 
y é 2; 
• Mas é falsa em um mundo em que x é 1 e y é 1; 
Lógica de Primeira Ordem 
• Suficientemente expressiva para representar de forma satisfatória 
nosso conhecimento comum; 
• Compõe ou forma os alicerces de muitas outras linguagens de 
representação e foi intensivamente estudada por muitas décadas; 
• A lógica de primeira ordem é elaborada em torno de objetos e 
relações; 
• Um termo é uma expressão lógica que se refere a um objeto; 
INTELIGÊNCIA ARTIFICIAL 20 
Lógica de Primeira Ordem 
• Uma sentença atômica (ou átomo, para encurtar) é formada a 
partir de um símbolo de predicado, seguido por uma lista de 
termos entre parênteses: 
• Irmão(Ricardo, João) ; 
• As sentenças atômicas podem ter termos complexos como 
argumentos. 
Desse modo, Casado(Pai(Ricardo), Mãe(João)) ; 
INTELIGÊNCIA ARTIFICIAL 21 
Introdução a Lógica de Primeira Ordem com 
Prolog 
• Aplicações em Lógica: 
• Sistemas Baseados em Conhecimento (SBCs); 
• Sistemas de Bases de Dados(BDs); 
• Sistemas Especialistas (SEs); 
• Processamento da Linguagem Natural (PLN); 
• Educação; 
• Entre outras 
INTELIGÊNCIA ARTIFICIAL 22 
Introdução a Lógica de Primeira Ordem com 
Prolog 
• Para Palazzo (1997), Algumas das principais características da 
linguagem Prolog são: 
• É uma linguagem orientada ao processamento simbólico; 
• Representa uma implementação da lógica como linguagem de 
programação; 
• Apresenta uma semântica declarativa inerente à lógica; 
• Permite a definição de programas reversíveis, isto é, programas 
que não distinguem entre os argumentos de entrada e os de 
saída; 
• Permite a obtenção de respostas alternativas; 
INTELIGÊNCIA ARTIFICIAL 23 
Introdução a Lógica de Primeira Ordem com 
Prolog 
• Para Palazzo (1997), Algumas das principais características da 
linguagem Prolog são: 
• Suporta código recursivo e iterativo para a descrição de processos 
e problemas, dispensando os mecanismos tradicionais de controle, 
tais como while, repeat, etc; 
• Permite associar o processo de especificação ao processo de 
codificação de programas; 
• Representa programas e dados através do mesmo formalismo; 
• Incorpora facilidades computacionais extralógicas e metalógicas. 
INTELIGÊNCIA ARTIFICIAL 24 
Introdução a Lógica de Primeira Ordem com 
Prolog 
Ex: Expressar em Prolog o fato “João gosta de Maria”: 
 
• objetos: “Maria” e “João” 
• relacionamento: “gosta de”, ou simplificando, “gosta”. 
• Em Prolog: gosta(joao,maria). 
INTELIGÊNCIA ARTIFICIAL 25 
Fatos 
• Fatos servem para estabelecer um relacionamento existente entre objetos 
de 
um determinado contexto de discurso. 
Introdução a Lógica de Primeira Ordem com 
Prolog 
• Um exemplo simples de fato com dois argumentos seria a relação 
amiga: 
• Amiga (joana, maria). 
• Amiga(maria,joana). 
• Amiga(joana,paula). 
• Amiga(paula,camila). 
• Amiga(camila,maria). 
INTELIGÊNCIA ARTIFICIAL 26 
Fatos 
• Assim, define-se uma relação (amizade) entre dois argumentos (joana e maria). 
• Obviamente podemos ter um fato com apenas um argumento: 
• homem(carlos). 
• mulher(mariana). 
Introdução a Lógica de Primeira Ordem com 
Prolog 
Ex: Expressar em Prolog o fato “João gosta de Maria”: 
 
• objetos: “Maria” e “João” 
• relacionamento: “gosta de”, ou simplificando, “gosta”. 
• Em Prolog: gosta(joao,maria). 
INTELIGÊNCIA ARTIFICIAL 27 
Fatos 
• Recupera informações de um programa lógico; 
• Uma consulta pergunta se uma determinado relacionamento existe entre 
objetos. 
• Por exemplo: ?- pai(X,abel). 
• Resposta: X = Adão 
 
Consultas 
Introdução a Lógica de Primeira 
Ordem com Prolog 
Consultas 
INTELIGÊNCIA ARTIFICIAL 28 
• Recupera informações de um programa lógico; 
• Uma consulta pergunta se uma determinado relacionamento existe entre 
objetos. 
• Por exemplo: ?- pai(X,abel). 
• Resposta: X = Adão 
 
Introdução a Lógica de Primeira Ordem com 
Prolog 
• pai(adão,cain). 
• pai(adão,abel). 
• pai(adão,seth). 
• pai(seth,enos). 
INTELIGÊNCIA ARTIFICIAL 29 
Fatos 
• ?-pai(X,abel) 
• Resposta: X = adão 
• ?-pai(X,enos) 
• Resposta: X=seth 
Consultas 
• ?-pai(adão,X) 
• Resposta: 
• X = cain 
• X = abel 
• X = seth 
• Todo fato é composto por um predicado que estabelece 
uma relação entre seus argumentos e encerrado por um 
ponto (.) 
Introdução a Lógica de Primeira Ordem com 
Prolog 
• pai(adão,cain). 
• pai(adão,abel). 
• pai(adão,seth). 
• pai(seth,enos). 
INTELIGÊNCIA ARTIFICIAL 30 
Fatos 
Consultas 
• Quem é o pai do pai de Enos? 
• Então, como o pai de Enos não é conhecido a priori, a consulta correspondente 
a essa pergunta tem dois objetivos: 
• Descobrir quem é o pai de Enos, digamos que seja Y; depois 
• Descobrir quem é o pai de Y. 
 
?- pai(Y,enos), pai(X,Y). 
Y = seth 
X = adão 
yes 
• Um fato denota uma verdade incondicional. 
Introdução a Lógica de Primeira Ordem com 
Prolog 
• Explificando em Prolog os fatos abaixo relacionados. 
a) O signo de Maria é peixes. 
signo(maria,peixes). 
signo(maria,X). 
X = peixes 
b) A estatura de Pedro é alta. 
estatura(pedro,alta). 
estatura(pedro,X). 
X = alta. 
INTELIGÊNCIA ARTIFICIAL 31 
Fatos 
Introdução a Lógica de Primeira Ordem com 
Prolog 
pais(olga,rui). % São sempre verdadeiras, fatos 
 
• filhos(X,Y) :- pais(Y,X). 
 
 
INTELIGÊNCIA ARTIFICIAL 32 
Regras e Fatos 
cabeça corpo 
Conclusão Condições 
% Comenta toda a linha. 
/* Comenta mais de uma linha*/ 
 
A função dos comentários é explicar o que um programa faz e, desta forma, 
torná-lo mais compreensível para os colaboradores do programador 
(ARARIBÓIA, 1988). 
Fatos 
Regra 
Regras 
• Regras permitem definir novas relações em termos de outras 
relações já existentes; 
• Por exemplo, a regra: 
• avô(X,Y) :- pai(X,Z), pai(Z,Y). 
• Define a relação avô em termos da relação pai, ou seja, 
estabelece que X é avô de Y se X tem um filho Z que é pai de Y. 
• Com essa regra, pode-se agora realizar consultas tais como 
• ?- avô(X, enos). 
• X = adão 
 
INTELIGÊNCIA ARTIFICIAL 33 
Regras 
• A regra para definir o relacionamento IRMÃO é escrita como: 
• irmão(X,Y) :- pai(Z,X), pai(Z,Y), X\=Y. 
 
• Evidentemente, poderíamos definir a relação irmão simplesmente 
listando todas as suas instâncias. Veja: 
• irmão(cain,abel). 
• irmão(cain,seth). 
• irmão(abel,cain). 
• irmão(abel,seth). 
• irmão(seth,cain). 
• irmão(seth,abel). 
 
INTELIGÊNCIA ARTIFICIAL 34 
Regras 
• Exemplo: humano(X) :- homem(X) %é uma regra 
• Toda regra possui uma cabeça e um corpo. 
• Formato: cabeça :- corpo 
• X é uma variável 
• O corpo é composto de um ou mais termos separados por vírgulas. 
 
INTELIGÊNCIA ARTIFICIAL 35 
Se X é homem, então X é humano. 
Se X é mulher, então X é humano. 
 
humano(X) :- homem(X). 
humano(X) :- mulher(X). 
Note o uso da variável X. 
A condicional é invertida. 
mulher(ana). 
homem(paulo). 
homem(jose). 
Notação Lógica x Notação Prolog 
INTELIGÊNCIA ARTIFICIAL 36 
Conectivo Notação Lógica PROLOG 
“e” ^ , 
“ou” v ; 
“implica”  :- 
Todo animal de estimação pequeno é um bicho de apartamento. 
bicho_apart(X):-estimação(X),pequeno(X). 
Todo poodle é um cachorro pequeno. 
cachorro(X):-poodle(X). 
pequeno(X):-poodle(X). 
Gatos ou cachorros são animais de estimação. 
estimacao(X):-gato(X). 
estimacao(X):-cachorro(X). 
Átomo 
INTELIGÊNCIA ARTIFICIAL 37 
Átomo é o tipo de palavra mais 
comum em PROLOG (ARARIBÓIA, 
1988). Todos os átomos começam 
com letras minúsculas; 
Alguns exemplos de átomos: 
• homem, programa, mortal 
• ana, marcos, cesar, brasil 
• cadeira, lápis, carro 
Predicado 
INTELIGÊNCIA ARTIFICIAL 38 
Predicado é uma construção 
usada para declarar algo a 
respeito dos objetos de um 
mundo (ARARIBÓIA, 1988); 
A declaração é representada por um 
átomo que é seguido pelos objetos, 
colocados entre parênteses e 
separados por vírgulas; 
Alguns exemplos de predicados: 
• Piter é Robô - robo(piter) 
• Silvestre é homem - homem(silvestre) 
Aridade 
• Aridade de um predicado é o número de objetos do predicado; 
• Por exemplo, a aridade do predicado: 
• pai(silvestre,nadia). 
 
 
INTELIGÊNCIA ARTIFICIAL 39 
A aridade do predicado acima é dois, pois a declaração tem dois objetos: 
silvestre e nadia. 
 
Frases 
Simples 
• Frases simples são frases constituídas por um 
único predicado; 
• Em PROLOG, estas frases podem ser 
afirmativas ou interrogativas. 
• Frases simples afirmativas são frases simples 
usadas para dizer algo ao computador e que 
terminam com o ponto final 
(ARARIBÓIA,1988); 
 
 
 
INTELIGÊNCIA ARTIFICIAL 40 
Frases 
Simples 
INTELIGÊNCIA ARTIFICIAL 
Exemplos de frases simples afirmativas: 
• robo(piter). 
• homem(silvestre). 
• mulher(nadia). 
• pai(silvestre,nadia). 
• construiu(silvestre,piter). 
• ama(nadia,hadar). 
• ama(hadar,nadia). 
 
Frases Afirmativas 
em PROLOG 
Frases Interrogativas 
• São frases simples usadas para perguntar 
algo ao computador,começam com o ponto 
de interrogação seguido do sinal de menos 
e terminam com o ponto final (ARARIBÓIA, 
1988); 
• Exemplos de frases simples interrogativas: 
Nádia ama Hadar ? 
?- ama(nadia,hadar). 
Nádia ama Piter ? 
?- ama(nadia,piter). 
Piter é homem ? 
?- homem(piter). 
INTELIGÊNCIA ARTIFICIAL 42 
Variáveis 
• Variáveis são palavras usadas em 
PROLOG para fazer referência a objetos 
desconhecidos (ARARIBÓIA, 1988); 
• Todas as variáveis em PROLOG 
começam com letras maiúsculas; 
• As variáveis em PROLOG podem ser 
existenciais ou universais. 
 
INTELIGÊNCIA ARTIFICIAL 
43 
Variáveis 
Existenciais 
44 
INTELIGÊNCIA ARTIFICIAL 
São variáveis que ocorrem em frases 
interrogativas (perguntas); 
Alguns exemplos de variáveis existenciais: 
Quem é homem ? 
• ?- homem(Quem). 
Quem construiu Piter ? 
• ?- construiu(Quem,piter). 
Alguém é robô ? 
• ?- robo(Alguem). 
Variáveis 
Universais 
INTELIGÊNCIA ARTIFICIAL 45 
São variáveis que ocorrem em 
frases afirmativas; 
Um exemplo de variável 
universal: 
% Tudo é igual a si mesmo. 
• igual(X,X) 
Frases 
Compostas 
46 
INTELIGÊNCIA ARTIFICIAL 
Em Português, obtemos frases compostas 
ligando frases simples por meio de 
pequenas palavras denominadas conectivos; 
Entre os conectivos que frequentemente 
usamos estão o “e” e o “se”, Por exemplo: 
Nádia ama Hadar e Hadar ama Nádia. 
Uma coisa é um objeto físico se for um 
animal. 
Frases 
Compostas 
• Em PROLOG, frases compostas são 
obtidas a partir da combinação de 
frases simples PROLOG, substituindo-se 
a conjunção “e” pela vírgula ( , ) e a 
implicação “se” pelo símbolo :- 
• Alguns exemplos de frases compostas 
(ARARIBÓIA, 1988): 
% O ser humano é um animal. 
animal(H) :- humano(H). 
 
INTELIGÊNCIA ARTIFICIAL 
47 
Frases Compostas 
% Os animais são objetos físicos. 
Objeto_físico(Coisa) :- animal(Coisa). 
% Homens e mulheres são seres humanos. 
humano(X) :- homem(X). 
humano(X) :- mulher(X). 
 
INTELIGÊNCIA ARTIFICIAL 48 
Frases Compostas 
/* R está proibido de fazer um ato B se R for um robô e R for capaz de 
fazer B e B machucar H e H é humano. */ 
 
proibido_fazer(R,B) :- robo(R), 
capaz_de_fazer(R,B), 
machuca(B,H), 
humano(H). 
 
/* R é obrigado a fazer um ato B se R for um robô e R for capaz de fazer B 
e C oferece perigo para H e H é humano e o ato B afasta o perigo C. */ 
obrigado_a_fazer(R,B) :- robo(R), 
capaz_de_fazer(R,B), 
oferece_perigo(C,para,H), 
humano(H), 
afasta(B,C). 
 
 
INTELIGÊNCIA ARTIFICIAL 49 
Representam a 
1ª lei da robótica 
de Isaac Asimov 
Frases Compostas 
Represente as frases compostas abaixo utilizando o PROLOG 
a) Monstro verde ataca Nádia. 
b) Monstro verde é um animal. 
c) Monstro verde oferece perigo para H se H é humano e monstro verde 
ataca H. 
 
INTELIGÊNCIA ARTIFICIAL 50 
RESOLUÇÃO 
 
% Monstro verde ataca Nadia. 
ataca(monstro_verde,nadia). 
% Monstro verde é um animal. 
animal(monstro_verde). 
% Monstro verde oferece perigo para H se H é humano e monstro verde ataca H. 
oferece_perigo(monstro_verde, para, H) :- humano(H), 
ataca(monstro_verde, H). 
Estruturas 
INTELIGÊNCIA ARTIFICIAL 51 
São palavras usadas para se referir 
a objetos com partes que devem 
ser nomeadas individualmente 
(ARARIBÓIA, 1988); 
As estruturas possuem dois tipos 
de componentes: o funtor e os 
argumentos; 
O funtor serve para identificar a 
estrutura e é, variavelmente, um 
átomo; 
Estruturas 
52 
INTELIGÊNCIA ARTIFICIAL 
Os argumentos são usados para 
nomear as partes do objeto e 
podem ser constantes, variáveis, 
números e estruturas; 
Alguns exemplos de palavras do tipo estrutura: 
• % O ato de derrubar H machuca H se H for um 
animal. machuca(derrubar(H),H) :- animal(H). 
Estruturas 
INTELIGÊNCIA ARTIFICIAL 53 
% R consegue beijar Alguém se R for um robô e Alguém for mulher. % 
Um robô R pode derrubar um objeto físico. 
% Derrubar monstro verde afasta monstro verde. 
% Silvestre mandou Piter proteger Nádia. 
% Hadar mandou Piter derrubar Astrat. 
% Astrat mandou Piter derrubar hadar. 
 
Represente cada estrutura abaixo na linguagem PROLOG. 
Estruturas 
RESOLUÇÃO 
• % R consegue beijar Alguém se R for um robô e Alguém for mulher. 
capaz_de_fazer(R,beijar(Alguem)):- robo(R), 
 mulher(Alguém). 
• % Um robô R pode derrubar um objeto físico. 
capaz_de_fazer(R,derrubar(Algo)):- robo(R), 
 objeto_físico(Algo). 
• % Derrubar monstro verde afasta monstro verde. 
afasta(derrubar(mostro_verde),mostro_verde). 
• % Silvestre mandou Piter proteger Nádia. 
mandou_fazer(silvestre,piter,proteger(nadia)). 
• % Hadar mandou Piter derrubar Astrat. 
mandou_fazer(hadar,piter,derrubar(astrat)). 
• % Astrat mandou Piter derrubar hadar. 
mandou_fazer(astrat,piter,derrubar(nadia)). 
 
 
INTELIGÊNCIA ARTIFICIAL 54 
Referências Bibliográficas 
ARARIBOIA, Grupo. Inteligência artificial: um curso prático. Livros Técnicos e 
Científicos, 1988. 
LAGO, Silvio. INTRODUÇÃO À LINGUAGEM PROLOG 
BRATKO, I. Prolog Programming for Artificial Intelligence, 2nd Edition, 
Addison-Wesley, 1990. 
Introdução à Programação Prolog, Luiz A.M. Palazzo. Editora: Universidade 
Católica de Pelotas/UCPEL. 1997 Disponível em: < http://jeiks.net/wp-
content/uploads/2013/06/prolog-palazzo.pdf >, Acessado em: 11.04.2022 
NORVIG, Peter; RUSSELL, Stuart. Inteligência Artificial, 3ª Edição. Elsevier 
Brasil, 2014. 
STERLING, L. and SHAPIRO, E. The Art of Prolog - Advanced Programming 
Techniques, MIT Press, 1986. 
 
INTELIGÊNCIA ARTIFICIAL 55

Continue navegando