Академический Документы
Профессиональный Документы
Культура Документы
ogicas N
ao Mon
otonas
Ano Lectivo 2010/2011
Ano Lectivo 2010/2011 1
Resumo
Limitacoes da l ogica classica na representacao do conhecimento
Logica por omissao
Logica autoepistemica
Semanticas de Programacao em Logica
Ano Lectivo 2010/2011 2
Limitacoes da logica classica
Considere-se o conjunto de clausulas
ave(X) voa(X)
pinguim(X) ave(X)
pinguim(X) voa(X)
O que se deriva da teoria anterior juntamente com
1. ave(b1) ?
2. voa(b1) ?
3. ave(b1) e voa(b1) ?
4. pinguim(fred) ?
Ano Lectivo 2010/2011 3
A logica classica e monotona
O comportamento ilustrado anteriormente e justicado pela propriedade da mono-
tonia da logica classica.
Se algo e concludo a partir do que sei agora, entao continuara a ser con-
cludo no futuro.
Formalmente,
Se T [= entao T F [= , para qualquer teoria T e F e formula .
Ano Lectivo 2010/2011 4
O mundo aberto
Considere-se a pequena base de dados representada em l ogica:
BD
1
=
lecc(sw, p, 456)
lecc(iia, p, 123) lecc(iia, p, 456)
CWA
= [ [=
Assim, ja obtemos lecciona(sw, p, 123)lecciona(sw, p, 456) Cn
CWA
(BD
1
)!
O que acontece se adicionarmos a BD
1
a informacao lecciona(sw, p, 123)?
Ano Lectivo 2010/2011 7
Problemas da CWA
Considere-se a teoria
praia cinema praia praia cinema aborrecido
Sera que se pode concluir aborrecido?
E de ?
praia cinema praia cinema aborrecido
Ano Lectivo 2010/2011 8
Problemas da CWA
Considere-se a teoria
praia cinema praia praia cinema aborrecido
Sera que se pode concluir aborrecido? Nao, como se deseja.
E de ?
praia cinema praia cinema aborrecido
Sim! A teoria ca inconsistente, pois como nem praia nem cinema so concludos
da teoria original, entao quer praia quer cinema sao adicionados!
Mais um exemplo ilustrando que o raciocnio com CWA e nao mon otono.
Ano Lectivo 2010/2011 9
Logica por Omissao (Reiter)
Uma teoria de logica por omissao (Default Logic) e um par
'D, W`
em que W e um conjunto de f ormulas de LPO e D e um conjunto de regras por
omissao (defaults) com a forma
:
1
, . . . ,
n
X
(pinguim(X) ave(X))
X
(pinguim(X) voa(X)) ave(tweety)
O que se pode concluir da teoria por omissao anterior?
E se juntarmos pinguim(tweety) ?
Ano Lectivo 2010/2011 11
Calculo de extensoes
E e uma extensao sse
E
0
= W
E
i+1
= Cn(E
i
)
[
:
1
,...,
n
e E
i
e
1
E, . . . ,
n
E
E =
i=0
E
i
Em geral, o calculo de extens oes e indecidvel para teorias de logica de primeira
ordem. Mas para o caso proposicional o problema e decidvel.
Ano Lectivo 2010/2011 12
Outro exemplo
Normalmente, os cisnes sao brancos.
cisne(X) : branco(X)
branco(X)
Normalmente, os cisnes australianos sao pretos.
cisne(X) australiano(X) : preto(X)
preto(X)
Bruce e um cisne australiano.
cisne(bruce) australiano(bruce)
Nada e preto e branco simultaneamente
X
(branco(X) preto(X))
Ano Lectivo 2010/2011 13
Extensoes para o problema dos cisnes
Para o exemplo dos cisnes temos duas extensoes:
1. Uma extensao E
1
que contem
cisne(bruce), australiano(bruce), branco(bruce), preto(bruce)
2. Uma extensao E
2
que contem
cisne(bruce), australiano(bruce), preto(bruce), branco(bruce)
As regras por omissao anteriores sao normais, pois tem a forma:
:
Se as regras numa teoria por omissao forem todas normais, entao garante-se a
existencia de pelo menos uma extensao.
Ano Lectivo 2010/2011 14
Exerccio
Quais sao extens oes da teoria
D =
adulto : empregado
empregado
estudante : empregado
empregado
estudante : adulto
adulto
com
W = estudante
?
Ano Lectivo 2010/2011 15
Logica autoepistemica (Robert Moore)
Imagine-se a seguinte pergunta:
O Papa esta hoje na FCT ?
Qual o argumento ?
Ano Lectivo 2010/2011 16
Logica autoepistemica (Robert Moore)
Imagine-se a seguinte pergunta:
O Papa esta hoje na FCT ?
Qual o argumento ?
Nao esta. Se estivesse eu teria conhecimento desse facto! Formalmente:
papaNaFCT LpapaNaFCT
A f ormula L signica Eu acredito em ou Eu sei .
Ano Lectivo 2010/2011 17
Logica autoepistemica (Robert Moore)
Expansao:
E = Cn(T L [ E L [ E)
Para o nosso exemplo e obvio que nao temos maneira de concluir papaNaFCT
logo na expansao deverei ter tambem LpapaNaFCT.
Por contrapositiva, conclui-se que papaNaFCT. E que mais ?
Ano Lectivo 2010/2011 18
Logica autoepistemica (Robert Moore)
Expansao:
E = Cn(T L [ E L [ E)
Para o nosso exemplo e obvio que nao temos maneira de concluir papaNaFCT
logo na expansao deverei ter tambem LpapaNaFCT.
Por contrapositiva, conclui-se que papaNaFCT. E que mais ?
LpapaNaFCT LLpapaNaFCT
.
.
.
.
.
.
Ano Lectivo 2010/2011 19
Programacao em Logica
Programa em logica denido ou positivo e um conjunto de regras:
A : B
1
, . . . , B
m
.
em que A, B
1
, . . . , B
m
sao atomos da Logica de Primeira Ordem. Se n = 0 temos
um facto representado por A.
Uma regra le-se A se B
1
e . . . e B
m
, correspondendo `a implicacao
(B
1
. . . B
m
A)
ou seja, e um conjunto de clausulas de Horn.
Algumas variantes da programacao em l ogica admitem restricoes de integridade
com a forma:
: B
1
, . . . , B
m
.
Os programas denidos datalog sao aqueles que nao utilizam smbolos de funcao
nos seus termos, i.e. os termos ou sao variaveis ou constantes.
Ano Lectivo 2010/2011 20
Exemplos de Programas em Logica
Programa denido datalog
shutdown : overheat.
shutdown : leak.
leak : valve closed, pressure loss.
valve closed : signal(1).
pressure loss : signal(2).
overheat : signal(3).
alarm : signal(X).
signal(1).
signal(2).
Um programa denido mas nao datalog:
natural(0). soma(0, X, X) : natural(X).
natural(s(X)) : natural(X). soma(s(X), Y, s(Z)) : soma(X, Y, Z).
Ano Lectivo 2010/2011 21
Datalog (database logic)
Os programas datalog estao relacionados com as bases de dados, podendo ser
utilizados para expressar regras e consultas a bases de dados dedutivas.
Os predicados num programa datalog normalmente classicam-se em:
Predicados extensionais formados apenas por factos contendo a a informacao
das relacoes da base de dados.
Predicados intensionais denidos atraves de 1 ou mais regras datalog.
Predicados aritmeticos predicados cuja cuja interpretacao se encontra previa-
mente xada e inalteravel.
Ano Lectivo 2010/2011 22
Uma base de dados de lmes
Considere-se o predicado extensional
movie(Title, Y ear, Length, InColor, StudioName)
com a seguinte informacao:
movie(Star Wars , 1977 , 124 , true, Fox).
movie(Mighty Ducks, 1991 , 104 , true, Disney).
movie(Waynes World, 1992 , 95 , true, Paramount).
O predicado intensional
longMovie(T,Y) :- movie(T,Y,L,C,S), L >= 100.
corresponde `a expressao de algebra relacional
longMovie =
Title,Y ear
Length>=100
(movie)
Ano Lectivo 2010/2011 23
Traducao dos operadores de algebra relacional
Projeccao
X
i
1
,...,X
i
k
(r), com k m
p(X
i
1
, . . . , X
i
k
) : r(X
1
, . . . , X
m
).
Interseccao (caso m = n)
i(X
1
, . . . , X
m
) : r(X
1
, . . . , X
m
), s(X
1
, . . . , X
m
).
Uniao (caso m = n)
u(X
1
, . . . , X
m
) : r(X
1
, . . . , X
m
).
u(X
1
, . . . , X
m
) : s(X
1
, . . . , X
m
).
Produto cartesiano
prod(X
1
, . . . , X
m
, Y
1
, . . . , Y
n
) : r(X
1
, . . . , X
m
), s(Y
1
, . . . , Y
n
).
Juncao natural de r/m+ k com s/k + n:
j(X
1
, . . . , X
m
, Z
1
, . . . , Z
k
, Y
1
, . . . , Y
n
) :
r(X
1
, . . . , X
m
, Z
1
, . . . , Z
k
), s(Z
1
, . . . , Z
k
, Y
1
, . . . , Y
n
).
Ano Lectivo 2010/2011 24
Traducao dos operadores de algebra relacional
A operacao de selec cao e mais complicada, por causa do predicado de seleccao.
A maneira mais simples consiste em passar o predicado de seleccao para a forma
normal disjuntiva (OR de ANDs). Por exemplo,
A:B
1
,...,B
m
ground(P)
se B
1
, . . . , B
m
M entao A M
Um programa em logica denido tem sempre um modelo mnimo ( unico!).
Ano Lectivo 2010/2011 29
Calculo do modelo mnimo
O modelo mnimo de um programa em logica denido e obtido por iteracao do
operador de consequencias imediatas T
P
:
T
P
(I) = A [ A : B
1
, . . . , B
m
ground(P) tal que B
1
, . . . , B
m
I
O operador T
P
e monotono: se I
1
I
2
entao T
P
(I
1
) T
P
(I
2
).
Tem-se ainda que M e modelo de um programa em logica denido se e somente
se T
P
(M) M.
O modelo mnimo e dado por least(P) = T
P
:
T
P
0
=
T
P
i+1
= T
P
(T
P
i
)
T
P
=
0j<
T
P
j
Ano Lectivo 2010/2011 30
Programas em Logica Normais
Um programa em logica normal e um conjunto de regras:
A : B
1
, . . . , B
m
, not C
1
, . . . , not C
n
.
A semantica do not da linguagem PROLOG e denida por mecanismos opera-
cionais com uma serie de problemas praticos e teoricos
Dado um programa normal P completamente instanciado (ground), dene-se
a divisao de P por uma interpretacao I como o programa denido:
P
I
= A : B
1
, . . . , B
m
[ A : B
1
, . . . , B
m
, not C
1
, . . . , not C
n
P e C
1
, . . . , C
n
I
O operador de Gelfond-Lifschitz (I) = least(
P
I
) = TP
I
obtem o modelo
mnimo de Herbrand do programa dividido.
A interpretacao M e um modelo estavel sse (M) = M
Ano Lectivo 2010/2011 31
Exemplo
laugh :- joke.
joke.
hear_joke :- joke, not deaf.
understand_joke :- hear_joke, not stupid.
laugh :- understand_joke.
laugh :- stupid, not joke.
Qual o modelo estavel deste programa?
Ano Lectivo 2010/2011 32
As aves
O seguinte programa tambem so tem um modelo estavel do qual
voa(X) : ave(X), not anormal(X).
ave(X) : pinguim(X).
anormal(X) : pinguim(X).
ave(tweety).
pinguim(joe).
se conclui que voa(tweety) e que not voa(joe). Se juntarmos o facto pinguim(tweety)
deixaremos de concluir voa(tweety).
Ano Lectivo 2010/2011 33
Os cisnes outra vez
Quais os modelos estaveis para:
preto : australiano, cisne, not branco.
branco : cisne, not preto.
cisne.
australiano.
Uma regra de um programa em logica normal pode ser traduzida para o default:
B
1
. . . B
m
: C
1
, . . . , C
n
A
As extensoes estao em correspondencia 1-1 com os modelos estaveis.
Ano Lectivo 2010/2011 34
Modelo bem-fundado
Considere-se o programa (nao tendo modelos estaveis):
vence(X) : jogada(X, Y ), not vence(Y ).
jogada(a, b).
jogada(b, c).
jogada(b, f).
jogada(c, d).
jogada(c, e).
jogada(d, d).
jogada(e, c).
O par 'T, F` e um modelo estavel parcial (a 3 valores) sse
T = (T) e F = H
P
(T)
O menor deles pode ser obtido iterando o operador a partir de . Esse e
designado por modelo bem-fundado e pode ser obtido em tempo polinomial.
Ano Lectivo 2010/2011 35
Calculo do Modelo Bem-fundado
Considerem-se apenas os atomos da forma vence/1. O modelo bem fundado pode
ser obtido iterando-se a partir de . Esquematicamente:
n
2n
()
2n
()