Aula 08
Lógica de primeira
ordem
Prof. Dr. Alexandre da Silva Simões
Inteligência Artificial - Prof. Dr.
Alexandre da Silva Simões 2 set-06
Agentes lógicos
Como agentes podem raciocinar
sobre objetos quando alguns dos
quais estão relacionados a outros
objetos?
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:
Inteligência Artificial - Prof. Dr.
Alexandre da Silva Simões 5 set-06
Sintaxe da linguagem natural
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
Inteligência Artificial - Prof. Dr.
Alexandre da Silva Simões 6 set-06
LP X LPO
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
tupla: coleção de objetos organizados em uma ordem fixa
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)
Inteligência Artificial - Prof. Dr.
Alexandre da Silva Simões 9 set-06
Modelo em LPO: relações
“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
Inteligência Artificial - Prof. Dr.
Alexandre da Silva Simões 10 set-06
Símbolos
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
Interpretação
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
Outras interpretações
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
Inteligência Artificial - Prof. Dr.
Alexandre da Silva Simões 13 set-06
Sintaxe em LPO
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 | X1| João | ... Variável→ a | x | s | ...
Predicado→ Antes | TemCor | Chovendo | ... Função→ Mãe | PernaEsquerda | ...
Inteligência Artificial - Prof. Dr.
Alexandre da Silva Simões 14 set-06
Termo
É 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)
Sentenças atômicas
É 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
Sentenças complexas
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)
Inteligência Artificial - Prof. Dr.
Alexandre da Silva Simões 17 set-06
Quantificadores
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)
Inteligência Artificial - Prof. Dr.
Alexandre da Silva Simões 18 set-06
Quantificadores aninhados
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
Conexões entre ∀ e ∃
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
Igualdade
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)
Inteligência Artificial - Prof. Dr.
Alexandre da Silva Simões 21 set-06
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}
Inteligência Artificial - Prof. Dr.
Alexandre da Silva Simões 22 set-06
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)
Domínio: parentesco
∀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
Domínio: Wumpus
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)
Inteligência Artificial - Prof. Dr.
Alexandre da Silva Simões 25 set-06
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)
Inteligência Artificial - Prof. Dr.
Alexandre da Silva Simões 26 set-06
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)
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”
Inteligência Artificial - Prof. Dr.
Alexandre da Silva Simões 29 set-06
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
Inteligência Artificial - Prof. Dr.
Alexandre da Silva Simões 30 set-06
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
Inferência para quantificadores
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}, α)
Inferência: exemplos
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(C1) ∧ NaCabeça(C1, João), desde que C1não apareça
Inteligência Artificial - Prof. Dr.
Alexandre da Silva Simões 33 set-06
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.
p1’, p2’, ..., pn’ , (p1∧ p2∧... ∧ pn⇒q) SUBST(θ,q)
Inteligência Artificial - Prof. Dr.
Alexandre da Silva Simões 34 set-06
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
Aplicando M.P.G.:
p1’ é Rei(João) p1é Rei(x) p2’ é Guloso(y) p2é Guloso(x) θ é {x/João, y/João} q é Perverso(x)
SUBST(θ,q) é Perverso(João)
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