You are on page 1of 83

Lgica Proposicional

Aula 5 - Cap. 7
Fundamentos da IA
Mestrado FEI

Resoluao de problemas por


busca

Conhecimento sobre resultados e aes


permite a soluo automtica de problemas
complexos
um agente reativo no conseguiria encontrar a
rota entre Arad e Bucareste

Porm at agora este conhecimento muito


especfico e inflexvel
pea de xadrez pode estar em 2 lugares ao
mesmo tempo ??

Agente baseado em
conhecimento

pode combinar o conhecimento geral


com percepes correntes para deduzir
aspectos ocultos do estado atual antes
de selecionar aes.

Agente baseado em
conhecimento

pode combinar o conhecimento geral


com percepes correntes para deduzir
aspectos ocultos do estado atual antes
de selecionar aes.
Grande parte das dedues humanas
dependem do tratamento de incertezas
segunda parte do curso...

Agentes lgicos

Representam o mundo
Utilizam inferncia para tirar concluses
sobre o mundo representado

Agentes lgicos

Conhecimento representado como


sentenas em uma linguagem de
representao de conhecimento;
Um conjunto de sentenas forma a
base de conhecimento (BC) do
agente.

Informar e perguntar

Novas sentenas so adicionadas base


de conhecimento por meio da tarefa
TELL;
Consultas base de conhecimento so
feitas pela tarefa ASK;
ambos processos podem envolver
inferncias
INFERNCIA: derivao de novas sentenas a
partir de sentenas antigas.

Inferncia clssica (deduo)

A resposta de uma pergunta (ASK)


base de conhecimento deve seguir o
que foi informado anteriormente (TELL);
Nada inventado medida em que o
processo de inferncia se desenrola;
portanto, TELL um processo no clssico
(abduo)!
E aprendizagem tambm (induo).

Mundo de
Wumpus

Desempenho
ouro +1000, morte-1000
passo -1 , flecha -10
Ambiente
quadrados prximos ao
wumpus fedem
prximos ao poo: brisa
quadrado do ouro: brilho
uma flecha somente
atirar mata wumpus se em
frente
Pegar ouro no quad., deixa
ouro no quad.
Sensores:
[fedor, brisa, brilho, impacto, grito]

Atuadores: esquerda, direita,


pegar, deixar, atirar

Explorando o mundo de wumpus


Primeira percepo: [nada, nada, nada, nada, nada]

Deduz: [1,2] e [2,1] so seguros...

Explorando o mundo de wumpus

Segunda percepo: [nada, brisa ,nada ,nada ,nada]

Explorando o mundo de wumpus

Deduo: poo em [1,3] ou [2,2]


quadrado vazio em [2,1]

Explorando o mundo de wumpus

Nova percepo: [fedor , nada , nada , nada , nada]


Nova deduo: wumpus em [3,1]

Explorando o mundo de wumpus

Nova deduo: wumpus em [3,1] e poo em [1,3]


(pois no havia fedor em [1,2], nem brisa em [2,1])

Nova deduo: wumpus em [3,1] e poo em [1,3]


(pois no havia fedor em [2,2] nem brisa em [2,1])

Esta uma inferncia difcil pois se


baseia em informao obtida em
diferentes instantes e lugares, e se
baseia na falta de uma percepo...
Est alm das habilidades da maioria
dos animais, mas factvel para um
agente lgico

Propriedade do raciocnio lgico

As concluses sero corretas se as


informaes disponveis estiverem
corretas!

Lgica -- sintaxe

...base de conhecimento consiste de


sentenas...
Sentenas so escritas com uma
sintaxe;
Sintaxe especifica sentenas bem
formadas
ex. em aritmtica: X + Y = 4
x2y+= : no bem formada

Lgica -- semntica

Define o significado das sentenas;


em lgica: significado a verdade de
cada sentena em relao
interpretaes possveis.
Ex. x + y = 4, verdade na interpretao x=2
e y=2, falso na interpretao x=1 e y =1.
Em lgica clssica, as sentenas s
podem ser verdadeiras ou falsas

Lgica -- semntica
Dizemos que m um modelo de : se
verdade na interpretao m

Lgica -- semntica

Dada duas sentenas e , se em


todos as interpretaes em que
verdadeira, tambm o dizemos que
consequncia lgica de :
|=
se verdadeira tambm deve ser.

Lgica -- semntica: wumpus

Situao aps
detectar nada em
[1,1], mover direita
e brisa em [2,1]
Considerar as
interpretaes
possveis para poos

Lgica -- semntica: wumpus

Lgica -- semntica: wumpus

BC = regras do mundo de wumpus +


observaes

Lgica -- semntica: wumpus

BC = regras do mundo de wumpus + observaes


1 = "[1,2] seguro", BC |= 1

Lgica -- semntica: wumpus

BC = regras do mundo de wumpus + observaes

2 = "[2,2] seguro", BC |= 2

Lgica -- semntica: wumpus

Em alguns modelos em que BC verdadeira, 2 falsa, logo


no h como deduzir se h um poo em [2,2] nem se no
h...

Este algoritmo de inferncia


denominado:
verificao de modelos
pois enumera todos os modelos
possveis para verificar se
verdadeira em todos os modelos em
que BC verdadeira

Derivao lgica

Se um algoritmo de inferncia i pode


derivar de BC:
BC |-i
um algoritmo de inferncia consistente
(correto) se deriva apenas sentenas
permitidas (pertencentes ao modelo).
e completo se puder derivar qualquer
sentena permitida.

Sound and completeness


(correo e completeza)
BC |=
completeness
soundness
BC |-i

Hiptese bsica da IA logiscista

Se a BC representa fatos no mundo


real, qualquer sentena derivada de
BC por um procedimento de inferncia
consistente tambm ser verdadeira no
mundo real

Hiptese bsica da IA logiscista

... portanto, embora a inferncia opere


sobre a sintaxe, o processo
corresponde concluses verdadeiras
no mundo real.

Como sabemos que a BC


verdadeira no mundo real?

Como sabemos que a BC


verdadeira no mundo real?

Os sensores do agente criam a


conexo.
E se houver excees?
E se a verdade for temporria?
E se houver regras gerais no previstas
pelo engenheiro de conhecimento??

Lgica proposicional - sintaxe

Sentenas atmicas (elementos


sintticos indivisveis):
um nico smbolo proposicional;
cada smbolo uma proposio que pode
ser verdadeira ou falsa;
nomes em maisculas: A, B, W1,3...
Verdadeiro
Falso

LP- sintaxe- sentenas atmicas


se S sentena, S sentena
(negao)
Um literal uma sentena atmica
negada ou no.

LP- sintaxe- sentenas complexas


se S1 e S2 so sentenas, tb o so:
S1 S2 (conjuno -- e)
S1 S2 (disjuno -- ou)
S1 S2 (implicao-se, ento)
S1 S2 sentena (bicondicional - se e
somente se)

LP- sintaxe-- precedncia

Utilize parnteses:
((A B) C))
Ou se apoie na ordem de precedncia:
, , , e
P Q R S equivale a:
(( P) (Q R)) S

Lgica proposicional: semntica

Um modelo proposicional simplesmente


fixa o valor verdade para todo smbolo
proposicional de uma BC:
E.g.

P1,2
false

P2,2
true

P3,1
false

Verdadeiro verdadeiro em todo modelo e


Falso falso em todo modelo;
O valor verdade de todos os outros smbolos
proposicionais deve ser especificado diretamente
no modelo.

Lgica proposicional: semntica

Regras para avaliar o valor verdade com


respeito a um modelo m:

S verdade sse S falso


S1 S2 verdade sse S1 verdade e S2
verdade
S1 S2 verdade sse S1 verdade ou S2
verdade
S1 S2 verdade sse S1 falso ou S2 verdade
i.e.,
falso sse S1 verdade e S2 falso
S1 S2 verdade sse S1S2 verdade e S2S1
verdade

Tabela verdade

Assim reduz-se a verdade de sentenas complexas


verdade de sentenas mais simples em um processo recursivo.
E.g.:
P1,2 (P2,2 P3,1) = true (true false) = true true = true
Obs. Cada linha da tabela uma interpretao possvel.

Tabela verdade

Enumere todas os modelos e verifique


se verdadeira em todo modelo em
que BC verdadeira.

Inferncia por enumerao de


modelos

A busca em profundidade para enumerar todos as interpretaes


para encontrar modelos correta e completa.

Para n simbolos, complexidade temporal O(2n), e espacial O(n)

Equivalncia lgica

Duas sentenas so logicamente equivalentes sse verdadeiras


nos mesmos modelos: sse |= e |= :

Validade e satisfatibilidade
Uma sentena vlida se verdadeira em todos os modelos,
e.g., True,

A A, A A, (A (A B)) B
Tautologias

Validade ligada inferncia via o Teorema da Deduo :


KB |= se e somente se (KB ) valida
Uma sentena satisfatvel se verdadeira em algum modelo
e.g., A B,

Uma sentena insatisfatvel se verdadeira em nenhum modelo


e.g., AA

Satisfatibilidade ligada inferncia via o seguinte:


KB |= se e somente se (KB ) insatisfatvel

Raciocinando por contraposio

Teorema da Deduo
Validade ligada inferncia via o Teorema
da Deduo :
BC |= se e somente se (BC ) valida
Podemos imaginar o algoritmo anterior como a
verificao da validade de BC

Reciprocamente, toda sentena de


implicao vlida descreve uma inferncia
legtima.

Inferncia como prova

Regras de inferncia:
Modus ponens
,

Eliminao-de-e
,

Todas as equivalncias anteriores podem


ser usadas como regras de inferncia.

Exemplo: BC mundo de wumpus


Seja Pij verdade se existe um poo em [i, j].
Seja Bij verdade se h brisa em [i, j].
R1: P11
R2: B11
R3: B21

"Poos causam brisas em quadrados


adjacentes "
R4: B11 (P12 P21)
R5: B21 (P11 P22 P31)

Exemplo: Wumpus

Seja a base de conhecimento R1 -- R5,


vamos provar P12:
Eliminao de bicondicional a R4:
R6: (B11 (P12 P21))((P12 P21) B11)
Eliminao-e em R6:
R7:(B11 (P12 P21)) e R7`:((P12 P21) B11)
Contraposio em R7`:
R8: ( B11 (P12 P21))
Modus ponens com R2 e R8:
R9: (P12 P21))

Exemplo: Wumpus
Regra de de Morgan em R9:
R10: P12 P21
i.e. nem [1,2], nem [2,1] possui um poo!
[obs. Erro no livro!]

Mtodos de prova

H duas categorias principais de mtodos de provas:


Aplicao das regras de inferncia
Gerao correta (sound) de novas sentenas a partir de antigas;
Prova = uma sequncia de aplicaes de regras de inferncia
Regras de inferncia podem ser usadas como aes em um
algoritmo de busca

Tipicamente requer transformar as sentenas em uma forma


normal (def. a seguir)

Model checking
enumerao de modelos em tabelas verdade
retrocesso melhorado, e.g., Davis--Putnam-Logemann-Loveland
(DPLL)
busca heurstica em um espao de modelos WALKSAT (correto,
porm incompleto)

Resoluo
Satisfatibilidade ligada inferncia via o seguinte:
BC |= se e somente se (BC ) insatisfatvel

Raciocinando por contraposio

Resoluo
Forma Normal Conjuntiva -- Conjunctive Normal Form (CNF)
conjuno de disjunes de literais
E.g., (A B) (B C D)

Regra de inferncia resoluo (para CNF):


l1 lk,
m1 mn
l1 li-1 li+1 lk m1 mj-1 mj+1 ... mn
onde li e mj so literais complementares.
l1 l2
l2 l3
l1 l3
E.g., P1,3 P2,2,
P1,3

P2,2

correta e completa para lgica proposicional

Resoluo

Qualquer algoritmo de busca completo,


aplicando apenas a regra de resoluo,
pode derivar qualquer concluso
permitida por qualquer base de
conhecimento em lgica proposicional!

Converso para CNF


B1,1 (P1,2 P2,1)

Eliminar , trocando por ( )( ).


(B1,1 (P1,2 P2,1)) ((P1,2 P2,1) B1,1)

2. Eliminar , trocando por .


(B1,1 P1,2 P2,1) ((P1,2 P2,1) B1,1)

3. Mover para dentro usando as leis de de Morgan e


negao dupla:
(B1,1 P1,2 P2,1) ((P1,2 P2,1) B1,1)

4. Aplicar a lei distributiva ( sobre ) e eliminar ( ):


(B1,1 P1,2 P2,1) (P1,2 B1,1) (P2,1 B1,1)

Algoritmo de Resoluo

Primeiro a entrada convertida em


CNF. Em seguida a regra de resoluo
aplicada s clusulas restantes. Cada
par que contm literais
complementares resolvido para gerar
uma nova clusula, que adicionada
ao conjunto..

Algoritmo de Resoluo

O processo continua at que:


no exista nenhuma clusula nova a ser
adicionada; nesse caso, no h
consequncia lgica
a clusula vazia derivada; assim, a
consequncia lgica verificada.
Raciocinando por contraposio

Algoritmo da resoluo

Prova por contradio, i.e., para provar em BC,


mostrar que KB insatisfatvel

PL-Resolve retorna o conj. de todas as clusulas possveis


obtidas pela resoluo de duas entradas

Exemplo de resoluo

BC = (B1,1 (P1,2 P2,1)) B1,1

= P1,2

2,1

Encadeamento pra frente e pra trs


(Forward and backward chaining)

Clusula de Horn (resoluo restrita)


BC = conjuno de clusulas de Horn
clusula de Horn =
smbolo proposicional; ou
(conjuno de smbolos) smbolo

(CORPO) CABEA
(I.e., disjuno de literais nos quais no mximo um positivo)

E.g., C (B A) (C D B)

Modus Ponens (para Horn): completo para BC Horn


1, , n,
1 n

Podem ser usadas com forward chaining ou backward chaining.


Algoritmos simples e de complexidade linear (em rel. ao tamanho da
base de conhecimento) !

Forward chaining

Comea a partir de fatos conhecidos (literais


positivos) na base de conhecimento. Se todas as
premissas de uma implicao forem verdade, sua
concluso ser acrescentada ao conjunto de fatos
conhecidos.

Forward chaining example

Forward chaining example

Forward chaining example

Forward chaining example

Forward chaining example

Forward chaining example

Forward chaining example

Forward chaining example

Backward chaining

Funciona da pergunta q base de


conhecimento:

para provar q na BC,

verifique se q j faz parte de BC, ou


prove pela BC todas as premissas de alguma regra
que conclua q

Evitar laos: verifique se os novos subgoals j foram


provados ou j falharam!

Exemplo de Backward chaining

Backward chaining example

Backward chaining example

Backward chaining example

Backward chaining example

Backward chaining example

Backward chaining example

Backward chaining example

Backward chaining example

Backward chaining example

Forward vs. backward chaining

ForwC baseado no dados,


Pode ser usado para derivar concluses a partir de
percepes de entrada, sem uma consulta especfica em
mente;
Pode executar muito trabalho irrelevante para o objetivo;
Executa um trabalho extensivo;

BackC baseado no objetivo,


Apropriado para resoluo de problemas;
Funciona em tempo linear
Complexidade de BackC pode ser muito menor do que linear
em relao ao tamanho da base de conhecimento por que o
processo s toca fatos relevantes para provar um objetivo.

CONCLUSO

CONCLUSO

VOCS PRECISAM ESTUDAR!!


Leiam o cap. 7 at a p. 214
Prxima aula tem mais!!

You might also like