Você está na página 1de 7

Representação de Conhecimento

•  Abordagem procedural
PCS 2428 / PCS 2059
 –  Mundo do Wumpus em matriz (4,4)
lnteligência Artificial
 –  Se existir um buraco em [2,2], coloco um valor “B” na

 posição correspondente da matriz
Prof. Dr. Jaime Simão Sichman
 –  Não tem um mecanismo geral para derivar fatos de
Prof. Dra. Anna Helena Reali Costa
 outros fatos, isto é feito por procedimentos dependentes
do domínio que o programador cria!
•  Abordagem declarativa
–  Conhecimento e inferência são separados
Lógica de Predicados –  Inferência é independente do domínio!
–  Linguagens lógicas também são composicionais
•  Semântica de uma sentença pode ser derivada de suas partes

Cálculo Proposicional: Limitações Cálculo Proposicional: Limitações


Apesar de ser simples, o cálculo proposicional
não consegue expressar fatos genéricos de Exemplo - Família dos Deuses Gregos
modo conciso, como por exemplo “se o agente
estiver em qualquer local com o Wumpus à Uranus
frente, não prosseguir em frente”.
Aphrodite Kronos Atlas Prometheus
Seria interessante poder expressar tais fatos
genéricos através de um linguagem que pudesse Eros
fazer referência a objetos e a algumas de suas Zeus Poseidon Hades Ares
propriedades.
Apollo Athena Hermes Heracles

Cálculo de Predicados: Definições Cálculo de Predicados: Definições


O cálculo de predicados permite representar: Irmão (Kronos, Aphrodite) ∧ Irmão (Atlas, Aphrodite)
Irmão (Kronos, Atlas)
•  Objetos Conseqüência Lógica
–  exemplo: Aphrodite e Kronos ?
Representação
Semântica
Semântica

•  Relações entre objetos

–  exemplo: Aphrodite é irmã de Kronos


Mundo
•  Funções de objetos

–  exemplo: Uranus é pai de Aphrodite Decorrem

1
Comparação entre Linguagens Lógicas Sintaxe do Cálculo de Predicados: Símbolos

•  Linguagens lógicas têm compromissos: Os elementos básicos da sintaxe do cálculo de


–  Ontológicos: como representar o mundo predicados são símbolos que se referem a
–  Epistemológicos: como um agente crê nestes fatos objetos, relações e funções:
Linguagem Compromisso Ontológico Compromisso Epistemológico
•  símbolos para constantes, que se referem a
L. Proposicional fatos verdadeiro, falso, desconhecido objetos, como Aphrodite e Zeus;
L. Predicados fatos, objetos, relações verdadeiro, falso, desconhecido •  símbolos para variáveis, que se referem a objetos
fatos, objetos, relações, verdadeiro, falso, desconhecido ou conjunto de objetos, como x, y, z, ….;
L. Temporal
tempos
•  símbolos para predicados, que se referem a
T. Probabilidades fatos graus de crença ∈ [0,1]
relações entre objetos, como Irmão, Primo;
fatos, graus de intervalos de valores definidos
L. Nebulosa
crença ∈ [0,1] •  símbolos para funções, que se referem a funções
de objetos, como Pai, Mãe.

Sintaxe do Cálculo de Predicados:


Sintaxe do Cálculo de Predicados : Termos
Predicados
Termos são expressões lógicas que se referem a Uma sentença atômica será composta por um
um objeto. predicado, aplicado a um ou mais termos,
dependendo de sua aridade:
Termos podem ser assim constituídos por:
•  Irmão (Kronos, Aphrodite)
•  constantes, como Aphrodite e Zeus; •  Irmão (Pai (Zeus), Mãe (Eros))
•  Irmão (x, y)
•  variáveis, como x, y, z, ….;
•  funções aplicadas a termos, como Pai(Aphrodite), Fórmulas bem formadas serão compostas por
Mãe(z), Mãe(Pai(Zeus)). predicados ligados através de conectivos lógicos:

•  Irmão(Pai(Zeus), Mãe(Eros))→Primo(Zeus, Eros)

Sintaxe do Cálculo de Predicados em BNF Quantificadores


Símbolo inicial: <sentença>
<sentença>::= <sentença atômica> | ¬<sentença>|
Quantificador Universal
( <sentença> <conectivo> <sentença> ) | Sintaxe: ∀ x P(x)
<quantificador> <variável> <sentença>
<sentença atômica>::= <predicado> (<termo>, ...) Lê-se para todo x, P(x) ou para qualquer x, P(x).
<termo> ::= <função> (<termo>, ...) | <constante> |
<variável>
<conectivo> ::= → | ∧ | ∨ | ↔ Quantificador Existencial
<quantificador> ::= ∀ | ∃
Sintaxe: ∃ x P(x)
<constante> ::= A | X1 | João | ...
<variável> ::= x | y | z | ... Lê-se para algum x, P(x) ou existe x, P(x).
<predicado> ::= Antes | TemCor | Chovendo | ...
<função> ::= Mãe | NUSP | ...

2
Quantificadores Quantificadores

Exemplos de expressões usando quantificadores: Exemplos de expressões usando quantificadores:


•  Todo homem é mortal •  Todo homem é mortal
∀x (Homem(x) → Mortal(x)) ∀x (Homem(x) → Mortal(x))

•  Nenhum homem é imortal •  Nenhum homem é imortal


∀x (Homem(x) → ¬Imortal(x)) ∀x (Homem(x) → ¬Imortal(x))

•  Pelo menos um homem é inteligente •  Pelo menos um homem é inteligente


∃x (Homem(x) ∧ Inteligente (x)) ∃x (Homem(x) ∧ Inteligente (x))

Quantificadores Quantificadores

Exemplos de expressões usando quantificadores Teorema:


encadeados: Generalização da Lei de De Morgan para os
quantificadores
•  Todo homem ama as mulheres
¬∀ x P(x) ≡ ∃ x ¬ P(x)
∀x ∀ y (Homem(x) ∧ Mulher(y) → Ama(x, y))
•  Todo homem ama uma mulher ¬  ∃ x P(x) ≡ ∀ x ¬ P(x)

∀x ∃ y (Homem(x) ∧ Mulher(y) → Ama(x, y)) Um exemplo intuitivo seria:


•  Há uma mulher amada por todos os homens •  “Não é todo homem que é egoísta” equivale a
“Existe pelo menos um homem que não é
∃ y ∀x (Homem(x) ∧ Mulher(y) → Ama(x, y)) egoísta”

Quantificadores: Sentenças Abertas,


Quantificadores: Variáveis Livres e Ligadas
Fechadas e Primitivas
No cálculo de predicados, devido à presença No cálculo de predicados, uma sentença pode ser:
dos quantificadores, uma variável pode estar: •  aberta: sem restrições
–  Irmão (x, y) → MesmoPai (x, y)
•  livre (free)
–  Irmão(x,y) → ¬FilhoÚnico(x) •  fechada (closed): sem variáveis livres
–  ∃x Irmão (Kronos, x)
•  ligada (bounded)
–  ∀x ∀y (Irmão(x,y) → ¬FilhoÚnico(x)) •  primitiva (grounded): sem variáveis livres ou ligadas
–  Irmão (Kronos, Aphrodite) → MesmoPai (Kronos,
Estando ligada, diz-se que uma variável está Aphrodite)
no escopo de um quantificador.

3
Semântica: Interpretações e Modelos Semântica: Modelos e Interpretações

•  Uma sentença atômica tem valor verdade V em


um domínio d, segundo uma certa interpretação
I(A) = a I, se a relação à qual se refere o símbolo de
A
I(On) = {<a,b>, predicado vale entre os objetos aos quais se
a <b,c>} referem os argumentos
b On(A,B)
c I(Atlas) = H1 Atlas
I(B) = b Aphrodite
H2 I(Irmão) = {<H1,H2>}
B H1 Irmão(Atlas,
I(Aphrodite) = H2 Aphrodite)
Domínio Interpretação Linguagem
Domínio Interpretação Linguagem
A interpretação I é um modelo para On(A,B)

Semântica: Fórmulas Bem Formadas Semântica: Quantificadores


•  A semântica das fórmulas bem formadas, A fbf ∀ x α tem valor verdade V em um domínio
construídas utilizando os conectivos lógicos, é d e em uma interpretação I se e somente se α
definida do mesmo modo que no cálculo tiver valor verdade V em todas possíveis
proposicional. interpretações estendidas construídas a partir
de I, que atribuem um elemento do domínio a x.
•  De modo semelhante, fbfs podem ser válidas,
H1 I(Atlas) = H1 Atlas
inválidas, contingentes, satisfatíveis ou
H2 I(Aphrodite) = H2 Aphrodite
insatisfatíveis. H3 I(Grego) = {H1, H2,
H3} I(x) = H1 ∀x Grego(x)
I(Kronos) = H3 Kronos
•  A única diferença diz respeito à definição da
semântica dos quantificadores. Domínio Interpretação Linguagem

Semântica: Quantificadores Agente Baseado em Lógica de Predicados

A fbf ∃ x α tem valor verdade V em um domínio Conhecimento de Fundo


d e em uma interpretação I se e somente se α
tiver valor verdade V em pelo menos uma
interpretação estendida construída a partir de I, Tell
Sentença 1
que atribue um elemento do domínio a x. Sentença 2 Irmão (Kronos, Aphrodite)
Irmão (Kronos, Atlas)
H1 I(Atlas) = H1 Atlas … ∀x ∀y ∀z Irmão(x,y) ∧ Irmão(x,z) ∧ y≠z
H2 I(Aphrodite) = H2 Aphrodite → Irmão(y,z)
H3 I(Mulher) = {H2} Ask
I(x) = H2 ∃x Mulher (x)
I(Kronos) = H3 Kronos Irmão (Aphrodite Atlas)
KB ∃ X Irmão (Aphodite, x)
Domínio Interpretação Linguagem Agente

4
Inferência Inferência: Substituição

•  O procedimento de inferência em lógica de Uma substituição é um conjunto finito de


predicados é semelhante ao visto em lógica associações entre variáveis e expressões tais
proposicional, porém mais complexo que:
–  presença dos quantificadores –  cada variável é associada no máximo com
–  presença de variáveis uma única expressão
–  nenhuma variável com uma expressão
•  Este procedimento leva em conta duas noções associada ocorre no escopo de qualquer
fundamentais: outra expressão
–  substituição –  ex: {x/A, y/F(B), z/w} é uma substituição
–  unificação {x/G(y), y/F(x)} não é uma substituição

Inferência: Substituição Inferência: Unificação

Uma substituição pode ser aplicada numa fbf Trata-se do processo que determina se duas
do cálculo de predicados, gerando uma expressões podem se tornar idênticas se suas
instância desta substituição. variáveis forem substituídas de modo
apropriado.
A notação utilizada é φσ, onde se aplica a Um conjunto de expressões {φ1, φ2, ..., φn} é
substituição σ à expressão φ unificável se e sómente se existir uma
–  ex: P(x, x, y, v) {x/A, y/F(B), z/w} susbtituição σ que as torna idênticas:
resulta em: φ1σ = φ2 σ = ...= φn σ. Neste caso, σ é dito um
unificador do conjunto.
P(A, A, F(B), v)
–  ex: P(A, y, z) {x/A, y/B, z/C} = P(A, B, C) =
P(x, B, z) {x/A, y/B, z/C}

Regras de Inferência para Cálculo de Regras de Inferência para Cálculo de


Predicados Predicados
Instanciação Universal ∀x α α {x/g1} Modus Ponens Generalizado
Instanciação Existencial ∃x α α {x/c2}
1.  O termo g deve ser um termo primitivo p1’, p2’, …, pn’, p1∧ p2 ∧ … ∧ p1→ q qσ
2.  A constante c não deve ter aparecido na BC onde pi σ = pi’ σ, i ∈{1..n}
Com estas regras, pode-se construir uma BC
proposicional, já que todas as sentenças serão •  Mais eficiente, pois não preciso gerar sentenças
primitivas! {x/Ur,y/Ur)
Pai(Ur,Ur) → Filho(Ur,Ur) desnecessárias
{x/Ur,y/Ap) Pai(Ur,Ap) → Filho(Ap,Ur)
•  Existem algoritmos eficientes para achar os
∀x ∀y ∀z Pai(x,y) → Filho(y,x) Pai(Ur,Kr) → Filho(Kr,Ur) unificadores. Em particular, existem infinitos
Pai(Ur, Ap) {x/Ur,y/Kr) unificadores para duas sentenças, e sempre
Pai(Ur, Kr)
Pai(Ur, Ap) busca-se o unificador mais geral (mgu)
Pai(Ur, Kr)

5
Exemplo : Modus Ponens Generalizado Exemplo : Modus Ponens Generalizado
1.  ∀x∀y∀z Pai(x,y) ∧ (Pai(y,z) ∨ Mãe(y,z)) → Avô (x, z)
Dado o domínio dos Deuses Gregos, premissa
considere as sentenças: 2.  Pai (Kronos, Zeus) premissa
3.  Pai (Uranus, Kronos) premissa
1.  Uma pessoa é avô de outra se for pai de 4.  Pai (Kronos, Zeus) ∨ Mãe(Kronos, Zeus) AD 2
seu pai ou de sua mãe; 5.  Pai (Uranus, Kronos) ∧ (Pai (Kronos, Zeus) ∨
2.  Kronos é pai de Zeus; Mãe(Kronos, Zeus)) CJ 3, 4
3.  Uranus é pai de Kronos. 6.  Avô (Uranus, Zeus) MPG 1,5
{x/Uranus, y/Kronos, z/Zeus
Provar que Uranus é avô de Zeus.

Transformação para Forma Clausal Transformação para Forma Clausal

Prova-se que qualquer fbf do cálculo de ∀x (∀y Animal(y) → Loves(x,y)) → (∃y Loves(y, x))
predicados pode ser transformada num conjunto 1.  Substituir α ↔ β por (α → β) Λ (β → α) e
de cláusulas equivalente, através de uma substituir α → β por ¬α ∨ β
sequência definida de passos. ∀x ¬ (∀y ¬Animal(y) ∨ Loves(x,y)) ∨(∃y Loves(y, x))
2.  Colar as negações nos átomos, utilizando as
Exemplo: “Todo aquele que ama todos os animais é
equivalências ¬(¬α) ≡ α, ¬(α ∧ β) ≡ ¬α ∨ ¬β,
amado por alguém”
¬(α ∨ β) ≡ ¬α ∧ ¬β, ¬∃x α ≡ ∀x ¬α, e
¬ ∀ x α ≡ ∃x ¬α.
Como seria a representação disto em lógica de
predicados? ∀x(∃ y¬ (¬Animal(y) ∨ Loves(x,y)))∨ (∃y Loves(y, x))
∀x(∃ y ¬¬Animal(y)∧¬Loves(x,y))∨ (∃y Loves(y, x))
∀x (∀y Animal(y) → Loves(x,y)) → (∃y Loves(y, x)) ∀x(∃ y Animal(y)∧¬Loves(x,y))∨ (∃y Loves(y, x))

Transformação para Forma Clausal Transformação para Forma Clausal

∀x(∃ y Animal(y)∧¬Loves(x,y))∨ (∃y Loves(y, x)) (Animal(F(x))∧¬Loves(x,F(x))) ∨ Loves(G(x), x)


3.  Padronizar as variáveis, trocando os nomes
quando estas aparecem no escopo de 6.  Distribuir as disjunções pelas conjunções,
quantificadores diferentes utilizando α ∨ (β ∧ γ) ≡ (α ∨ β) ∧ (α ∨ γ)
∀x(∃ y Animal(y)∧¬Loves(x,y))∨ (∃z Loves(z, x)) (Animal(F(x)) ∨ Loves(G(x), x)) ∧
4.  Remover os quantificadores existenciais (¬Loves(x,F(x)) ∨ Loves(G(x), x))
utilizando variáveis e funções de Skolem
∀x(Animal(A)∧¬Loves(x,A))∨ Loves(B, x) (erro!) Esta sentença gerou 2 cláusulas na BC
∀x(Animal(F(x))∧¬Loves(x,F(x))) ∨ Loves(G(x), x)
5.  Remover os quantificadores universais
(Animal(F(x))∧¬Loves(x,F(x))) ∨ Loves(G(x), x)

6
Regras de Inferência para Cálculo de
Exemplo: Resolução
Predicados
Resolução
Dado o domínio dos Deuses Gregos,
p1∨… ∨ pi ∨ … ∨ pn, m1 ∨ … ∨ mi ∨ … mn considere as sentenças:
(p1 ∨ … ∨ pi-1 ∨ pi+1 ∨ … ∨ pn ∨
m1 ∨ … ∨ mi-1 ∨ mi+1∨ … ∨ mn) σ 1.  Todos os homens são mortais;
2.  Kronos é um homem;
onde pi σ = ¬mi σ
Exemplo: Provar que Kronos é mortal, utilizando
refutação por resolução.
Animal(F(x)) ∨ Loves(G(x), x) ¬Loves(u, v) ∨ ¬Kills(u, v)

unificam com a substituição {u/G(x), v/x} e geram o resolvente:


Animal(F(x)) ∨ ¬Kills(G(x), x)

Exemplo: Resolução Exemplo: Resolução

1.  Refazer o exemplo do Capitão West, utilizando


1. ∀x Homem (x) → Mortal (x)
resolução.
2. Homem (Kronos)
2.  Seja a seguinte BC
Deseja-se provar Mortal (Kronos) 1.  Todos que amam todos os animais são amados por
alguém
Passando para a forma clausal: 2.  Qualquer um que mate um animal não é amado por
ninguém
1. ¬Homem (x)∨ Mortal (x) Premissa 3.  Jack ama todos os animais
2. Homem (Kronos) Premissa 4.  O gato, chamado Tuna, foi morto por Jack ou por
3. ¬ Mortal(Kronos) Neg. Conclusão Curiosity
4. Mortal (Kronos) RES 1, 2 {x/Kronos}
5. {} RES 3, 4 Se deseja saber se Curiosity matou o gato.
Resolva por refutação por resolução

Inferência: Complexidade Referências Bibliográficas

O problema geral de decidir se uma base de •  S. Russel and P. Norvig. Artificial Intelligence: A
conhecimento KB em lógica de predicados Modern Approach. Prentice Hall, Upper Saddle
implica logicamente uma fórmula α não é River, USA. 2nd. Edition, 2003. Chapter 8 and 9.
decidível:
•  para alguns conjuntos de sentenças KB, •  G. Bittencourt. Inteligência Artificial:
garante-se que o procedimento de prova Ferramentas e Teorias. Editora da UFSC,
encontra uma prova de α ou de ¬α Florianópolis. 2a. Edição, 2001. Cap. 3.
–  problema da implicação lógica é decidível
•  em outros casos, quando nem α nem ¬ α são
logicamente implicados por KB, o procedimento
nunca termina!

Você também pode gostar