Descrição do Mundo de Wumpus Inteligência Artificial CTC-15 Mundo de Wumpus Inteligência Artificial CTC-15 Mundo de Wumpus -1 Inteligência Artificial CTC-15 Mundo de Wumpus - 2 Inteligência Artificial CTC-15 Mundo de Wumpus - 3 Inteligência Artificial CTC-15 Mundo de Wumpus - 4 Inteligência Artificial CTC-15 Wumpus – Outros Pontos Críticos Inteligência Artificial CTC-15 Descrição Lógica do Mundo de Wumpus Inteligência Artificial CTC-15 Identidades Lógicas Comuns Inteligência Artificial CTC-15 Prova no Mundo de Wumpus Inteligência Artificial CTC-15 Regras de Inferência Inteligência Artificial CTC-15 Regra de Inferência: Resolução Inteligência Artificial CTC-15 Forma Normal Conjuntiva A inferência por resolução é completa em FNC. Isto é pode derivar qualquer conclusão válida por qualquer base de conhecimento em Lógica Proposicional. Completo em um sentido especializado: Completeza da refutação. Pode ser usado para confirmar se uma dada sentença é valida ou não, mas não consegue enumerar todas as sentenças válidas Inteligência Artificial CTC-15 Regras de Inferência para Lógica Proposicional Inteligência Artificial CTC-15 Resolução e Encadeamento Inteligência Artificial CTC-15 Encadeamento para Frente Inteligência Artificial CTC-15 Resumo até aqui… Inteligência Artificial CTC-15 Lógica de Primeira Ordem Aqui percebemos que o mundo é repleto de objetos, alguns dos quais estão relacionados a outros objetos e tentamos raciocinar sobre eles Introduz-se as noções de : constantes, predicados, funções e variáveis Lógica de Primeira Ordem (LPO) também pode ser chamada de cálculo de predicados de primeira ordem (CPPO) Inteligência Artificial CTC-15 Sintaxe LPO: Elementos Básicos Inteligência Artificial CTC-15 Termos e Sentenças Atômicas Inteligência Artificial CTC-15 Verdade em Lógica de Primeira Ordem Inteligência Artificial CTC-15 Sintaxe da Lógica de Primeira Ordem Inteligência Artificial CTC-15 Quantificador universal Inteligência Artificial CTC-15 Quantificador Existencial Inteligência Artificial CTC-15 Propriedades dos Quantificadores Inteligência Artificial CTC-15 Sentenças em LPO Inteligência Artificial CTC-15 Igualdade Inteligência Artificial CTC-15 Manipulando BC em LPO Inteligência Artificial CTC-15 Um agente Reflexo Inteligência Artificial CTC-15 Mantendo rastro de situações Inteligência Artificial CTC-15 Predicado Resultado Suponha o agente em [1,1] e ouro em [1,2] o objetivo é trazer o ouro para [1,1]. Então na situação inicial: Insuficientemente, pois não diz o que não é verdadeiro em So Hipótese de Mundo Fechado e Hipótese de Nome único Inteligência Artificial CTC-15 Descrição da Situação Inicial O ouro é G1 e [1,1] e [1,2] são adjacentes É possível atingir o objetivo com: Mas como escolher as ações para chegar ao objetivo? Inteligência Artificial CTC-15 Descrevendo ações -1 Inteligência Artificial CTC-15 Detalhamento: Axioma do Efeito Com isso, podemos concluir que: Entretanto, não é possível a partir dos fatos conhecidos concluir que (ver descrição situação inicial): Inteligência Artificial CTC-15 Problema do Quadro Exemplo do Problema do Quadro: Como mostrar que ao movimentar o agente para [1,2] o ouro não mudou de lugar Solução 1: Será preciso criar várias regras para os vários objetos… Solução alternativa é o Axioma sucessor-estado Inteligência Artificial CTC-15 Descrevendo ações - 2 Inteligência Artificial CTC-15 Axioma de Estado-Sucessor - 2 Inteligência Artificial CTC-15 Deduzindo propriedades escondidas Inteligência Artificial CTC-15 Lógica de Primeira Ordem - Resumo Inteligência Artificial CTC-15 Inferência em LPO Inteligência Artificial CTC-15 Inferência envolvendo quantificadores Inteligência Artificial CTC-15 Prova em LPO Inteligência Artificial CTC-15 Prova - 2 Inteligência Artificial CTC-15 Unificação Inteligência Artificial CTC-15 Unificação - 2 Inteligência Artificial CTC-15 Proposição do Modus Ponen Generalizado Inteligência Artificial CTC-15 Correção do Modus Ponen Generalizado Inteligência Artificial CTC-15 Resolução para Inferência em LPO Inteligência Artificial CTC-15 A Forma CNF Sempre é possível converter sentenças LPO para CNF, veja abaixo método… Inteligência Artificial CTC-15 Prova por Resolução Inteligência Artificial CTC-15 Prova por Resolução - 2 Inteligência Artificial CTC-15 Estratégias de Resolução Inteligência Artificial CTC-15 Programação em Lógica Prolog é sem dúvida a linguagem de programação em lógica mais utilizada Prolog foi criada em 1973 por Alain Colmerauer Os programas Prolog são um conjunto de clausulas definidas com notação um pouco diferente de LPO Utiliza-se o símbolo “:-” para implicação a esquerda A execução de programas Prolog é feita por encadeamento para trás em profundidade onde as cláusulas são experimentadas na ordem em que são inscritas na base de conhecimento Inteligência Artificial CTC-15 Prolog - 2 A linguagem Prolog utiliza letras maiúsculas para representar variáveis e letrs minúsculas para representar constantes Há vários compiladores/interpretadores Prolog disponíveis. Um dos mais utilizados é o SWI-Prolog, disponível em: http://www.swi-prolog.org/ Inteligência Artificial CTC-15 Exemplos de cláusulas Prolog Inteligência Artificial CTC-15 Exemplos de Cláusulas Prolog Inteligência Artificial CTC-15 Interrogando a BC Inteligência Artificial CTC-15 Inteligência Artificial CTC-15 Operadores em Prolog , - operador lógico “e” ; - operador lógico “ou” not - operador lógico negação :- Implicação à esquerda Inteligência Artificial CTC-15 Base de Conhecimento Inteligência Artificial CTC-15 Exemplo Leis da Robótica Inteligência Artificial CTC-15 Exemplo Leis da Robótica Inteligência Artificial CTC-15 Relações Infixas - Sentenças Atômicas Inteligência Artificial CTC-15 Hífen – qualquer coisa A presença do hífen indica que qualquer termo atende a cláusula. Com o uso de “or” (;)é possível unir duas regras com mesmo consequente.Veja: Inteligência Artificial CTC-15 Listas Inteligência Artificial CTC-15 Pertinência a lista Inteligência Artificial CTC-15 Aritmética em Prolog Inteligência Artificial CTC-15 Erros comuns Inteligência Artificial CTC-15 Exemplo de Coloração em Grafos Inteligência Artificial CTC-15 Exemplo de Programa para Coloração em Grafos Inteligência Artificial CTC-15 Execução Inteligência Artificial CTC-15 E se houvesse duas cores… Inteligência Artificial CTC-15 Outro Exemplo: Palavras Cruzadas Inteligência Artificial CTC-15 Uma solução… Inteligência Artificial CTC-15 Execução… Há outra solução? Inteligência Artificial CTC-15 Laços Infinitos Inteligência Artificial CTC-15 Exemplo Inteligência Artificial CTC-15 Função Trace A função trace quando acionada exibe passo a passo a execução dos encadeamentos realizados pelo Prolog. O prolgo realiza encaminhamento para trás e realiza backtracking quando chega a uma não-solução. Exemplo: Inteligência Artificial CTC-15 Exemplo de Execucão da Função Trace Inteligência Artificial CTC-15 Recursão Inteligência Artificial CTC-15 Exemplo de Recursão Alternativa a recursão seria a produção de todas as regras diretas. Ex.: descendente(charlie,alan). descendente(denis,alan). etc… Inteligência Artificial CTC-15