Sunteți pe pagina 1din 24

Lgica de Predicados

Prof. Dr. Silvio do Lago Pereira


Departamento de Tecnologia da Informao
Faculdade de Tecnologia de So Paulo

Motivao
H vrios argumentos que no podem ser adequadamente formalizados e
validados em lgica proposicional.

Exemplo
Exemplo
Scrates
Scrateshomem.
homem.
Todo
Todohomem
homemmortal.
mortal.
Logo,
Logo,Scrates
Scratesmortal
mortal
intuitivamente, podemos ver que este argumento vlido
sua formalizao em lgica proposicional resulta em {p, q}  r
porm, no h como mostrar que {p, q}  r vlido
a validade deste argumento depende do significado da palavra todo
para tratar este tipo de argumento precisamos da lgica de predicados
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

Linguagem formal: elementos bsicos


A linguagem formal da lgica de predicados mais expressiva que aquela
da lgica proposicional.
Esta maior expressividade decorre do fato de as frmulas da lgica de
predicados serem compostas pelos seguintes elementos bsicos:
objetos
predicados
conectivos
variveis
quantificadores

Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

Linguagem formal: sintaxe


Objeto
Objeto
qualquer
qualquercoisa
coisaaarespeito
respeitoda
daqual
qualprecisamos
precisamosdizer
dizeralgo
algo
Na lgica de predicados, a noo de objeto usada num sentido bastante amplo.
Objetos podem ser:
concretos: a bblia, a lua, ...
abstratos: o conjunto vazio, a paz, ...
fictcios: unicrnio, Saci-Perer, ...
atmicos ou compostos: um teclado composto de teclas
Nomes
Nomesde
deobjetos
objetosdevem
deveminiciar
iniciarcom
comletra
letraminscula!
minscula!
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

Linguagem formal: sintaxe


Predicado
Predicado
denota
denotauma
umarelao
relaoentre
entreobjetos
objetosnum
numdeterminado
determinadocontexto
contexto
A
B

sobre(a,b) : o bloco A est sobre o bloco B


cor(b,azul): o bloco B tem cor azul

proposies
atmicas!

maior(a,c): o bloco A maior que o bloco C

Nomes
Nomesde
depredicados
predicadostambm
tambmdevem
deveminiciar
iniciarcom
comletra
letraminscula!
minscula!
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

Linguagem formal: sintaxe


Conectivo
Conectivo
forma
formaproposies
proposiescompostas,
compostas,aapartir
partirde
deproposies
proposiesatmicas
atmicas

A
B

sobre(a,b) sobre(b,m)
sobre(b,m): A est sobre B e B est sobre a mesa
cor(b,azul): a cor de B no azul
maior(b,c) maior(c,b): o bloco B maior que C ou C maior que B

Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

Linguagem formal: sintaxe


Varivel
Varivel
permite
permiteestabelecer
estabelecerfatos
fatossobre
sobreobjetos,
objetos,sem
semnome-los
nome-losexplicitamente
explicitamente
bloco(X) : X um bloco
mesa(Y) : Y uma mesa
sobre(X,Y) : X est sobre Y

no so
proposies
atmicas!

Note que proposies atmicas so sentenas que podem ter valor verdadeiro
ou falso; mas no podemos dizer se bloco(X) verdadeiro ou falso at que a
varivel X tenha sido substituda ou quantificada.
Nomes
Nomesde
devariveis
variveisdevem
deveminiciar
iniciarcom
comletra
letramaiscula!
maiscula!
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

Linguagem formal: sintaxe


Quantificador
Quantificador
permite
permiteestabelecer
estabelecerfatos
fatossobre
sobreobjetos,
objetos,sem
semenumer-los
enumer-losexplicitamente
explicitamente
H dois quantificadores:
Universal....: X[bloco(X)] estabelece que todo objeto X um bloco
Existencial..: Y[mesa(Y)]
Y[mesa(Y)] estabelece que algum objeto Y uma mesa

Estes quantificadores podem ser combinados numa mesma frmula


Todo bloco est sobre alguma coisa que um bloco ou uma mesa
X[bloco(X) Y[sobre(X,Y)
Y[sobre(X,Y) (bloco(Y) mesa(Y))]]

Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

Linguagem formal: semntica


Interpretao
Interpretao
um
umconjunto
conjuntono-vazio
no-vazioD
D
um
ummapeamento
mapeamentoque
queassocia
associacada
cadaobjeto
objetoaaum
umelemento
elementofixo
fixode
deD
D
um
ummapeamento
mapeamentoque
queassocia
associacada
cadapredicado
predicadoaauma
umarelao
relaosobre
sobreD
D
O quantificador universal denota conjuno
Por exemplo, para D = {a, b ,c, m}
A frmula X[bloco(X)] equivale a bloco(a) bloco(b) bloco(c) bloco(m)

O quantificador existencial denota disjuno


Por exemplo, para D = {a, b ,c, m}
A frmula Y[mesa(Y)]
Y[mesa(Y)] equivale a mesa(a) mesa(b) mesa(c) mesa(m)

Equivalncias
X[
X[(X)] X[
X[ (X)]
X[
X[(X)] X[
X[ (X)]
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

Representao de conhecimento
Para facilitar a formalizao se sentenas na lgica de predicados,
destacamos quatro tipos de sentenas de especial interesse,
denominadas enunciados categricos:
Universal afirmativo: Todos os homens so mortais.
Universal negativo: Nenhum homem extra-terrestre.
Particular afirmativo: Alguns homens so cultos.
Particular negativo: Alguns homens no so cultos.

Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

10

Representao de conhecimento
Enunciado
Enunciadouniversal
universalafirmativo
afirmativo
da
q(X)
daforma
formaX[p(X)
X[p(X)
q(X)]
q(X)]
q(X)]]
estabelece
estabeleceque
queppum
umsubconjunto
subconjuntode
deqq

p
X

Exemplo:
Sentena....: Todos os homens so mortais
Sintaxe.......: X[h(X) m(X)]
Semntica..: para todo X, se Xh ento Xm
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

11

Representao de conhecimento
Enunciado
Enunciadouniversal
universalnegativo
negativo
da
q(X)
daforma
formaX[p(X)
X[p(X)
q(X)]
q(X)]
q(X)]]
estabelece
estabeleceque
queos
osconjuntos
conjuntosppeeqqso
sodisjuntos
disjuntos

p
X

Exemplo:
Sentena....: Nenhum homem extra-terrestre
Sintaxe.......: X[h(X) e(X)]
Semntica..: para todo X, se Xh ento Xe
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

12

Representao de conhecimento
Enunciado
Enunciadoparticular
particularafirmativo
afirmativo
da
q(X)
daforma
formaX[p(X)
X[p(X)q(X)]
q(X)]
q(X)]]
estabelece
estabeleceque
queos
osconjuntos
conjuntosppeeqqtm
tminterseco
intersecono-vazia
no-vazia

Exemplo:
Sentena....: Alguns homens so cultos
Sintaxe.......: X[h(X) c(X)]
Semntica..: existe X tal que Xh e Xc
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

13

Representao de conhecimento
Enunciado
Enunciadoparticular
particularnegativo
negativo
da
q(X)
daforma
formaX[p(X)
X[p(X)q(X)]
q(X)]
q(X)]]
estabelece
estabeleceque
queexistem
existemelementos
elementosem
emppque
queno
noesto
estoem
emqq

Exemplo:
Sentena....: Alguns homens no so cultos
Sintaxe.......: X[h(X) c(X)]
Semntica..: existe X tal que Xh e Xc
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

14

Representao de conhecimento
Exerccio 1. Formalize as sentenas a seguir usando lgica de predicados
Toda cobra venenosa.
Nenhuma bruxa bela.
Algumas plantas so carnvoras.
H aves que no voam.
Tudo que sobe, desce.
Existem polticos no so honestos.
No existe bbado feliz.
Pedras preciosas so caras.
Ningum gosta de impostos.
Vegetarianos no gostam de aougueiros.
Toda me ama seus filhos.
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

15

Equivalncia entre sentenas


H sentenas que podem ser escritas em mais de uma forma.
Exemplo
Sentenas
Nem tudo que brilha ouro.
Existe algo que brilha e no ouro.

Frmulas
X[b(X)
X[b(X) o(X)]
o(X)]
X[b(X) o(X)]
o(X)]

Equivalncia
X[b(X)
X[b(X) o(X)]
o(X)]
X[
X[
X[ b(X) o(X)]
o(X)]
X [ b(X) o(X)]
o(X)]
X [b(X) o(X)]
o(X)]

Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

16

Representao de conhecimento
Exerccio 2. Verifique se os pares de sentenas so equivalentes
Nem toda estrada perigosa.
Algumas estradas no so perigosas.
Nem todo bbado fumante.
Alguns bbados so fumantes.
Nem todo ator americano famoso.
Alguns atores americanos no so famosos.

Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

17

Validao de argumentos
Exemplo
Exemplo
Scrates
Scrateshomem.
homem.
Todo
Todohomem
homemmortal.
mortal.
Logo,
Logo,Scrates
Scratesmortal
mortal

Formalizao: { h(s), X[h(X) m(X)]


m(X)] }  m(s)
Normalizao: { h(s), X[
X[ h(X) m(X)]
m(X)] }  m(s)
Refutao
(1) h(s)

(2) h(X) m(X)


------------------(3) m(s)
Hip
Hiptese
(4) h(s)
RES(3,2) / {X=s}
(5)
RES(4,1)
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

instanciao
de varivel

18

Extrao de respostas
Exemplo
Exemplo
Scrates
Scrateshomem.
homem.
Todo
Todohomem
homemmortal.
mortal.
Consulta:
Consulta:Quem
Quemmortal?
mortal?

Formalizao: { h(s), X[h(X) m(X)]


m(X)] }  Y[m(Y)]
Normalizao: { h(s), X[
X[ h(X) m(X)]
m(X)] }  Y[m(Y)]
Refutao
(1) h(s)

Y [m(Y) ] Y [ m(Y) ]
(2) h(X) m(X)
------------------(3) m(Y)
Hip
Hiptese
resposta da consulta
(4) h(Y)
RES(3,2) / {Y=X}
(5)
RES(4,1) / {Y=s}
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

19

Instanciao de variveis universais


Apenas
Apenasvariveis
variveisuniversais
universaispodem
podemser
sercorretamente
corretamenteinstanciadas.
instanciadas.

Varivel
Variveluniversal:
universal:Todo
Todoco
cofiel
fielaaalgum
algum
Frmula......:
Frmula......:X[co(X)
X[co(X)
Y[fiel(X,Y)]]
Y[fiel(X,Y)]]
Instncia.....:
Instncia.....:co(rex)
co(rex)
Y[fiel(rex,Y)]
Y[fiel(rex,Y)] // {X=rex}
{X=rex}
Significado.:
algu
Significado.:Se
SeRex
Rexum
umco,
co,ento
entoRex
Rexfiel
fielaaalgu
algu
m.
algum.
Concluso..:
Concluso..:aafrmula
frmulaeesua
suainstncia
instnciatm
tmsignificados
significadoscoerentes
coerentes

Varivel
Varivelexistencial:
existencial:Todo
Todoco
cofiel
fielaaalgum
algum
Frmula......:
Frmula......:X[co(X)
X[co(X)
Y[fiel(X,Y)]]
Y[fiel(X,Y)]]
Instncia.....:
Instncia.....:X[co(X)
X[co(X)
fiel(X,ana)]
fiel(X,ana)] // {Y=ana}
{Y=ana}
Significado.:
Significado.:Todo
Todoco
cofiel
fielaaAna.
Ana.
Concluso..:
Concluso..:aafrmula
frmulaeesua
suainstncia
instnciano
notm
tmsignificados
significadoscoerentes
coerentes
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

20

Skolemizao de variveis existenciais


Supomos
Supomosaaexistncia
existnciade
deuma
umafuno
funoque
qued
doovalor
valorcorreto
corretopara
paraaavarivel.
varivel.

Varivel
Varivelexistencial:
existencial:Todo
Todoco
cofiel
fielaaalgum
algum
Frmula......:
Frmula......:X[co(X)
X[co(X)
Y[fiel(X,Y)]]
Y[fiel(X,Y)]]
Instncia.....:
Instncia.....:X[co(X)
X[co(X)
fiel(X,dono(X))]
fiel(X,dono(X))] // {Y=dono(X)}
{Y=dono(X)}
Significado.:
Significado.:Todo
Todoco
cofiel
fielaaseu
seudono.
dono.
Concluso..:
Concluso..:aafrmula
frmulaeesua
suainstncia
instnciatm
tmsignificados
significadoscoerentes
coerentes
A suposio destas funes foi originalmente proposta por Thoralf Skolem.
A funo deve ter como argumentos todas as variveis que so globais a ela.
Se no houver variveis globais, em vez de funo, podemos usar uma constante.
Daqui em diante vamos considerar apenas variveis universais.
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

21

Unificao
Unificao
Unificao
ooprocesso
processode
deencontrar
encontrarum
umconjunto
conjuntominimal
minimalde
desubstituies
substituiesque
quetorna
torna
duas
duasfrmulas
frmulasidnticas
idnticas(a(afim
fimde
deque
quepossamos
possamosusar
usarresoluo).
resoluo).
Algoritmo de unificao
Para unificar duas frmulas atmicas (sem variveis em comum):
Compare as frmulas at achar uma discrepncia ou atingir o final de ambas.
Ao encontrar uma discrepncia:
Se nenhum dos elementos envolvidos for uma varivel, finalize com fracasso.
Caso contrrio, substitua todas as ocorrncias da varivel pelo outro elemento
e continue a comparao das frmulas.
Ao atingir o final de ambas as frmulas atmicas, finalize com sucesso.
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

22

Unificao
Prolog
=/2
Prologimplementa
implementaunificao
unificaopor
pormeio
meiodo
dopredicado
predicadopredefinido
predefinido=/2.
=/2.
=/2

Exerccio 3. Usando Prolog, verifique se os pares de frmulas podem ser unificados


?- gosta(ana,X) = gosta(Y,Z).
?- primo(X,Y) = prima(A,B).
?- igual(X,X) = igual(bola,bala).
?- ama(deus,Y) = ama(X,filho(X)).
?- cor(sapato(X),branco) = cor(sapato(suspeito),Y).
?- mora(X,casa(me(X))) = mora(joana,Y).
?- p(X) = p(f(X)).
?- p(f(Y),Y,X) = p(X,f(a),f(Z)).
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

23

Fim

S-ar putea să vă placă și