Agentes que Raciocinam Agentes que Raciocinam LogicamenteLogicamente
Prof. Júlio Cesar NievolaPPGIA
PUC-PR
Um agente baseado em Um agente baseado em conhecimentoconhecimento• Componente central: a base de
conhecimentos (KB ou BC)• A BC é um conjunto de representações de
fatos acerca do “mundo”• Cada representação individual é uma
sentença• As sentenças são expressas em uma
linguagem de representação do conhecimento
Um agente genérico baseado em Um agente genérico baseado em conhecimentoconhecimentofunction KB-AGENT( percept) returns an action
static: KB, a knowledge baset, a counter, initially 0, indicating time
TELL(KB,MAKE-PERCEPT-SENTENCE( percept, t))
action ← ASK(KB,MAKE-ACTION-QUERY(t))TELL(KB,MAKE-ACTION-SENTENCE(action,
t))t ← t +1return action
Níveis de descrição de um agente Níveis de descrição de um agente baseado em conhecimentobaseado em conhecimento• Nível de conhecimento ou epistemológico:
nível abstrato. Ex.: A ponte Golden Gate liga São Francisco e Marin County
• Nível lógico: conhecimento codificado em sentenças. Ex.: liga(PonteGG,SF,Marin)
• Nível de implementação: é o nível executado na arquitetura de agentes. Ex.: lista de strings, tabela indexada etc.
Construção de um agente Construção de um agente baseado em conhecimentosbaseado em conhecimentos• É possível construir um agente baseado em
conhecimento “informando-o” do que ele precisa saber.
• Abordagem declarativa: o agente recebe o conhecimento na forma de sentenças em uma linguagem de representação
• Aprendizagem: constrói-se um mecanismo de aprendizagem sobre as percepções
O mundo do WUMPUSO mundo do WUMPUS
Situação inicial e após um Situação inicial e após um movimentomovimento
Situação após o terceiro e o Situação após o terceiro e o quinto movimentosquinto movimentos
Representação do conhecimentoRepresentação do conhecimento
• Permite expressar o conhecimento em uma maneira compreensível pelo computador
• É definida por dois aspectos:– Sintaxe: descreve as formas corretas de se
construir uma sentença– Semântica: realiza o mapeamento entre as
sentenças e os fatos do “mundo” considerado, indicando a “crença” de um agente na sentença
Conexão entre sentenças e fatosConexão entre sentenças e fatos
NomenclaturaNomenclatura
• A partir de sentenças verdadeiras a vinculaçãogera somente sentenças verdadeiras
• KB vincula α: KB |= α• Um procedimento de inferência que gera somente
sentenças vinculadas é chamado de são• α é derivado de KB através de i: KB |- α• Um procedimento de inferência é completo se ele
pode gerar uma prova para qualquer sentença que for vinculada
InferênciaInferência
• Uma sentença é valida (ou tautologia ou uma sentença analítica) sse ela é verdadeira em todas as interpretações em todos os mundos possíveis
• Uma sentença é satisfatível sse há pelo menos uma interpretação para a qual ela é verdadeira, caso contrário ela é insatisfatível.
LógicaLógica
• Uma lógica consiste dos elementos:– Um sistema formal para descrever condições:
• Sintaxe: descreve como criar sentenças corretas• Semântica: estabelece as restrições sistemáticas na
forma como as sentenças se relacionam com o mundo
– Um sistema de prova: um conjunto de regras para deduzir as vinculações a partir de um conjunto de sentenças
Lógica ProposicionalLógica Proposicional
• Na Lógica Proposicional símbolos representam fatos e podem ser ligados por conectivos booleanos
• Compromisso ontológica tem a ver com a natureza da realidade
• Compromisso epistemológico se refere aos possíveis estados de conhecimento que um agente pode ter
Linguagens FormaisLinguagens Formais
Linguagem Compromisso Ontológico(o que existe no mundo)
Compromisso Epistemológico(o que um agente acredita)
Lógica Proposicional Fatos V/F/desconhecidoLógica de Primeira Ordem Fatos, objetos, relações V/F/desconhecidoLógica Temporal Fatos, objetos, relações, tempo V/F/desconhecidoTeoria das Probabilidades Fatos Grau de crença 0…1Lógica Difusa Grau de verdade Grau de crença 0…1
Sintaxe da Lógica ProposicionalSintaxe da Lógica Proposicional
• As constantes lógicas verdadeiro e falso são, em si mesmas, sentenças
• Um símbolo proposicional, como P é, em si mesmo, uma sentença
• Parênteses em torno de uma sentença produzem uma sentença
• Uma sentença pode ser formada pela combinação de sentenças mais simples através dos conectivos:∧ (conjunçao) ∨ (disjunção) ⇒ (implicação)
⇔ (equivalência) ¬ (negação)
Gramática BNF de Sentenças em Gramática BNF de Sentenças em Lógica ProposicionalLógica ProposicionalSentença → SentençaAtômica |
SentençaComplexaSentençaAtômica → Verdadeiro | FalsoSentençaComplexa →
(Sentença) |Sentença ConectivoSentença | ¬Sentença
Conectivo → ∧ | ∨ | ⇔ | ⇒
Semântica na Lógica Semântica na Lógica ProposicionalProposicional• A sentença verdadeira sempre tem como
sua interpretação a forma como o mundo é• A sentença falsa sempre tem como sua
interpretação a forma como o mundo não éTabela-verdade
Entrada de dados x sensoresEntrada de dados x sensores
ModelosModelos
Regras de Inferência para a Regras de Inferência para a Lógica Proposicional (1)Lógica Proposicional (1)• Modus Ponens
(α ⇒ β, α) → β• Eliminação-E
(α1 ∧ α2 ∧ … ∧ αn) → αi
• Introdução-E(α1, α2, …, αn) → (α1 ∧ α2 ∧ … ∧ αn)
• Introdução-OUαi → (α1 ∨ α2 ∨ … ∨ αn)
Regras de Inferência para a Regras de Inferência para a Lógica Proposicional (2)Lógica Proposicional (2)• Eliminação da dupla negação
(¬ ¬ α) → α• Resolução unitária
(α ∨ β, ¬β) → α• Resolução
(α ∨ β, ¬β ∨ γ) → α ∨ γou
(¬α ⇒ β, β ⇒ γ) → ¬α ⇒ γ
Um agente para o mundo do Um agente para o mundo do WUMPUS (1)WUMPUS (1)
Um agente para o mundo do Um agente para o mundo do WUMPUS (2)WUMPUS (2)• Base de Conhecimentos:
– Sentenças:¬S1,1 ¬S2,1 S1,2
¬B1,1 B2,1 ¬B1,2
– Regras:R1: ¬S1,1 ⇒ ¬W1,1 ∧ ¬W1,2 ∧ ¬W2,1
R2: ¬S2,1 ⇒ ¬W1,1 ∧ ¬W2,1 ∧ ¬W2,2 ∧ ¬W3,1
R3: ¬S1,2 ⇒ ¬W1,1 ∧ ¬W1,2 ∧ ¬W2,2 ∧ ¬W1,3
R4: S1,2 ⇒ W1,3 ∨ W1,2 ∨ W2,2 ∨ W1,1
Um Agente Baseado em Um Agente Baseado em Conhecimento em Lóg. Prop.Conhecimento em Lóg. Prop.