Buscar

CAP7 logica proposicional

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
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 |-i 
BC |= 
completeness
soundness
*
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 	P2,2 	P3,1
 		 false true 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-Logemann-Loveland (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, 	P2,2
 	 	 P1,3
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!!

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando