Lógica proposicional

Propaganda
Lógica Proposicional
Aula 5 - Cap. 7
Fundamentos da IA
Mestrado – FEI
Resoluçao de problemas por
busca

Conhecimento sobre resultados e
ações permite a solução automática de
problemas “complexos”
– um agente reativo não conseguiria
encontrar a rota entre Arad e Bucareste

Porém até agora este conhecimento é
muito específico e inflexível
– peça de xadrez pode estar em 2 lugares
ao mesmo tempo ??
Agente baseado em
conhecimento

pode combinar o conhecimento geral
com percepções correntes para deduzir
aspectos ocultos do estado atual antes
de selecionar ações.
Agente baseado em
conhecimento


pode combinar o conhecimento geral
com percepções correntes para deduzir
aspectos ocultos do estado atual antes
de selecionar ações.
Grande parte das deduções humanas
dependem do tratamento de incertezas
– segunda parte do curso...
Agentes lógicos


Representam o mundo
Utilizam inferência para tirar conclusões
sobre o mundo representado
Agentes lógicos


Conhecimento é representado como
sentenças em uma linguagem de
representação de conhecimento;
Um conjunto de sentenças forma a
base de conhecimento (BC) do
agente.
Informar e perguntar


Novas sentenças são adicionadas à
base de conhecimento por meio da
tarefa TELL;
Consultas à base de conhecimento são
feitas pela tarefa ASK;
– ambos processos podem envolver
inferências
• INFERÊNCIA: derivação de novas sentenças a
partir de sentenças antigas.
Inferência clássica (dedução)


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 inferência se desenrola;
– portanto, TELL é um processo não
clássico (abdução)!
– E aprendizagem também (indução).
Mundo de
Wumpus



Desempenho
– ouro +1000, morte-1000
– passo -1 , flecha -10
Ambiente
– quadrados próximos ao
wumpus fedem
– próximos ao poço: 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 percepção: [nada, nada, nada, nada, nada]
Deduz: [1,2] e [2,1] são seguros...
Explorando o mundo de wumpus
Segunda percepção: [nada, brisa ,nada ,nada ,nada]
Explorando o mundo de wumpus
Dedução: poço em [1,3] ou [2,2]
quadrado vazio em [2,1]
Explorando o mundo de wumpus
Nova percepção: [fedor , nada , nada , nada , nada]
Nova dedução: wumpus em [3,1]
Explorando o mundo de wumpus
Nova dedução: wumpus em [3,1] e poço em [1,3]
(pois não havia fedor em [1,2], nem brisa em [2,1])
Nova dedução: wumpus em [3,1] e poço em [1,3]
(pois não havia fedor em [2,2] nem brisa em [2,1])


Esta é uma inferência difícil pois se
baseia em informação obtida em
diferentes instantes e lugares, e se
baseia na falta de uma percepção...
Está além das habilidades da maioria
dos animais, mas factível para um
agente lógico
Propriedade do raciocínio lógico

As conclusões serão corretas se as
informações disponíveis estiverem
corretas!
Lógica -- sintaxe



...base de conhecimento consiste de
sentenças...
Sentenças são escritas com uma
sintaxe;
Sintaxe especifica sentenças bem
formadas
– ex. em aritmética: X + Y = 4
• x2y+= : não é bem formada
Lógica -- semântica


Define o significado das sentenças;
em lógica: significado é a verdade de
cada sentença em relação à
interpretações possíveis.
– Ex. x + y = 4, verdade na interpretação x=2
e y=2, falso na interpretação x=1 e y =1.
– Em lógica clássica, as sentenças só
podem ser verdadeiras ou falsas
Lógica -- semântica
– Dizemos que “m é um modelo de ”: se 
é verdade na interpretação m
Lógica -- semântica

Dada duas sentenças  e , se em
todos as interpretações em que  é
verdadeira,  também o é dizemos que
 é consequência lógica de :
 |= 
“se  é verdadeira  também deve ser.”
Lógica -- semântica: wumpus


Situação após
detectar nada em
[1,1], mover à direita
e brisa em [2,1]
Considerar as
interpretações
possíveis para poços
Lógica -- semântica: wumpus
Lógica -- semântica: wumpus

BC = regras do mundo de wumpus +
observações
Lógica -- semântica: wumpus


BC = regras do mundo de wumpus +
observações
1 = "[1,2] é seguro", BC |=  1
Lógica -- semântica: wumpus


BC = regras do mundo de wumpus +
observações
 2 = "[2,2] é seguro", BC |=  2
Lógica -- semântica: wumpus

Em alguns modelos em que BC é verdadeira,
2 é falsa, logo não há como deduzir se há um
poço em [2,2] nem se não há...
Este algoritmo de inferência é
denominado:
verificação de modelos
pois enumera todos os modelos possíveis
para verificar se  é verdadeira em
todos os modelos em que BC é
verdadeira

Derivação lógica



Se um algoritmo de inferência i pode
derivar  de BC:
BC |-i 
um algoritmo de inferência é
“consistente” (correto) se deriva
apenas sentenças permitidas
(pertencentes ao modelo).
e completo se puder derivar qualquer
sentença permitida.
Sound and completeness
(correção e completeza)
BC |= 
completeness
soundness
BC |-i 
Hipótese básica da IA “logiscista”

Se a BC representa fatos no mundo
real, qualquer sentença  derivada de
BC por um procedimento de inferência
consistente também será verdadeira no
mundo real
Hipótese básica da IA “logiscista”

... portanto, embora a inferência opere
sobre a sintaxe, o processo
corresponde à conclusões 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
conexão.
– E se houver exceções?
– E se a verdade for temporária?
– E se houver regras gerais não previstas
pelo engenheiro de conhecimento??
Lógica proposicional - sintaxe

Sentenças atômicas (elementos
sintáticos indivisíveis):
– um único símbolo proposicional;
– cada símbolo é uma proposição que pode
ser verdadeira ou falsa;
– nomes em maiúsculas: A, B, W1,3...
– Verdadeiro
– Falso
LP- sintaxe- sentenças atômicas
– se S é sentença, S é sentença
(negação)
– Um literal é uma sentença atômica
negada ou não.
LP- sintaxe- sentenças complexas
– se S1 e S2 são sentenças, tb o são:
• S1  S2 (conjunção -- e)
• S1  S2 (disjunção -- ou)
• S1  S2 (implicação-se, então)
• S1  S2 é sentença (bicondicional - se e
somente se)
LP- sintaxe-- precedência


Utilize parênteses:
– ((A  B)  C))
Ou se apoie na ordem de precedência:
• , , ,  e 
•  P  Q  R  S equivale a:
(( P)  (Q  R))  S
Lógica proposicional: semântica

Um modelo proposicional simplesmente
fixa o valor verdade para todo símbolo
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 símbolos
proposicionais deve ser especificado diretamente
no modelo.
Lógica proposicional: semântica

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 S1S2 é verdade e S2S1
é verdade
Tabela verdade
Assim reduz-se a verdade de sentenças complexas à
verdade de sentenças 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 interpretação possível.
Tabela verdade

Enumere todas os modelos e verifique
se  é verdadeira em todo modelo em
que BC é verdadeira.
Inferência por enumeração de
modelos

A busca em profundidade para enumerar todos as interpretações
para encontrar modelos é correta e completa.

Para n simbolos, complexidade temporal é O(2n), e espacial é
O(n)
Equivalência lógica

Duas sentenças são logicamente equivalentes sse
verdadeiras nos mesmos modelos:    sse  |= 
e  |= :
Validade e satisfatibilidade
Uma sentença é válida se verdadeira em todos os modelos,
e.g., True,
A A, A  A, (A  (A  B))  B
» Tautologias
Validade é ligada à inferência via o Teorema da Dedução :
KB |=  se e somente se (KB  ) é valida
Uma sentença é satisfatível se verdadeira em algum modelo
e.g., A B,
C
Uma sentença é insatisfatível se verdadeira em nenhum modelo
e.g., AA
Satisfatibilidade é ligada à inferência via o seguinte:
KB |=  se e somente se (KB   ) é insatisfatível
Raciocinando por contraposição
Teorema da Dedução
Validade é ligada à inferência via o
Teorema da Dedução :
BC |=  se e somente se (BC  ) é
valida
• Podemos imaginar o algoritmo anterior como a
verificação da validade de BC  
• Reciprocamente, toda sentença de
implicação válida descreve uma
inferência legítima.
Inferência como prova

Regras de inferência:
– Modus ponens
  , 

– Eliminação-de-e
  , 

– Todas as equivalências anteriores podem
ser usadas como regras de inferência.
Exemplo: BC mundo de wumpus
Seja Pij verdade se existe um poço em [i, j].
Seja Bij verdade se há brisa em [i, j].
R1: P11
R2: B11
R3: B21

"Poços 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:
– Eliminação de bicondicional a R4:
R6: (B11(P12  P21))((P12  P21)B11)
– Eliminação-e em R6:
R7:(B11(P12P21)) e R7`:((P12P21)B11)
– Contraposição 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 poço!
[obs. Erro no livro!]
Métodos de prova

Há duas categorias principais de métodos de provas:
– Aplicação das regras de inferência
• Geração correta (sound) de novas sentenças a partir de
antigas;
• Prova = uma sequência de aplicações de regras de inferência
– Regras de inferência podem ser usadas como ações em um
algoritmo de busca
• Tipicamente requer transformar as sentenças em uma forma
normal (def. a seguir)
– Model checking
• enumeração de modelos em tabelas verdade
• retrocesso melhorado, e.g., Davis--Putnam-LogemannLoveland (DPLL)
• busca heurística em um espaço de modelos WALKSAT
(correto, porém incompleto)
Resolução
Satisfatibilidade é ligada à inferência via o seguinte:
BC |=  se e somente se (BC   ) é insatisfatível
Raciocinando por contraposição
Resolução
Forma Normal Conjuntiva -- Conjunctive Normal Form (CNF)
conjunção de disjunções de literais
E.g., (A  B)  (B  C  D)

Regra de inferência resolução (para CNF):
l1 …  lk,
m1  …  mn
l1  …  li-1  li+1  …  lk  m1  …  mj-1  mj+1 ...  mn
onde li e mj são literais complementares.
l1  l2
 l2  l3
l1  l3
E.g., P1,3  P2,2,
P1,3

P2,2
correta e completa para lógica proposicional
Resolução

Qualquer algoritmo de busca completo,
aplicando apenas a regra de resolução,
pode derivar qualquer conclusão
permitida por qualquer base de
conhecimento em lógica proposicional!
Conversão 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
negação 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 Resolução

Primeiro a entrada é convertida em
CNF. Em seguida a regra de resolução
é aplicada às cláusulas restantes. Cada
par que contém literais complementares
é resolvido para gerar uma nova
cláusula, que é adicionada ao conjunto..
Algoritmo de Resolução

O processo continua até que:
– não exista nenhuma cláusula nova a ser
adicionada; nesse caso, não há
consequência lógica
– a cláusula vazia é derivada; assim, a
consequência lógica é verificada.
Raciocinando por contraposição
Algoritmo da resolução

Prova por contradição, i.e., para provar  em BC,
mostrar que KB é insatisfatível
PL-Resolve retorna o conj. de todas as cláusulas possíveis
obtidas pela resolução de duas entradas
Exemplo de resolução


BC = (B1,1  (P1,2 P2,1))  B1,1
 = P1,2
2,1
Encadeamento pra frente e pra trás
(Forward and backward chaining)

Cláusula de Horn (resolução restrita)
BC = conjunção de cláusulas de Horn
– cláusula de Horn =
• símbolo proposicional; ou
• (conjunção de símbolos)  símbolo
(CORPO)  CABEÇA
(I.e., disjunção de literais nos quais no máximo 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

Começa a partir de fatos conhecidos (literais
positivos) na base de conhecimento. Se todas as
premissas de uma implicação forem verdade, sua
conclusão 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 laços: 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 conclusões a partir de
percepções de entrada, sem uma consulta específica em
mente;
– Pode executar muito trabalho irrelevante para o objetivo;
– Executa um trabalho extensivo;

BackC é baseado no objetivo,
– Apropriado para resolução de problemas;
– Funciona em tempo linear
– Complexidade de BackC pode ser muito menor do que
linear em relação ao tamanho da base de conhecimento por
que o processo só toca fatos relevantes para provar um
objetivo.
CONCLUSÃO
CONCLUSÃO



VOCÊS PRECISAM ESTUDAR!!
Leiam o cap. 7 até a p. 214
Próxima aula tem mais!!
Download