Introdução aos Agentes Inteligentes Representação do Conhecimento Baseada em Lógica de 1ª ordem Aula resumida... Flávia Barros 1 Plano de Aula Contexto LPO Sintaxe e semântica Um exemplo de construção de BC 2 Engenharia do Conhecimento Etapas Aquisição do conhecimento Formalização do conhecimento Ontologias Nível semi-formal LPO nível formal Construção da BC Regras de produção, objetos com regras, Prolog... 3 Lógica de Primeira Ordem - LPO É um formalismo de referência para representação de conhecimento o mais estudado e o melhor formalizado Satisfaz em grande parte os seguintes critérios: adequação representacional permite representar o mundo (expressividade) adequação inferencial permite inferência eficiência aquisicional facilidade de adicionar conhecimento modularidade 4 Engajamento Ontológico Natureza da realidade, descrição do mundo Na Lógica Proposicional, o mundo consiste em fatos. Na Lógica de Primeira Ordem, o mundo consiste em: objetos: “coisas” com identidade própria ex. pessoas, casas, Wumpus, caverna, etc. relações entre esses objetos ex. irmão-de, tem-cor, parte-de, adjacente, etc. propriedades (que distinguem esses objetos) ex. vermelho, redondo, fundo, fedorento, etc. funções: um ou mais objetos se relacionam com um único objeto ex. dobro, distância, pai_de, etc. 5 Engajamento Ontológico Além disso, a LPO exprime: fatos sobre todos objetos do universo fatos sobre objetos particulares () () Exemplos: 1 + 1 = 2 objetos: 1, 2; relação: =; função: +. Todas as Cavernas adjacentes ao Wumpus são fedorentas. objetos: cavernas, Wumpus; propriedade: fedorento; relação: adjacente. A LPO não faz engajamentos ontológicos para tempo, categorias e eventos... neutralidade favorece flexibilidade 6 Engajamento Epistemológico Estados do conhecimento (crenças) A LPO tem o mesmo engajamento epistemológico que a lógica proposicional tudo é verdadeiro ou falso Para tratar incerteza, usamos Outras lógicas (n-valoradas, fuzzy, para-consistente, etc.) Probabilidade 7 Resumo Linguagem Engajamento Engajamento Ontológico Epistemológico L. Proposicional Fatos V, F, ? LPO Fatos, objetos, relações V, F, ? L. Temporal Fatos, objetos, relações, tempo V, F, ? Probabilidade Fatos Grau de crença: 0-1 L. Difusa Grau de verdade sobre fatos, objetos, relações Grau de crença: 0-1 8 Sistema Formal em LPO Cálculo = Cálculo de Predicados Linguagem Regras de derivação = LPO = regras de inferência Teoria Axiomas = fatos + regras gerais Teoremas = fatos derivados (axiomas + regras de inferência) síncronas diacrônicas sintaxe + semântica Base de Conhecimento = fatos e regras gerais do domínio (só axiomas) Memória de Trabalho = fatos particulares à instância do problema e fatos derivados (só fatos) Máquina de Inferência = regras de inferência (de derivação) LPO: Sintaxe Sentença SentençaAtômica | Sentença Conectivo Sentença | Quantificador Variável,... Sentença | Sentença | (Sentença) SentençaAtômica Predicado(Termo,...) | Termo = Termo | Verdade | Falso Termo Função(Termo,...) | Constante | Variável Conectivo Quantificador Constante A | X | João | ... Variável a | x | s | ... (letras minúsculas) Predicado Vermelho | Tem-cor | IrmãoDe | ... Função Mãe | MelhorAmigo | ... 10 LPO: Semântica Constantes e Variáveis denotam Objetos: ex. João, aluno, cadeira, estrela... uma interpretação especifica a que objeto no mundo cada constante e cada variável livre se refere. o mesmo objeto pode ser referenciado por mais de um símbolo: ex. “Vênus” e “A estrela Dalva” referem-se ao mesmo objeto (planeta) no universo. 11 LPO: Semântica Predicados denotam Propriedades e Relações: uma interpretação especifica a que propriedade (predicado unário) ou relação no mundo o predicado se refere: ex., irmão = predicado binário que se refere à relação de irmandade: Irmão(Caetano, Betânia ) ex. Feio(Maguila) - faz referência à propriedade ser feio 12 LPO: Semântica Funções denotam Relações Funcionais: ligam um objeto (ou mais) a um único objeto no mundo Uma interpretação especifica que relação funcional no mundo é referida pelo símbolo da função, e que objetos são referidos pelos termos que são seus argumentos Termos denotam Objetos: são constantes, variáveis ou funções. 13 LPO: Semântica Funções denotam Relações Funcionais: Exemplos: 1) Mãe(Roberto Carlos) -> LadyLaura função que devolve o nome da mãe do seu argumento 2) Nota(Zezinho) = 9 devolve a nota do argumento Zezinho 14 LPO: Semântica Sentenças Atômicas: predicados + termos o valor-verdade de uma sentença depende da interpretação e do mundo. Irmão(Caetano, Betânia) termos simples Casados(PaiDe(Caetano),MãeDe(Betânia)) termos complexos 15 LPO: Semântica Sentenças Complexas: usam conectivos e quantificadores a semântica dessas sentenças é atribuída da mesma maneira que na lógica proposicional: semântica dos conectivos + valor-verdade das sentenças individuais. Irmão(Caetano, Betânia) Filho(Zeca,Caetano) => Tia(Betânia,Zeca) 16 LPO: Semântica Igualdade: declara que dois termos se referem ao mesmo objeto Mãe(Roberto Carlos) = Lady Laura pode ser visto como a relação identidade... Exemplo Para dizer que Huguinho tem pelo menos dois irmãos (Luizinho e Zezinho), escreve-se: x, y irmão(Huguinho,x) irmão(Huguinho,y) (x = y) 17 LPO: semântica dos quantificadores Universal () conjunção sobre o universo de objetos x P(x) é verdade sse P é verdade para todos os objetos no mundo Ex. x Gato(x) Mamífero(x) o valor-verdade é dado pela semântica do quantificador universal e do conectivo 18 LPO: semântica dos quantificadores Existencial () disjunção sobre o universo de objetos x P(x) é verdade sse P é verdade para algum objeto no mundo. Ex. x y pessoa(x) mãe(y,x) Correspondência entre os dois quantificadores x Gosta(x,Banana) x Gosta(x,Banana) 19 LPO: Leis de De Morgan Leis de De Morgan: Equivalência entre sentenças quantificadas e entre sentenças não quantificadas (x) P (x) P P Q (P Q ) (x) P (x) P (P Q) P Q (x) P (x) P P Q (P Q) (x) P (x) P P Q (P Q) Moral da história: Não precisamos de ambos os quantificadores e nem de ambos os conectivos e ao mesmo tempo! Útil para melhorar a eficiência da inferência ex. cláusulas de Horn (PROLOG) 20 Propriedades da Inferência Lógica Corretude gera apenas sentenças válidas Composicionalidade o significado de uma sentença é função do de suas partes Monotonicidade Tudo que era verdade continua sendo depois de uma inferência Localidade inferência apenas com comparações locais (porção da BC). Localidade e composicionalidade ---> modularidade ---> reusabilidade e extensibilidade 21 Sistemas baseados em LPO 22 Sistemas baseados em LPO Representando sentenças no mundo: Pedro possui um cachorro. Todo dono de cachorro é um protetor dos animais. Nenhum protetor dos animais mata um animal. Representando sentenças na Lógica: x cachorro(x) possui(Pedro,x) x y (cachorro(y) possui(x,y)) protetorAnimais(x) x protetorAnimais(x) y animal(y) mata(x,y) 23 Sistemas baseados em LPO Base de Conhecimento fatos e regras básicos, gerais, permanentes (x,z) Avó(x,z) (y) Mãe(x,y) (Mãe(y,z) Pai(y,z)) Memória de Trabalho fatos particulares à instância do problema Pai(Caetano,Zeca), Mãe(Canô, Caetano) e fatos derivados Avó(Canô, Zeca) Máquina de Inferência regras de inferência 24 Relembrando... Raciocínio regressivo ou progressivo Primeiros passos 1. Armazenar as regras da BC na máquina de inferência (MI) e os fatos na memória de trabalho (MT) 2. Adicionar os dados iniciais à memória de trabalho 25 Agentes baseados em LPO função Agente-BC(percepção) retorna uma ação Tell(MT, Percepções-Sentença(percepção,t)) ação Ask(MT, Pergunta-Ação(t)) Tell(MT, Ação-Sentença(ação,t)) t t+1 retorna ação Onde... MT – memória de trabalho função Pergunta-Ação cria uma query como: a Ação(a,6) função ASK devolve uma lista de instanciações: {a / Pegar} - Pegar é atribuída à variável ação. função TELL grava a ação escolhida na memória de trabalho. 26 Agentes baseados em LPO Como a função ASK responde as queries Quantificador : a resposta é booleana ASK(BC, Irmã(Betânia,Caetano)) -> true ASK(BC, x (Irmã(x,Caetano) Cantora(x))) -> false Quantificador : a resposta é uma lista de instanciações/substituições de variáveis - binding ASK (BC, x Irmã(x,Caetano)) -> {x/Betânia,x/Irene} ASK (BC, x (Irmã(x,Caetano) Cantora(x))) -> {x/Betânia} 27 Hipótese do Mundo Fechado Tudo que não estiver presente na base é considerado falso Isto simplifica (reduz) a BC Ex. Para dizer que a população dos países Nova Zelândia, África do Sul, Irlanda e França gostam do jogo Rugby, não precisa explicitamente dizer que os outros não gostam... 28 Um Exemplo de Construção de BC Do livro AIMA 29 Construindo uma BC 1) Decida sobre o que falar 2) Escolha o vocabulário de predicados, funções e constantes (Ontologia do Domínio) 3) Codifique o conhecimento genérico sobre o domínio (axiomas) x,y,z Americano(x) Arma(y) Nação(z) Hostil(z) Vende(x,z,y) Criminoso(x) 4) Codifique uma descrição de uma instância específica do problema: Nação(Cuba), Nação(USA) 5) Proponha questões para o procedimento de inferência e obtenha respostas: West é criminoso? 30 Um Exemplo: Circuitos Digitais Objetivo: determinar se o circuito está de acordo com sua especificação (o circuito acima é um somador) responder a perguntas sobre o valor da corrente em qualquer ponto do circuito 31 Decida sobre o que falar Para alcançar o objetivo, é relevante falar sobre circuitos, terminais, sinais nos terminais, conexões entre terminais Para determinar quais serão esses sinais, precisamos saber sobre: portas e tipos de portas: AND, OR, XOR e NOT Não é relevante falar sobre: fios, caminhos dos fios, cor e tamanho dos fios, etc. 32 Decida qual vocabulário usar Usado para nomear objetos e relações do domínio com funções, predicados e constantes constantes distinguir as portas: X1, X2... distinguir os tipos de porta: AND, OR, XOR... funções e predicados tipo de uma porta: Tipo(X1) = XOR, Tipo(X1, XOR), XOR(X1) indicar entradas e saídas: Out(1, X1), In(1, X2) indicar conectividade entre portas: Conectado(Out(1, X1), In(1, X2)) 33 Codifique regras genéricas (1) Dois terminais conectados têm o mesmo sinal: t1, t2 Conectado(t1, t2) Sinal(t1) = Sinal(t2) (2) O sinal de um terminal é On ou Off (nunca ambos) t Sinal(t) = On Sinal(t) = Off, On Off (3) Conectado é um predicado comutativo t1,t 2 Conectado(t1, t2) Conectado(t2, t1) (4) Uma porta OR está On sse qualquer das suas entradas está On: g Tipo(g) = OR Sinal(Out(1,g)) = On n Sinal(In(n,g))=On 34 Codifique a instância específica Portas: Tipo(X1) = XOR Tipo(X2) = XOR Tipo(A1) = AND Tipo(A2) = AND Tipo(O1) = OR Conexões: Conectado(Out(1,X1),In(1,X2)) Conectado(Out(1,X1),In(2,A2)) Conectado(Out(1,A2),In(1,O1)) . . . 35 Proponha questões ao mecanismo de Inferência Que entradas causam Out(1,C1) = Off e Out(2, C1) = On? i1, i2, i3 Sinal(In(1,C1)) = i1 Sinal(In(2,C1)) = i2 Sinal(In(3,C1)) = i3 Sinal(Out(1,C1)) = Off Sinal(Out(2,C1) = On Resposta: (i1 = On i2 = On i3 = Off) (i1 = On i2 = Off i3 = On) (i1 = Off i2 = On i3 = On) 36 Próxima aula Entrega da 1ª lista The End 37