Você está na página 1de 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, C

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(P12P21)) e R7`:((P12P21)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-LogemannLoveland (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!!

Você também pode gostar