Baixe o app para aproveitar ainda mais
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
Compartilhar