Prévia do material em texto
Proposições
e
Inferências
na
Prá2ca
Lógica
na
prá2ca
¨ Muitas
BCs
reais
não
tem
necessidade
da
capacidade
toda
de
inferência
da
resolução
porque
todas
as
cláusulas
são
de
uma
espécie
restrita.
¨ As
restrições
possíveis
variam
com
a
complexidade
necessária
a
modelagem.
¨ A
forma
mais
usada
de
lógica
restrita
são
as
clausulas
de
Horn.
¨ Uma
cláusula
de
Horn
é
uma
disjunção
de
literais
dos
quais
no
máximo
um
é
posi2vo
− Exemplos:
l (¬l1,1
V
¬brisa
V
b1,1)
é
uma
cláusula
de
Horn.
l (¬b1,1
V
p1,2
V
p2,1)
não
é
uma
cláusula
de
Horn.
Cláusulas
de
Horn
l Cláusulas
de
Horn
são
importantes
por
3
razões:
1) Podem
ser
escritas
como
uma
implicação
cuja
premissa
é
uma
conjunção
de
literais
posi2vos
e
cuja
conclusão
é
um
único
literal
posi2vo:
(l1,1
٨۸ brisa)
à
b1,1
ou
b1,1
ß (l1,1
٨۸ brisa)
2) A
inferência
com
cláusulas
de
Horn
pode
ser
feita
por
algoritmos
de
encadeamento
para
frente
ou
para
trás.
3) A
decisão
de
consequência
lógica
com
cláusulas
de
Horn
pode
ser
feita
em
tempo
linear
em
relação
ao
tamanho
da
BC.
4) Cláusulas
de
Horn
com
exatamente
um
literal
posi2vo
são
chamadas
de
Cláusulas
Definidas
e
são
a
base
da
programação
em
lógica.
Sintaxe
das
Cláusulas
Definidas
Proposicionais
¨ Um
átomo
é
um
símbolo
começando
com
uma
letra
minúsculas.
¨ Uma
cláusula
definida
é
um
átomo
ou
uma
regra
na
forma
h
←
b
na
qual
h
é
um
átomo
(chamado
de
cabeça)
e
b
é
um
corpo,
o
qual
é
um
átomo
ou
está
na
forma
b1
∧ b2
na
qual
b1
e
b2
são
corpos.
¨ Uma
cláusula
definida
sem
literais
nega2vos
é
um
fato.
Semân2ca
das
Cláusulas
Definidas
Proposicionais
¨ Uma
interpretação
I
atribui
um
valor
de
verdade
para
cada
átomo.
¨ Um
corpo
b1
∧
b2
é
verdadeiro
em
I
se
b1
é
verdadeiro
em
I
e
b2
é
verdadeiro
em
I.
¨ Uma
regra
h
←
b
é
falsa
em
I
se
b
for
verdadeira
em
I
e
h
for
falsa
em
I.
A
regra
é
verdadeira
caso
contrário.
¨ Uma
base
de
conhecimento
BC
é
verdadeira
em
I
se
e
somente
se
cada
cláusula
em
BC
é
verdadeira
em
I.
Procedimento
fundamental
de
prova
Bo^om-‐up
¨ Uma
regra
de
derivação,
uma
forma
generalizada
de
Modus
Ponens:
¤ Se
"h
←
b1
∧
…
∧
bm"
é
uma
cláusula
na
base
de
conhecimento,
e
cada
bi
foi
derivado,
então
h
pode
ser
derivado.
¨ Isto
é
o
encadeamento
para
frente
sobre
esta
cláusula.
¤ (Essa
regra
também
cobre
o
caso
quando
m
=
0.)
Procedimento
de
prova
Bo^om-‐up
¨ KB
|─
g
se
g
∈ C
no
final
deste
procedimento:
¨ C
ß
{}
¨ repeat
¨
selecione
a
cláusula
"h
←
b1
∧
…
∧
bm"
na
BC
tal
que
¨
bi
∈ C para
todos
os
i,
e
h
∉ C
¨
C
ß
C
∪ {h}
¨ un2l
nenhuma
cláusula
possa
ser
mais
selecionada.
Exemplo:
encadeamento
para
frente
(bo^om-‐up)
¨ BC:
¨ a ß b ٨۸ c.
¨ b ß d ٨۸ e.
¨ b ß g ٨۸ e.
¨ c ß e.
¨ d.
¨ e.
¨ f ß a ٨۸ g.
l Encadeamento
para
frente
para
BC
e
a
consulta
F:
− {
}
− {d}
− {d,
e}
− {d,
e,
b}
− {d,
e,
b,
c}
− {d,
e,
b,
c,
a}
Exercício
Consistência
(soundness)
do
procedimento
de
prova
Bo^om-‐up
¨ Se
KB
|─
g
então
KB
|=
g.
¤ Suponha
que
exista
um
g
tal
que
BC
|─
g
e
BC
|≠
g.
¤ Então,
deve
haver
um
primeiro
átomo
adicionado
a
C
que
não
é
verdade
em
todos
os
modelos
de
BC.
Chame-‐o
de
h.
Suponha
que
h
não
é
verdade
no
modelo
I
do
BC.
¤ Deve
haver
uma
cláusula
em
BC
de
forma
¤
h
←
b1
∧ ... ∧ bm
¤
Cada
bi
é
verdadeiro
em
I.
h
é
falso
em
I.
Logo,
esta
cláusula
é
falsa
em
I.
Portanto
I
não
é
um
modelo
de
KB.
¤ Contradição.
Ponto
fixo
¨ O
C
gerado
ao
final
do
algoritmo
de
bo^om-‐up
é
chamado
de
um
ponto
fixo.
¨ Deixe
I
ser
a
interpretação
em
que
cada
elemento
do
ponto
fixo
é
verdadeiro
e
todo
outro
átomo
é
falso.
¨ I
é
um
modelo
de
KB.
¨
Prova:
¤
Suponha
que
h
←
b1
∧
…
∧
bm
em
BC
é
falso
em
I.
Então,
h
é
falso
e
cada
bi
é
verdadeiro
em
I.
Assim,
h
pode
ser
adicionado
a
C.
Contradizendo
o
fato
de
C
ser
o
ponto
fixo.
¨ I
é
chamado
de
um
modelo
mínimo.
Completude
¨ Se
BC
|=
g
então
BC
|─ g.
¤ Suponha
que
BC
|=
g.
Então,
g
é
verdade
em
todos
os
modelos
de
BC.
¤ Assim,
g
é
verdade
no
modelo
mínimo.
¤ Assim,
g
está
no
ponto
fixo.
¤ Assim,
g
é
gerado
pelo
algoritmo
bo^om-‐up.
¤ Assim,
KB
|─
g.
Procedimento
fundamental
de
prova
Top-‐down
¨ Ideia:
Pesquise
para
trás
a
par2r
de
uma
consulta
para
determinar
se
ela
é
uma
consequência
lógica
da
BC.
¨ Uma
cláusula
de
resposta
é
da
forma:
¨
yes
←
a1
∧
a2
∧...
∧
am
¨ A
resolução
SLD
(Selec2ve
Linear
Definite)
desta
cláusula
de
resposta
sobre
o
átomo
ai
com
a
cláusula:
¨
ai
←
b1
∧ ...
∧ bp
¨ É
a
cláusula
resposta
¨
yes
←
a1
∧
...
∧
ai-‐1
∧
b1
∧
...
∧
bp
∧
ai+1
∧
...
∧
am
Derivações
¨ Uma
resposta
é
uma
cláusula
de
resposta
com
m
=
0.
Ou
seja,
é
a
resposta
cláusula
yes
←
.
¨ Uma
derivação
da
consulta
“?q1
∧ ...
∧
qk”
da
BC
é
uma
sequência
de
cláusulas
resposta
γ0, γ1, …, γn tal
que
¤ γ0 é
a
cláusula
resposta
yes
←
q1
∧ ...
∧
qk
,
¤ γi é
ob2da
por
meio
da
resolução
γi-1 com
uma
cláusula
na
BC,
e
¤ γn é
uma
resposta.
Interpretador
Top-‐down
de
Cláusulas
definidas
¨ Para
resolver
a
consulta
?q1
∧ …
∧
qk:
¤
ac
:=
“yes
←
q1
∧ …
∧
qk”
¨
repe2r
¨
selecione
o
átomo
ai
do
corpo
de
ac;
¨
escolha
a
cláusula
C
da
BC
com
ai
como
cabeça;
¨
subs2tua
ai
no
corpo
de
ac
pelo
corpo
de
C
¨
até
que
ac
seja
uma
resposta.
Escolha
não
determinís2ca
¨ No
não-‐determinismo
do
2po
não-‐importa
se
uma
seleção
não
conduzir
a
uma
solução,
não
faz
sen2do
tentar
outras
alterna2vas.
Selecione.
¨ No
não-‐determinismo
do
2po
não-‐sei
se
uma
escolha
não
conduzir
a
uma
solução,
outras
escolhas
podem.
Escolha.
Exemplo:
encadeamento
para
trás
(top-‐down)
¨ BC:
¨ a ß b ٨۸ c.
¨ b ß d ٨۸ e.
¨ b ß g ٨۸ e.
¨ c ß e.
¨ d.
¨ e.
¨ f ß a ٨۸ g.
l Encadeamento
para
trás
para
BC
e
a
consulta
a:
l Para
provar
a
podemos
usar
a
cláusula
a
ß b ٨۸ c.
Temos
que
provar
b ٨۸ c
l Para
provar
b
podemos
usar
a
cláusula
b
ß d ٨۸ e.
Temos
que
provar
d
٨۸ e ٨۸ c
l d
é
um
fato.
Temos
que
provar
e ٨۸ c
l e
é
um
fato.
Temos
que
provar
c
l Para
provar
c
podemos
usar
a
cláusula
c
ß e.
Temos
que
provar
e.
l e
é
um
fato.
Então
provamos
A.
Encadeamento
para
trás
(top-‐down)
¨ BC:
¨ a ß b ٨۸ c.
¨ b ß d ٨۸ e.
¨ b ß g ٨۸ e.
¨ c ß e.
¨ d.
¨ e.
¨ f ß a ٨۸ g.
l Encadeamento
para
trás
para
BC
e
a
consulta
f:
l Para
provar
f
podemos
usar
a
cláusula
f
ß a ٨۸ g.
Temos
que
provar
a ∧ g.
l Para
provar
a
podemos
usar
a
cláusula
a
ß b
∧ c.
Temos
que
provar
b
∧ c
∧ g
l Para
provar
b
podemos
usar
a
cláusula
b
ß d
∧ e
ou
a
cláusula
b
ß g
∧ e.
Vamos
tentar
por
b
ß d
∧ e.
Temos
que
provar
d
∧ e
∧ c
∧ g
l d
é
um
fato.
Temos
que
provar
e
∧ c
∧ g
l e
é
um
fato.
Temos
que
provar
c
∧ g
l Para
provar
c
podemos
usar
a
cláusula
c
ß e.
Temos
que
provar
e
∧ g
Encadeamento
para
trás
(top-‐down)
¨ BC:
¨ a ß b ٨۸ c.
¨ b ß d ٨۸ e.
¨ b ß g ٨۸ e.
¨ c ß e.
¨ d.
¨ e.
¨ f ß a ٨۸ g.
l e
é
um
fato.
Temos
que
provar
g
l Não
existe
nenhuma
cláusula
que
tem
g
como
conclusão.
A
prova
falha
por
este
caminho.
l Vamos
tentar
a
segunda
possibilidade
para
provar
b
por
meio
de
b
ß g
∧ e.
Temos
que
provar
e
∧ c
∧ g
l e
é
um
fato.
Temos
que
provar
c
∧ g
l Para
provar
c
podemos
usar
a
cláusula
c
ß e.
Temos
que
provar
e
∧ g
l e
é
um
fato.
Temos
que
provar
g
l Não
existe
nenhuma
cláusula
que
tem
g
como
conclusão.
A
prova
falha
por
este
caminho
também.
Exemplo:
derivação
bem
sucedida
Exemplo:
derivação
falha
Grafo
de
pesquisa
para
uma
resolução
SLD
Encadeamento
para
frente
e
para
trás
l Encadeamento
para
frente
à
raciocínio
orientado
a
dados
− O
foco
da
atenção
começa
com
os
dados
conhecidos
(fatos)
− Pode
ser
usado
por
um
agente
para
derivar
conclusões
a
par2r
das
percepções
de
entrada,
não
necessariamente
com
uma
consulta
específica
focada.
l Encadeamento
para
trás
à
raciocínio
orientado
por
metas
− É
ú2l
para
responder
perguntas
específicas:
“O
que
eu
devo
fazer
agora?”
ou
“Onde
estão
minhas
chaves?”
− Com
frequência
o
custo
é
muito
menor
do
que
o
custo
linear
no
tamanho
da
base
de
conhecimento,
porque
foca
somente
fatos
relevantes.
l Um
agente
deve
dividir
o
trabalho
fazendo
EpF
para
derivar
fatos
que
tem
probabilidade
de
serem
relevantes
para
consultas
que
serão
resolvidas
por
EpT.
24
Modelagem
de
problema
em
Lógica
Problemas
de
representação
de
conhecimento
¨ Agentes
que
operam
em
um
ambiente
dinâmico
requerem
informações
em
tempo
de
execução.
Conhecimento
de
background
e
observações
¨ Uma
observação
é
um
pedaço
de
informação
recebido
dos
usuário,
sensores
ou
outras
fontes
de
conhecimento
em
tempo
de
execução.
¨ Um
conjunto
de
observações
é
uma
conjunção
de
átomos.
¨ Em
muitos
frameworks
de
raciocínio
as
observações
são
adicionadas
ao
conhecimento
de
background
em
outros
não
(abdução,
aprendizagem,
etc.).
Usuários
como
fonte
de
conhecimento
¨ Exemplo:
no
domínio
elétrico:
¤ O
que
o
construtor
de
casas
deve
sabe?
¤ O
que
um
ocupante
da
casadeve
saber?
¨ Não
se
pode
esperar
que
os
usuários
forneçam
conhecimento
voluntariamente:
¤ Eles
não
sabem
quais
informações
são
necessárias.
¤ Eles
não
sabem
qual
vocabulário
usar.
¨ Uma
ontologia
que
especifique
o
significado
dos
símbolos
e
uma
interface
gráfica
(para
permi2r
que
o
usuário
indique
o
que
é
verdadeiro)
podem
ajudar
a
resolver
o
problema
de
vocabulário.
Pergunte
ao
usuário
(Ask-‐the-‐user)
¨ Os
usuários
podem
fornecer
observações
para
o
sistema.
Eles
podem
responder
a
perguntas
específicas.
¨ Átomos
askable
são
aqueles
que
um
usuário
deve
ser
capaz
de
observar.
¨ Existem
3
2pos
de
obje2vos
no
procedimento
de
prova
top-‐down:
1. Obje2vos
para
os
quais
não
se
espera
que
o
usuário
saiba
a
resposta.
2. Átomos
askable
que
podem
ser
úteis
na
prova.
3. Átomos
askable
para
os
quais
o
usuário
já
tenha
fornecido
informações.
¨ O
procedimento
de
prova
top-‐down
pode
ser
modificado
para
solicitar
informação
ao
usuário
sobre
os
átomos
askable
para
os
quais
ele
ainda
não
forneceu
informações.
Explicação
no
nível
de
conhecimento
¨ Perguntas
COMO
podem
ser
usadas
para
perguntar
como
um
átomo
foi
provado.
¤ Elas
fornecem
a
regra
usada
para
provar
o
átomo.
¤ Você
pode
perguntar
COMO
um
elemento
do
corpo
daquelas
regras
foi
provado.
¤ Isso
permite
ao
usuário
explorar
a
prova.
¨ Perguntas
POR
QUE
podem
ser
usadas
para
perguntar
por
que
uma
pergunta
foi
feita
.
¤ Elas
fornecem
a
regra
com
o
átomo
askable
no
corpo.
¤ Você
pode
perguntar
POR
QUE
a
regra
na
cabeça
foi
perguntada.
Depuração
no
nível
de
conhecimento
¨ Há
quatro
2pos
de
erros
não
sintá2cos
que
podem
surgir
em
sistemas
baseados
em
regras:
1. Uma
resposta
incorreta
é
produzida:
n Um
átomo
que
é
falso
na
interpretação
pretendida
é
derivado.
2. Alguma
resposta
não
produzida:
n A
prova
falhou
quando
ela
deveria
ter
2do
sucesso.
Alguns
átomo
verdadeiro
em
par2cular
não
foram
derivados.
3. O
programa
entrou
em
um
loop
infinito.
4. O
sistema
faz
perguntas
irrelevantes.
Depurando
respostas
incorretas
¨ Suponha
que
o
átomo
g
foi
provado
mas
é
falso
na
interpretação
pretendida,
i.e.
temos
um
erro
falso-‐posi2vo.
¨ Deve
haver
uma
regra
g
←
a1
˄
…
˄
ak
na
base
de
conhecimento
que
foi
usada
para
provar
g.
¨ Das
duas
uma:
¤ Um
dos
ai
é
Falso
na
interpretação
pretendida
ou
¤ Todos
o
ai
são
verdadeiros
na
interpretação
pretendida.
¨ Respostas
incorretas
podem
ser
depuradas
apenas
respondendo
perguntas
“yes/no”.
Respostas
ausentes
¨ Se
o
átomo
g
é
verdadeiro
na
interpretação
pretendida,
mas
não
pode
ser
provado,
i.e.
temos
um
erro
falso-‐nega2vo.
¨ Das
duas
uma:
¤ Existe
uma
regra
g
←
a1
∧ …
∧
ak
que
deve
ter
2do
êxito.
Mas
com
o
ela
falhou
algum
dos
átomos
do
seu
corpo
(que
devia
ser
verdadeiro)
é
falso
e,
portanto,
devemos
depurá-‐lo
recursivamente.
¤ Não
há
nenhuma
regra
apropriada
para
g.
Exemplo:
ambiente
elétrico
Restrições
de
integridade
¨ No
domínio
elétrico,
o
que
se
pode
fazer
se
podemos
prever
que
uma
luz
deve
estar
acesa,
mas
observamos
que
ela
não
está?
O
que
podemos
concluir?
¨ Iremos
expandir
o
idioma
de
cláusula
definidas
para
incluir
restrições
de
integridade
(que
são
regras
que
implicam
em
Falso).
¨ Isso
permi2rá
que
2remos
conclusões
de
uma
contradição.
Cláusulas
de
Horn
completas
¨ Uma
restrição
de
integridade
é
uma
cláusula
de
forma
¨
false
←
a1
∧ ...
∧
ak
¤ na
qual
de
os
ai
são
átomos
e
false
é
um
átomo
especial
que
é
falso
em
todas
as
interpretações.
¨ Uma
cláusula
de
Horn
completa
é
uma
cláusula
definida
ou
uma
restrição
de
integridade.
Conclusões
nega2vas
¨ Negações
podem
ser
derivadas
de
uma
BC
de
cláusulas
de
Horn.
¨ A
negação
de
α,
escrito
←α
é
uma
fórmula
que
¤ É
verdadeira
na
interpretação
I
se
α é
falsa
em
I,
e
¤ É
falsa
na
interpretação
I
se
α for
verdadeiro
em
I.
¨ Exemplo:
¨
Conclusões
disjun2va
¨ Disjunções
podem
ser
derivadas
de
uma
BC
de
cláusula
de
Horn.
¨ A
disjunção
de
α e β,
escrito
α ∨ β,
é:
¤ Verdadeira
na
interpretação
I
se
α é
verdadeira
em
I
ou
β é
verdadeira
em
I
(ou
ambas
são
verdadeiras
em
I).
¤ Falsa
na
interpretação
I
se
α e
β são
ambos
falsos
em
I.
¨ Exemplo:
¨
Perguntas
e
respostas
em
BCs
em
Cláusulas
de
Horn
¨ Um
assumable
é
um
átomo
cuja
negação
você
está
preparado
para
aceitar
como
parte
de
uma
resposta
(disjun2va).
¨ Um
conflito
de
uma
BC
é
um
conjunto
de
assumables
que,
dada
a
BC,
implica
em
Falso.
¨ Um
conflito
mínimo
é
um
conflito
que
nenhum
subconjunto
estrito
é
também
um
conflito.
Exemplo
de
conflito
¨ Exemplo: Se {c, d, e, f, g, h} são assumables
¨
¨ {c, d} é um conflito (mínimo)
¨ {c, e} é umconflito (mínimo)
¨ {c, d, e, h} é um conflito
Usando
conflitos
para
diagnós2co
¨ Suponha
que
o
usuário
seja
capaz
de
observar
se
uma
luz
está
acesa
ou
apagada
e
se
uma
tomada
elétrica
está
com
energia
ou
não.
¨ A
luz
não
pode
estar
acesa
e
apagada
ao
mesmo
tempo.
Uma
tomada
não
pode
estar
com
energia
e
sem
ao
mesmo
tempo:
¨
false
←
dark_l1
&
lit_l1.
¨
false
←
dark_l2
&
lit_l2.
¨
false
←
dead_p1
&
live_p2.
¨ Suponha
que
os
componentes
individuais
estão
funcionando
corretamente:
¨
Assumable
ok_l1.
¨
Assumable
ok_s2.
¨
...
¨ Suponha
que
os
interruptores
s1,
s2
e
s3
estão
todos
na
posição
de
ligado:
¨
up_s1.
up_s2.
up_s3.
Ambiente elétrico
Representando o ambiente elétrico
Diagnó2co
¨
Diagnósticos
¨ Um
diagnós2co
baseado
em
consistência
é
um
conjunto
de
assumables
que
tem
pelo
menos
um
elemento
em
cada
conflito.
¨ Um
diagnós2co
mínimo
é
um
diagnós2co
tal
que
nenhum
subconjunto
é
também
um
diagnós2co.
¨ Intui2vamente,
um
dos
diagnós2cos
mínimos
deve
ser
válido.
Um
diagnós2co
é
válido
se
todos
seus
elementos
são
falsos.
¨ Exemplo:
Para
o
exemplo
seguinte
há
sete
diagnós2cos
mínimos:
{ok_cb1},
{ok_s1,
ok_s3},
{ok_s1,
ok_l2},
{ok_s2,
ok_s3},...
Relembrando:
Iden2ficação
de
consequências
top-‐down
¨ Para
resolver
a
consulta ?q1
∧ ...
∧
qk
:
¨ ac:
=
“yes
←
q1
∧ ...
∧
qk”
¨ repeat
¨
selecione
o
átomo
ai
do
corpo
do
ac;
¨
escolher
a
cláusula
C
na
BC
com
ai
como
cabeça;
¨
subs2tuir
ai
no
corpo
da
ac
pelo
corpo
de
C
¨ un2l
ac
ser
uma
resposta.
Implementando a identificação de
conflito: top-down
¨ A
consulta
é
false.
¨ Não
selecione
um
átomo
que
é
assumable.
¨ Parar
quando
todos
os
átomos
no
corpo
da
consulta
generalizada
são
assumable:
¤ Este
é
um
conflito
Exemplo
Iden2ficando
conflitos
bo^om-‐up
¨ Conclusões são pares 〈a, A〉, onde a é um átomo e A é
um conjunto de assumables que implicam a.
¨ Inicialmente, o conjunto de conclusão C =
{〈a,
{a}〉: a é um
assumable}.
¨ Se houver uma regra h ← b1
∧ …
∧ bm
tal que, para cada bi existe alguns Ai tal que 〈bi,
Ai〉
∈
C, então 〈h,
A1
∪
…
∪
Am〉 pode ser adicionado a C.
¤ Se 〈a, A1〉 e 〈a, A2〉 estão em C, onde A1
⊂
A2, então 〈a, A2〉 pode ser removido de C.
¤ Se 〈false,
A1〉
e 〈a, A2〉 estão em C, onde A1 ⊆ A2, então 〈a, A2〉 pode ser removido de C.
Iden2ficando
conflitos
bo^om-‐up:
código
¨ C := {〈a, {a}〉: a é um assumable}
¨ repeat
¨
selecione a cláusula “h ← b1 ∧ … ∧ bm" em T tal que:
¨
〈bi, A〉 ∈ C para todo i e
¨
não exista 〈h, A´〉 ∈ C ou 〈false, A´〉 ∈ C
¨
tal que A´ ⊆ A onde A = A1 ∪ … ∪ Am;
¨
C := C ∪ {〈h, A〉}
¨
Remova qualquer elemento de C que possa ser
podado
¨ until não seja mais possível selecionar ninguém.
Hipótese do conhecimento completo
(CKA)
¨ Muitas
vezes
você
quer
assumir
que
seu
conhecimento
é
completo.
¨ Exemplo:
¤ Você
pode
indicar
quais
interruptores
estão
ligados
e
o
agente
pode
assumir
que
os
outros
interruptores
estão
desligados.
¨ Exemplo:
¤ Suponha
que
um
banco
de
dados
dos
alunos
que
estão
matriculados
em
um
curso
está
completo.
¨ Sob
a
hipótese
de
conhecimento
completo,
o
sistema
é
não-‐
monotônico,
pois
a
adição
de
novas
cláusulas
pode
invalidar
uma
conclusão
anterior.
Fechamento
de
uma
base
de
conhecimento
¨ Suponha
que
as
regras
de
um
átomo
são:
n
¤
a
←
b1.
¤
...
¤
a
←
bn.
¨ A
quais
são
equivalente
a:
¤
a
←
b1
∨
...
bn.
¨ Sob
a
Hipótese
de
Conhecimento
Completo
(CKA),
se
a
é
verdadeiro,
um
dos
bi
deve
ser
verdadeiro:
¤
a
→
b1
∨ ...
bn.
¨ Sobre
a
CKA,
as
cláusulas
para
a
representam
o
Fechamento
(comple2on)
de
Clark:
¤
a
↔
b1
∨...
bn.
Fechamento
de
Clark
de
uma
BC
¨ O
Fechamento
de
Clark
de
uma
base
de
conhecimento
consiste
do
fechamento
de
cada
átomo
da
base.
¨ Um
átomo
sem
cláusulas
tem
seu
fechamento
como:
¨
a
↔
false.
¨ Pode-‐se
interpretar
negações
no
corpo
de
cláusulas.
¤ ~a
significa
que
a
é
false
sob
a
suposição
de
conhecimento
completo
(CKA).
¨
Isto
é
conhecido
como
negação
como
falha.
Interpretador
bo^om-‐up
de
negação
como
de
falha
¨ C
:=
{}
¨ repeat
¨
this
¨
selecione
r
∈
BC
tal
que
¨
r
é
“h
←
b1
∧ …
∧ bm"
¨
bi
∈C
para
todo
i,
e
¨
h
∉
C;
¨
C
:=
C
∪
{h}
¨
or
¨
selecione
h
tal
que
para
toda
regra
“h
←
b1
∧ …
∧
bm"
∈ BC
¨
para
algum
bi,
~bi
∈
C
¨
ou
algum
bi
=
~g
e
g
∈ C
¨
C
:=
C
∪
{~h}
¨ un2l
que
não
seja
possível
mais
seleções
Exemplo
de
Negação
como
falha
Procedimento de prova Top-Down de
negação como falha
¨ Se
a
prova
é
para
uma
falha,
você
pode
concluir
~a.
¨ Falha
pode
ser
definida
recursivamente:
¨
suponha
que
você
tem
regras
para
o
átomo
a:
¨
a ← b1
¨
...
¨
a ← bn
¨
se
cada
corpo
bi
falhar,
a
falha.
¨
Um
corpo
falhará
se
uma
das
conjunções
no
corpo
falhar.
¨ Observe
que
vocêprecisa
de
ter
falha
finita.
¤ Exemplo:
p
←
p.
Procedimento
de
prova
Top-‐down
para
negação
como
falha
¨ 1:
non-‐determinis2c
procedure
NAFTD(KB,Query)
¨ 2:
Inputs:
KB
#
um
conjunto
de
cláusulas
que
pod
incluir
negação
como
falha
¨ 3:
Query
#
um
conjunto
de
literais
para
provar
¨ 4:
Output
¨ 5:
yes
se
a
completude
de
KB
entails
Query
e
fail
caso
contrário
¨ 6:
Local
¨ 7:
G
#
é
um
conjunto
de
literais
¨ 8:
G
←
Query
¨ 9:
repeat
¨ 10:
select
literal
l∈G
¨ 11:
if
(l
é
da
forma
~a)
then
¨ 12:
if
(NAFTD(KB,a)
fails)
then
¨ 13:
G
←G
\
{l}
¨ 14:
else
¨ 15:
fail
¨ 16:
else
¨ 17:
choose
cláusula
l
←
B
da
KB
¨ 18:
troque
l
com
B
em
G
¨ 19:
un2l
G={}
¨ 20:
return
yes
57
Inferência
proposicional
efe2va
Algoritmo
DPLL
(Davis-‐Putnam-‐Logemann-‐Loveland)
¨ Determine
se
uma
frase
de
entrada
lógica
proposicional
(em
FNC)
é
sa2sfazível.
¨ Melhorias
sobre
a
enumeração
de
tabela
de
verdade:
1. Terminação
rápida
1. A
cláusula
é
verdadeira
se
qualquer
literal
é
verdadeiro.
2. Uma
sentença
é
falsa
se
qualquer
cláusula
é
false.
2. Heurís2ca
do
símbolo
puro:
1. Símbolos
puros
sempre
aparecem
com
o
mesmo
"sinal"
em
todas
as
cláusulas.
2. E.g.,
nas
três
cláusulas
(A
∨
←B),
(←B
∨
←C),
(C
∨
A)
A
e
B
são
puros,
C
é
impuro.
3. Fazer
um
literal
de
puro
símbolo
verdadeiro.
n
3. Heurís2ca
da
cláusula
de
unidade:
1. Cláusula
de
unidade:
apenas
um
literal
na
cláusula
2. O
literal
único
de
uma
cláusula
de
unidade
deve
ser
verdadeiro.
Algor2mo
DPLL
Algoritmo
WalkSAT
¨ Algoritmo
de
busca
local,
incompleto.
¨ Função
de
avaliação:
a
heurís2ca
de
conflito
mínimo
de
minimizar
o
número
de
cláusulas
insa2sfeitas.
¨ Equilíbrio
entre
avidez
e
aleatoriedade.
The
WalkSAT
algorithm
Problemas
de
dicil
sa2sfazibilidade
¨ Considere
sentenças
aleatórias
em
3-‐FNC
e.g.,
¨
(←D
∨
←B
∨
C)
∧
(B
∨
←A
∨
←C)
∧
(←C
∨
←B
∨
E)
∧
(E
∨
←D
∨
B)
∧
(B
∨
E
∨
←C)
¤ m
=
número
de
cláusulas
¤ n
=
número
de
símbolos
¤ Problemas
diceis
parecem
se
agregar
perto
de
m/n
=
4.
3
(ponto
crí2co)
Problemas
de
dicil
sa2sfazibilidade
Problemas
de
dicil
sa2sfazibilidade
¨ Mediana
do
tempo
de
execução
para
100
sentenças
sa2sfazíveis
aleatórias
3-‐FNC,
n
=
50
Agentes
baseados
em
inferência
no
mundo
do
Wumpus
¨ Um
agente
de
mundo
do
Wumpus
usando
lógica
proposicional:
¤ ←P1,1
¤ ←W1,1
¤ Bx,y
⇔
(Px,y+1
∨
Px,y-‐1
∨
Px+1,y
∨
Px-‐1,y)
¤ Sx,y
⇔
(Wx,y+1
∨
Wx,y-‐1
∨
Wx+1,y
∨
Wx-‐1,y)
¤ W1,1
∨
W1,2
∨
…
∨
W4,4
¤ ←W1,1
∨
←W1,2
¤ ←W1,1
∨
←W1,3
¤ …
¨ ⇒ 64
símbolos
dis2ntos
de
proposição
64
à
155
frases
¨ KB
contém
frases
"sicas"
por
cada
casa.
¨ Para
cada
tempo
t
e
cada
local
[x,
y],
¨
Lx,y
∧
OlhandoParaDireitat
∧
ParaFrente⇒
Lx+1,y
¨ Rápida
proliferação
de
cláusula.
Limitação
de
expressividade
da
lógica
proposicional
t
t
Resumo
¨ Agentes
lógicos
aplicam
inferência
a
uma
base
de
conhecimento
para
derivar
novas
informações
e
tomar
decisões.
¨ Conceitos
básicos
de
lógica:
¤ Sintaxe:
estrutura
formal
da
sentenças
¤ Semân2ca:
verdade
das
sentenças
wrt
modelos
¤ Entailment:
verdade
necessária
de
uma
sentença
dado
outra
¤ inferência:
derivação
de
sentenças
a
par2r
de
outras
¤ solidez:
derivações
produzem
somente
implicações
de
sentenças
¤ completude
:
derivações
podem
produzir
tudo
vinculadas
sentenças
¨ Mundo
do
Wumpus
requer
a
capacidade
de
representar
informações
parciais
e
negadas,
raciocínio
por
casos,
etc.
¨ Resolução
é
completa
para
alógica
proposicional.
¨ Encadeamento
para
a
frente
e
para
trás
são
em
tempo
linear
e
completos
para
cláusulas
de
Horn.
¨ Falta
poder
expressivo
a
lógica
proposicional.