Agentes lógicos Aula 08 Lógica de primeira ordem Prof. Dr. Alexandre da Silva Simões Como agentes podem raciocinar sobre objetos quando alguns dos quais estão relacionados a outros objetos? Alexandre da Silva Simões 2 Organização Lógica proposicional (LP) x Lógica de primeira ordem (LPO) Sintaxe e semântica em lógica de primeira ordem Modelos, símbolos, representação, termos, sentenças atômicas, sentenças complexas, quantificadores Utilização da lógica de primeira ordem Asserções e consultas Exemplos nos domínios: parentesco, Wumpus Introdução à Representação do Conhecimento em LPO Introdução à Inferência em LPO Revisitando a lógica proposicional Muito simples para representar o conhecimento de ambientes complexos de uma forma concisa Falta de capacidade de expressão para descrever um ambiente com muitos objetos. Exemplo: Em linguagem natural: quadrados adjacentes a poços são arejados Em lógica proposicional: B 1,1 (P 1,2 P 2,1 ) Alexandre da Silva Simões 3 Alexandre da Silva Simões 4 1
Sintaxe da linguagem natural LP X LPO Objetos: pessoas, casas, números, Ronald McDonald, cores, jogos, séculos... Relações: Unárias: propriedades de um objeto. Ex: vermelho, redondo, falso n-árias: relacionam grupos de objetos. Ex: irmão de, maior que, interior a, parte de... Funções: um objeto está relacionado a exatamente um objeto. Ex: pai de, melhor amigo de, terceiro turno de, uma unidade maior que... Linguagem da lógica de primeira ordem: elaborada em torno de objetos e relações Principal diferença entre lógica proposicional e lógica de primeira ordem: compromisso ontológico, isto é, o que cada linguagem pressupões sobre a natureza da realidade LP: pressupõe que existem fatos que são válidos ou não-válidos no mundo LPO: pressupõe que o mundo consiste em objetos com certas relações entre eles que são válidas ou não-válidas. Relação: conjunto de tuplas de objetos inter-relacionados Alexandre da Silva Simões 5 tupla: coleção de objetos organizados em uma ordem fixa Alexandre da Silva Simões 6 Modelos em LPO Modelos de uma linguagem lógica: estruturas formais que constituem os mundos possíveis sob consideração LP: conjuntos de valores-verdade para os símbolos de proposições LPO: mais interessantes... Contém objetos... Modelo em LPO: exemplo Ricardo Coração de Leão, rei da Inglaterra de 1189 a 1199 e seu irmão mais jovem, o perverso rei João, que governou de 1199 a 1215 Relações unárias (propriedades) Relações binárias (pares de objetos) Funções (objeto relacionado a exatamente um objeto) Alexandre da Silva Simões 7 Alexandre da Silva Simões 8 2
Modelo em LPO: relações Símbolos Ricardo e João são irmãos A relação de fraternidade contém duas tuplas: { <Ricardo Coração de Leão, Rei João>, <Rei João, Ricardo Coração de Leão> } A coroa está na cabeça do rei João A relação na cabeça contém apenas uma tupla: <coroa, Rei João> Perna esquerda: cada pessoa tem uma perna esquerda, então o modelo tem uma função unária perna esquerda que inclui os seguintes mapeamentos: <Ricardo Coração de Leão> Perna esquerda de Ricardo <Rei João> Perna esquerda de João Começam com letras maiúsculas. Podem ser de três tipos: Símbolos de constantes: representam objetos Exemplo: Ricardo e João Símbolos de predicados: representam relações Exemplo: Irmão, NaCabeça, Pessoa Símbolos de funções: representam funções Exemplo: PernaEsquerda Alexandre da Silva Simões 9 Alexandre da Silva Simões 10 Interpretação Outras interpretações Especifica quais objetos, relações e funções são referidos pelos símbolos de constantes, predicados e funções Interpretação pretendida: Ricardo se refere a Ricardo Coração de Leão João se refere ao perverso rei João Irmão se refere à relação de fraternidade, ou seja o conjunto de tuplas de objetos já discutido NaCabeça se refere à relação na cabeça que é válida entre a coroa e o rei João Pessoa, Rei e Coroa se referem aos conjuntos de objetos que são pessoas, reis e coroas PernaEsquerda se refere à função perna esquerda, isso é, ao mapeamento já discutido Se existem 5 objetos, existem 25 interpretações para os símbolos Ricardo e João Número de modelos é ilimitado (pode incluir, por exemplo os números reais). Logo, o número de modelos possível é ilimitado Verificar conseqüência lógica pela enumeração de todos os modelos não é uma opção Alexandre da Silva Simões 11 Alexandre da Silva Simões 12 3
Sintaxe em LPO Termo Sentença SentençaAtômica (Sentença Conectivo Sentença) Quantificador Variável,...Sentença Sentença SentençaAtômica Predicado(Termo,...) Termo=Termo Termo Função (Termo,...) Constante Variável Conectivo Quantificador Constante A X 1 João... Variável a x s... Predicado Antes TemCor Chovendo... Função Mãe PernaEsquerda... É uma expressão lógica que se refere a um objeto. São termos: Símbolos de constantes Símbolo de função seguido por uma lista entre parênteses de termos como argumentos para o símbolo de função. Exemplo: PernaEsquerda(João) Alexandre da Silva Simões 13 Alexandre da Silva Simões 14 Sentenças atômicas Sentenças complexas É formada a partir de um símbolo de predicado seguido por uma lista de termos entre parênteses. Exemplos: Irmão(Ricardo, João) Casados(Pai(Ricardo), Mãe(João)) Uma sentença atômica é verdadeira em um modelo, sob uma dada interpretação, se a relação referida pelo símbolo de predicado é válida entre os objetos referidos pelos argumentos Podem ser formadas pelo uso de conectivos lógicos, da mesma maneira que na lógica proposicional. Exemplos: Irmão(PernaEsquerda(Ricardo), João) Irmão(Ricardo,João) Irmão(João, Ricardo) Rei(Ricardo) Rei(João) Rei(Ricardo) Rei(João) Alexandre da Silva Simões 15 Alexandre da Silva Simões 16 4
Quantificadores Quantificadores aninhados Expressam propriedades de coleções inteiras de objetos Quantificador universal ( ): Para todo... x P, onde P é qualquer expressão lógica, afirma que P é verdadeira para todo objeto x. Exemplo: x Rei(x) Pessoa(x) Quantificador existencial ( ): Para algum... x P afirma que P é verdadeira para pelo menos um x. Exemplo: x Coroa(x) NaCabeça(x, João) Usados em sentenças complexas compostas. Exemplos: x y Irmão(x,y) Parente(x,y) x,y Parente(x,y) Parente(y,x) x y Ama(x,y) y x Ama(x,y) Obs: a variável pertence ao quantificador mais interno que a menciona Alexandre da Silva Simões 17 Alexandre da Silva Simões 18 Conexões entre e Igualdade Intimamente conectados um ao outro por meio da negação. Exemplos: x Gosta(x,Cenouras) x Gosta(x,Cenouras) todo mundo detesta cenouras não existe alguém que goste de cenouras x Gosta(x,Sorvete) x Gosta(x,Sorvete) todo mundo gosta de sorvete não existe alguém que não goste de sorvete Obedecem à regra de de Morgan: x P x P x P x P x P x P x P x P Em LPO, pode-se usar o símbolo de igualdade para fazer declarações afirmando que dois termos se referem ao mesmo objeto. Exemplo 1: Pai(João) = Henrique Exemplo 2: x,y Irmão(x,Ricardo) Irmão(y,Ricardo) (x=y) Alexandre da Silva Simões 19 Alexandre da Silva Simões 20 5
Utilização da LPO Asserções: TELL(BC, Rei(João)) TELL(BC, x Rei(x) Pessoa(x)) Consultas: dadas as asserções anteriores ASK(BC, Rei(João)) retorna verdadeiro ASK(BC, x Pessoa(x)) retorna {x/joão} Domínio: parentesco Objetivo: determinar o parentesco de grupos de pessoas Inclui fatos como: Elizabeth é a mãe de Charles Charles é o pai de William E regras como: a avó de uma pessoa é a mãe do pai de uma pessoa Objetos: pessoas Predicados unários: Masculino e Feminino Predicados binários (relações de parentesco): Ancestral, Parente, Irmão,... Funções: Mãe e Pai (cada pessoa tem apenas um de cada) Alexandre da Silva Simões 21 Alexandre da Silva Simões 22 Domínio: parentesco Domínio: Wumpus m,c Mãe(c)=m Feminino(m) Ancestral(m,c) A mãe de alguém é o ancestral feminino de alguém w,h Marido(h,w) Masculino(h) Cônjuje(h,w) O marido de alguém é o cônjuje masculino de alguém x Masculino(x) Feminino(x) Masculino e feminino são categorias disjuntas p,c Ancestral(p,c) Descendente(c,p) Ancestral e descendente são relações inversas g,c Avô(g,c) p Pai(g,p) Pai(p,c) Avô é um pai do pai de alguém x,y Parente(x,y) x y p Ancestral(p,x) Ancestral(p,y) Um parente é outro descendente dos ancestrais de alguém Asserções na BC: Armazenar na BC tanto a percepção quanto a hora em que ela ocorreu. Fedor, Brisa e Resplendor são constantes inseridas em uma lista. Exemplo: Percepção ([Fedor, Brisa, Resplendor, Nenhum, Nenhum], 5) Ações: Virar(Direita), Virar(Esquerda), Avançar, Atirar, Agarrar, Soltar Consulta à BC: a MelhorAção(a,5) ASK deve retornar uma lista de vinculação como {a/agarrar} Alexandre da Silva Simões 23 Alexandre da Silva Simões 24 6
Domínio: Wumpus Os dados brutos da percepção implicam certos fatos sobre o estado atual. Exemplos: t,s,g,m,c Percepção([s,Brisa,g,m,c],t) Brisa(t) t,s,b,m,c Percepção([s,b,Resplendor,m,c],t) Resplendor(t) Comportamentos simples podem ser implementados por sentenças de implicação quantificadas. Exemplo: t Resplendor(t) MelhorAção(Agarrar,t) Domínio: Wumpus Adjacência de dois quadrados: x,y,a,b Adjacente([x,y],[a,b]) [a,b] {[x+1,y], [x-1,y], [x,y+1], [x,y-1]} Se o agente estiver em um quadrado e perceber uma brisa, então esse quadrado é arejado: s,t Em(Agente,s,t) Brisa(t) Arejado(s) Alexandre da Silva Simões 25 Alexandre da Silva Simões 26 Domínio: Wumpus Regras de diagnóstico: conduzem de efeitos observados a causas ocultas s Arejado(s) r Adjacente(r,s) Poço(r) s Arejado(s) r Adjacente(r,s) Poço(r) Regras causais: refletem a suposta orientação da causalidade no mundo r Poço(r) [ r Adjacente(r,s) Arejado(s)] s [ r Adjacente(r,s) Poço(r)] Arejado(s) Qual a representação correta? Se os axiomas descrevem correta e completamente o modo como o mundo funciona e o modo como as percepções são produzidas, então qualquer procedimento completo de inferência lógica deduzirá a descrição mais forte possível do estado do mundo, dadas as percepções disponíveis Alexandre da Silva Simões 27 Alexandre da Silva Simões 28 7
Construção da BC 1. Identificar a tarefa 2. Agregar conhecimento relevante 3. Definir um vocabulário de predicados, funções e constantes 4. Codificar o conhecimento geral sobre o domínio 5. Codificar uma descrição da instância específica do problema 6. Formular consultas ao procedimento de inferência e obter respostas 7. Depurar a base de conhecimento Inferência Regras de inferência simples podem ser aplicadas a sentenças com quantificadores a fim de obter sentenças sem quantificadores Inferência em LPO pode ser realizada convertendo-se a BC para a LP e utilizando a inferência proposicional Alexandre da Silva Simões 29 Alexandre da Silva Simões 30 Inferência para quantificadores Inferência: exemplos Instanciação Universal. Pode-se deduzir qualquer sentença α obtida pela substituição de um termo básico g (termo sem variáveis) para a variável ν Instanciação do Existencial. Pode-se deduzir qualquer sentença α obtida pela substituição de um símbolo de constante k (que não aparece em outro lugar na base de conhecimento) para a variável ν ν α SUBST({ν/g}, α) ν α SUBST({ν/k}, α) Instanciação universal Dada a sentença: x Rei(x) Guloso(x) Perverso(x) Parece viável deduzir: Rei(João) Guloso(João) Perverso(João) Rei(Ricardo) Guloso(Ricardo) Perverso(Ricardo) Instanciação do existencial Dada a sentença: x Coroa(x) NaCabeça(x, João) Pode-se deduzir: Coroa(C 1 ) NaCabeça(C 1, João), desde que C 1 não apareça em outro lugar da BC Alexandre da Silva Simões 31 Alexandre da Silva Simões 32 8
Inferência Modus ponens generalizado. Para sentenças atômicas p i, p i e q, existe uma substituição θ tal que SUBST(θ,p i ) = SUBST(θ,p i ) para todo i. M.P.G.: exemplo Seja a base: x Rei(x) Guloso(x) Perverso(x) Rei(João) y Guloso(y) Regra geral para a inferência: encontre algum x que seja rei e guloso, e depois deduza que x é perverso p 1, p 2,..., p n,(p 1 p 2... p n q) SUBST(θ,q) Aplicando M.P.G.: p 1 é Rei(João) p 2 éguloso(y) θ é {x/joão, y/joão} SUBST(θ,q) é Perverso(João) p 1 érei(x) p 2 é Guloso(x) q é Perverso(x) Alexandre da Silva Simões 33 Alexandre da Silva Simões 34 Unificação Processo pelo qual descobrem-se substituições que fazem expressões lógicas diferentes parecerem idênticas O algoritmo de unificação recebe duas sentenças e retorna um unificador para elas, se existir algum: UNIFICAR(p,q) = θ onde SUBST(θ,p) = SUBST(θ,q) Exemplos: UNIFICAR(Conhece(João,x), Conhece(João,Jane)) = {x/jane} UNIFICAR(Conhece(João,x), Conhece(y,Bill)) = {x/bill, y/joão} UNIFICAR(Conhece(João,x), Conhece(y,Mãe(y))) = {y/joão, x/mãe(joão)} UNIFICAR(Conhece(João,x), Conhece(x,Elizabeth)) = falha Atividades extra-classe Leitura: RUSSELL, S. NORVIG, P. Inteligência Artificial. 2ª edição. Campus. Capítulo 8 RUSSELL, S. NORVIG, P. Inteligência Artificial. 2ª edição. Campus. Capítulo 9, até pg 271 Exercícios: Capítulo 8 Alexandre da Silva Simões 35 Alexandre da Silva Simões 36 9