Você está na página 1de 68

Sistemas Dedutivos

UTFPR/Curitiba

Prof. Cesar A. Tacla

Fundamentos

CONSEQUÊNCIA SEMÂNTICA c é uma consequência semântica das premissas, se toda interpretação que satisfaz todas as premissas satisfaz também a conclusão c.

p 1 , p 2 , …, p n

c

p i são premissas, c é a conclusão do argumento

Fundamentos

Sobre o símbolo de consequência semântica

Este símbolo é utilizado para se falar sobre argumentos válidos em lógicas,

então diz-se que é um símbolo metalógico.

No slide anterior, foi usado para falar sobre o que é um argumento válido em lógica clássica juntamente com símbolos não-lógicos (p1, p2, c) e linguagem natural. Observar que não foi feita nenhuma referência ao procedimento para se demonstrar que o argumento é válido.

Fundamentos

SISTEMAS DEDUTIVOS ou SISTEMAS DE INFERÊNCIA ou MÉTODOS DE PROVA Procedimento para cálculo de consequência lógica pela aplicação de regras de inferência

Idéia fundamental: raciocínio é manipulação de símbolos

i.e. dada uma teoria Γ={p 1 , …, p n } um sistema dedutivo permite deduzir que uma fórmula A é

consequência lógica de Γ por uma sequência de

aplicações de regras de inferência.

Fundamentos

Se há uma sequência de regras de inferência que permite concluir A de uma teoria Γ, então escreve-se

Sequente

Γ ⊢ A
Γ ⊢ A

(diz-se A é dedutível de Γ)

antecedente ou hipótese

TEORIA

consequente ou conclusão

TEOREMA

Formulação genérica de sequente

B 1 , …, B n A 1 , …, A n

TEOREMA Formulação genérica de sequente B 1 , …, B n ⊢ A 1 , …,
TEOREMA Formulação genérica de sequente B 1 , …, B n ⊢ A 1 , …,

conjunção

disjunção

Fundamentos

MÉTODO CORRETO DE PROVA (CORRETUDE) diz-se que um método de prova é correto se somente produz conclusões válidas:

de prova é correto se somente produz conclusões válidas: p 1 , p 2 , …,

p 1 , p 2 , …, p n c

sse p 1 , p 2 , …, p n c

MÉTODO COMPLETO DE PROVA (COMPLETUDE)

diz-se que um método de prova é completo se consegue encontrar uma sequência de aplicações de regras de inferência para toda conclusão válida

de regras de inferência para toda conclusão válida p 1 , p 2 , …, p

p 1 , p 2 , …, p n c sse p 1 , p 2 , …, p n

c

Fundamentos

Métodos de prova corretos e completos (entre outros):

Axiomático (ou de Frege ou de Hilbert): método que pelo uso de um conjunto de axiomas e de regras de inferência (Modus Ponens - MP, Modus Tolens - MT) alcança o teorema (a fórmula a ser demonstrada).

Dedução Natural: conjunto de regras para lógica proposicional (inclusão e eliminação para cada conectivo lógico)

Método de Tableaux. Por refutação, porém, analítico (em oposição aos de resolução). Lida diretamente com as fórmulas sem recorrer a formas normais. *

Resolução: método por refutação (utilizado pelo PROLOG). Usa as formas normais.

(utilizado pelo PROLOG). Usa as formas normais . *Fonte: Guilherme Bittencourt,

AXIOMATIZAÇÃO

Axiomatização

AXIOMATIZAÇÃO TEM 2 ELEMENTOS

AXIOMAS: fórmulas com status de verdade básica (da onde vêm os axiomas? De verdades experimentais? São simples convenções?)

REGRAS DE INFERÊNCIA: que permitem deduzir novas fórmulas a partir de outras já deduzidas.

Axiomatização

Sistemas axiomáticos datam principalmente do fim do século XIX (Hilbert 1889 Fundamentos da Geometria) e início do XX (C.I. Lewis Lógicas de 1ª. ordem)

Hilbert busca uma fundamentação para a geometria Euclidiana, i.e. axiomas completos (permitem a dedução de todas as proposições sobre objetos que denominou de pontos, retas e planos) que sejam o mais simples possível (conjunto mínimo de axiomas).

Ex. de teorema: o centro da circunferência circunscrita a um triângulo é o ponto de intersecção das mediatrizes desse triângulo.

Hilbert pretendia demonstrar que os axiomas escolhidos não são contraditórios (corretude) isto é, que não permitem demonstrar um teorema e a sua negação.

Fonte: Gênios da Ciência: Matemáticos, Luiz Carlos P. Marin (ed)., 2ª ed., SP, Duetto Editorial, 2012

Axiomatização: o que são axiomas?

Ernst Zermelo em 1908 fundou sua teoria de conjuntos sobre os axiomas abaixo

De Extensionalidade: dois conjuntos são idênticos sse possuem os

mesmos elementos

Do Conjunto vazio: existe um conjunto que não contém nenhum elemento denominado de conjunto vazio e representado por

Do par Da união De separação Do conjunto infinito Das partes Da substituição

De fundação (acrescentado por J. Von Neumann em 1929):

nenhum conjunto é um dos seus próprios elementos (nenhum

conjunto contém a si próprio para evitar paradoxos autorreferenciais)

Axiomatização: ideia básica

Na construção axiomática de uma lógica, o criador da lógica procura selecionar o

mínimo de axiomas e de regras de inferência que reflitam suas ideias sobre que

princípios de raciocínio devam ser incluídos na lógica. (Girle, R. Possible Worlds, 2003, pg. 31)

Exemplo: vamos supor que transitividade é um princípio importante para implicação lógica. Portanto, um argumento que apresenta a forma (estrutura) abaixo é válido na lógica do criador da lógica:

P → q q → r Logo, p → r
P
→ q
q
→ r
Logo, p → r

Portanto, o tal criador colocaria um axioma na lógica que reflita este princípio:

⊢ (p → q)  (q → r)  (p → r)
⊢ (p → q)  (q → r)  (p → r)

Axiomatização

Instanciação de uma fórmula

Exemplo: dado o axioma A = p → (q → p),

a fórmula

(r s) → ((t v) → (r s))

é uma instância do axioma A pela substituição dos átomos por fórmulas

i) p por (r s) A[P:= (r s)] ii) q por (t v) A[P:= (t v)]

Axiomatização

Alguns axiomas da lógica proposicional clássica

(→ 1 ) p→(q→p) (→ 2 ) (p →(q→r))→((p→q)→(p→r)) (1 ) (p →(q →(p q)))

(2 )  p p

Regra de inferência

Modus Ponens

A B,

A

B

Axiomatização: dedução

Então, utilizamos os axiomas e as regras de inferência para fazer deduções. Um Sistema Dedutivo permite deduzir as consequências semânticas de uma teoria.

Logo, uma fórmula A é dedutível de uma teoria Γ:

se há uma sequência de fórmulas A 1 , A i da dedução:

, A n que produzem A, tal que, cada fórmula

1.

É uma fórmula A i de Γ ou

2.

É uma instância de um axioma do sistema lógico ou

3.

É obtida de fórmulas anteriores por Modus Ponens (regra de inferência)

Axiomatização: teorema

Um teorema A é uma fórmula, tal que existe uma dedução A 1 ,

, A n que produz A.

Representa-se um teorema por:

A

AX

⊢ A AX

A

OU

Identifica o método de inferência

Axiomatização: teorema da dedução

Γ, AB sse Γ⊨ A→B

A é uma fórmula da teoria e B a fórmula a ser demonstrada OU

Γ⊨ A→B sse Γ, AB

No contexto do sistema dedutivo de axiomatização, o teorema fica:

Γ ⊢ A→ B

sse

Γ, A B

Axiomatização: exemplo de dedução

Exemplo + exercício

Axiomatização na computação

Em termos computacionais, o método da axiomatização é de pouca utilidade, pois é difícil construir um algoritmo que:

Identifique qual axioma utilizar;

Defina a ordem de utilização dos axiomas;

faça as substituições mais adequadas que levem a prova do teorema/fórmula (substituir átomos por fórmulas)

DEDUÇÃO NATURAL

Dedução Natural

Criada por Gentzen (1969) e refinada por Prawitz (1965).

Gentzen notou que o pequeno número de axiomas do Sistema de Axiomatização e de regras de inferência (só uma de fato, a Modus Ponens) dificulta o uso deste sistema de prova na prática.

Então, Gentzen propôs um método que se aproximasse mais da

maneira como as pessoas raciocinam daí o nome, dedução

natural permite introduzir/descartar hipóteses e há regras de inferência de introdução/eliminação para cada conectivo lógico.

Dedução Natural

É um método formal de inferência baseado nos princípios:

1) Inferências são realizadas por regras de inferências em que hipóteses introduzidas na prova devem ser descartadas para a consolidação da prova;

2) Para cada conectivo lógico, há duas regras de inferência: uma para inserção do conectivo na prova e outra para a remoção do conectivo

Dedução Natural

Regras

+

Exemplo

+

Exercício

TABLEAUX ANALÍTICOS

Tableaux Analíticos

É um método de prova baseado em refutação.

É correto, completo, decidível em LP* e não-determinístico.

Tableaux Analíticos

DECIDÍVEL

É um procedimento de decisão portanto decidível: capaz de demonstrar

conclusões que são consequências lógicas de uma teoria e também aquelas

que não são (assim como as tabelas-verdade são capazes).

Dedução natural e axiomatização são completos (capazes de demonstrar todas as consequências lógicas de uma teoria), porém, não são decidíveis.

*Tableaux analíticos não são decídiveis para LPO.

Tableaux Analíticos

Não-determinístico: o algoritmo possui (pelo menos) dois pontos onde deve haver uma escolha guiada por uma estratégia escolher qual regra (alfa ou beta) e em qual fórmula aplicá-la.

As tabelas-verdade, em contraposição, são determinísticas. Não há pontos de escolhas heurísticas.

Tableaux Analíticos

Prova por refutação

Fórmulas marcadas

Regras de expansão

Provas por tableaux

Correção, completude e decidibilidade

Algoritmo

FORMAS NORMAIS E

CLÁUSULAS DE HORN

Formas Normais

Diversos algoritmos assumem que as fórmulas estão na forma normal que pode ser

conjuntiva (FNC) ou

disjuntiva (FND)

Ex. colocar as fórmulas na FNC é requisito para

aplicar o método de prova por resolução usada por algoritmos SAT em geral

SAT = satisfabilidade

Forma Normal Conjuntiva (FNC)

FNC: transformar as fórmulas em uma conjunção de disjunções

transformar as fórmulas em uma conjunção de disjunções (q  p  r)  (r 

(q p r) (r

uma conjunção de disjunções (q  p  r)  (r  s) Notação clausal (¬q

s)

Notação clausal

(¬q p r) (s ¬r) { [¬q, p, r], [s, ¬r] }

r)  (s  ¬r)  { [¬q, p, r] , [s, ¬r] } literal :
r)  (s  ¬r)  { [¬q, p, r] , [s, ¬r] } literal :
r)  (s  ¬r)  { [¬q, p, r] , [s, ¬r] } literal :

literal: p ou p

 { [¬q, p, r] , [s, ¬r] } literal : p ou  p cláusula

cláusula

cláusula

r] , [s, ¬r] } literal : p ou  p cláusula cláusula cláusula : disjunção

cláusula: disjunção de literais

fórmula

cláusula cláusula : disjunção de literais fórmula unitária : um só literal vazia : sem literais,

unitária: um só literal vazia: sem literais, é igual a constante falsa

Forma Normal Conjuntiva

forma geral

m

k=1

L 1 L 2

L n k

ATENÇÃO: não confundir fórmula com uma cláusula vazia com fórmula sem cláusula.

Uma fórmula com zero cláusula é igual a constante T por convenção.

Uma cláusula vazia é igual a constante falsa

Forma Normal Conjuntiva

Teorema: para toda fórmula B da lógica proposicional clássica, há uma fórmula A na FNC que é equivalente a B

Algoritmo:

ENT: uma fórmula B

SAI: uma fórmula A na FNC tal que A B

Para todas as subfórmulas de X,Y,Z de B faça Redefinir → em termos de e Empurrar as negações para o interior por leis de Morgan Eliminar a dupla negação Aplicar a distributividade de sobre

Fim para A fórmula A é obtida quando não mais substituições possíveis

(Silva, Finger e Melo, 2006, pg. 79)

Cláusulas de Horn

São cláusulas com no máximo um literal positivo (uso: PROLOG)

Exemplo (2 cláusulas):

(p q) r (q s) t

equivalente à (na FNC):

(p q r) ⋀ (q s t)

LP Horn
LP
Horn

Cláusulas de Horn

Tipos de

cláusulas

Fatos: são cláusulas unitárias em que há um único literal e este

é positivo. Ex.: p

T→ <cabeça>

Regras: são cláusulas na forma

<corpo da regra> → <cabeça>

(p 1

p n q)

equivalente à

(p 1

p n q)

Consultas ou restrições: são cláusulas de Horn sem átomo positivo

(p 1

p n )

<corpo> →

Cláusulas de Horn

Propriedades que tornam a manipulação das cláusulas de Horn mais simples do que cláusulas genéricas

LEMA 1 Se C é um conjunto de cláusulas de Horn sem nenhum fato, então C é satisfazível. (considere a situação onde todos os átomos são F)

LEMA 2

C é um conjunto de cláusulas de Horn que contém um fato p. C’ são cláusulas obtidas a partir de C removendo-se o literal p do corpo de todas as cláusulas e todas as cláusulas que contém o literal p (i.e. assume-se que p é true)

Então C C’.

Cláusulas de Horn

Algoritmo de verificação de satisfabilidade em LP

Algoritmo: HornSAT(C)

ENT: conjunto de cláusulas C

SAI: Verdadeiro se C é satisfazível, Falso, caso contrário.

// Casos base

1. Se C retorne falso

2. Se C não contém fatos então retorne verdadeiro

// Passos redutores levam aos casos base

3.

Escolha um p C, sendo p um fato (assume-se que p é T)

4.

C’ é obtida de C

4.1 removendo-se o literal p de suas cláusulas e

4.2 todas as cláusulas onde o literal p aparece

5.

retorne HornSAT(C’)

(Silva, Finger e Melo, 2006)

MÉTODO DE PROVA POR

RESOLUÇÃO

Plano

Resolução em lógica proposicional (LP)

método de prova por refutação

Resolução em lógica de primeira ordem (LPO)

Reduzir a resolução em LPO à resolução em LP pela:

Eliminação/instanciação do universal

Eliminação do existencial (skolemização)

Completude e decidibilidade

MÉTODO DA RESOLUÇÃO

RESOLUÇÃO

No nosso caso, interessa resolução para uma linguagem mais próxima possível da LPO completa (com quantificadores, negação, predicados n-ários, funções, …).

Também nos interessa o método de resolução por redução ao absurdo ou por

refutação.

Γ sse Γ U { } não é satisfazível (prova por refutação)

RESOLUÇÃO EM LÓGICA PROPOSICIONAL

Procedimento para lógica proposicional para verificar a validade de Γ :

1.

Colocar Γ U { } na forma normal conjuntiva

(clausal)

2.

Verificar se é possível derivar a cláusula aplicando- se as regras de resolução

3.

Caso seja possível, prova-se por refutação que Γ

a teoria Γ aqui será umconjunto de cláusulas na FNC

a ordem dos literais dentro das cláusulas não é importante

a ordem das cláusulas também não é importante

Regras de Resolução

Utilizadas no método de prova por refutação

regra de

RESOLUÇÃO

regra de

CONTRAÇÃO

{[w, q, r], [w, s, r]}

{[w, q, s]}

resolventes: cláusulas de entrada

resoluta: cláusula inferida pela regra

{[r], [r]}

{[ ]}

Importante: neste caso, a resoluta é igual [ ] ou , ou seja, as cláusulas resolventes são insatisfazíveis

a resoluta é igual [ ] ou ⊥ , ou seja, as cláusulas resolventes são insatisfazíveis

{[w, w, r]}

{[w, r]}

EXEMPLO

Γ ? sendo = menina

Γ

1.

fund

2.

fundcriança

3.

criança mascmenino

4.

jardim criança

5.

criança femmenina

6.

fem

5. criança  fem  menina 6. fem Γ U {  } na FNC 1.

Γ U {} na FNC

1. {[fund],

2.

[fund , criança],

3.

[criança , masc, menino],

4.

[jardim , criança]

5.

[criança , fem menina],

6.

[fem],

7.

[menina]}

1

[fund]

[fund , criança]

2

[criança]

[criança, fem menina]

[fem, menina]

[fem]

6

[menina]

[menina]

7

[ ]

5

RESOLUÇÃO EM LÓGICA PROPOSICIONAL

Método utilizado pelo PROLOG e por provadores de teorema (ex. OTTER) pela

simplicidade

Desafios computacionais do método:

1. não-determinístico: é preciso escolher os resolventes a cada passo de resolução. Qual estratégia? sempre utilizar um resolvente unitário = resolução unitária

2. diminuição do espaço de busca: descartar fórmulas que subsumem outras

(englobam).

[a, b, c]

[a, p]

[b, p]

[a, b]

l o b a m ) . [a, b, c] [a,  p ] [b, p

[a, b] está contida em [a,b,c] então [a,b,c] pode ser eliminada diminuindo o espaço de busca para {[a, p], [b, p], [a, b]}

COMPLETUDE

O procedimento de resolução é completo e correto se restrito à refutação, i.e. a derivação da cláusula vazia [ ].

Não é completo em outros casos, pois é

possível demonstrar que uma conclusão é consequência lógica de Γ embora não se consiga derivar a partir de Γ utilizando as regras de resolução.

COMPLETUDE

Exemplo:

p p q Não é possível aplicar a regra de resolução somente a cláusula [p],

mas é trivial ver que [p, q] é consequência lógica de [p].

Sempre que v(p)=1, v(p v q) = 1.

Daí, para fins de completude do método de resolução, a idéia de se fazer prova por refutação {[p], [p], [q]} [ ]

MÉTODO DE RESOLUÇÃO EM LPO

RESOLUÇÃO EM LPO

Resolução com lógica proposicional está um pouco distante da LPO pois não considera os quantificadores
Resolução com lógica proposicional está um
pouco distante da LPO pois não considera os
quantificadores universal e existencial, nem
predicados e funções n-ários com n>0.
Para fazer inferência com quantificadores, a
idéia básica é reduzi-la à inferência da lógica
proposicional
BASTA ELIMINARMOS OS
QUANTIFICADORES!!!

RESOLUÇÃO EM LPO

1.

Colocar a Γ U { } na FNC

2.

Eliminar os quantificadores universais *

3.

Aplicar a regra de resolução

*primeiramente, excluiremos somente o quantificador universal , depois veremos como excluir o existencial.

FNC em LPO

Eliminar implicação lógica

Mover negações para dentro para que precedam os átomos utilizando as equivalências

x() substituir por x(  )

x() substituir por x. 

Padronizar as variáveis: cada quantificador deve corresponder a uma variável

x(p(x)) q(x) substituir por z.(p(z)) q(x)

Eliminar todos os existenciais (será visto mais tarde)

• • •

Mover universal para fora do escopo do e do utilizando as equivalências:

x(  β) desde que x não seja var. livre em

x(  β)

desde que x não seja var. livre em

(  x(β)) substituir por

(  x(β)) substituir por

Fazer conjunção de disjunções por meio da distributiva e das leis de Morgan

Não colocar os quantificadores universais na FNC pois todas as fórmulas quantificadas serão universais (desprezar eliminar)

ELIMINAÇÃO DO UNIVERSAL

Pode-se eliminar o quantificador universal pela instanciação universal ou unificação, i.e. substituir as variáveis por valores concretos.

X(rei(X) ganancioso(X) perverso(X))

joão

constante que denota um objeto do domínio

ricardo constante que denota um objeto do domínio

pai(X)

função que retorna o pai de X que é um objeto do domínio

substituições
substituições
 

Pela instanciação universal obtém-se:

{X/joão}

rei(joão) ganancioso(joão) perverso(joão)

{X/ricardo}

rei(ricardo) ganancioso(ricardo) perverso(ricardo)

{X/pai(joão)}

rei(pai(joão) ganancioso(pai(joão)) perverso(pai(joão))

Termos básicos: não apresentam variáveis

EXEMPLO RESOLUÇÃO EM LPO

Γ ? sendo = brinca(maria)

Γ

1.

X (fund(X)criança(X))

2.

X (criança(X)brinca(X))

3.

fund(maria)

 X (criança(X)  brinca(X)) 3. fund(maria) Γ U {  } na FNC 1. {

Γ U {} na FNC

1.

{[fund (X), criança(X)],

2.

[criança (X), brinca(X)],

3.

[fund(maria)],

4.

[brinca(maria)]}

[fund (X), criança(X)]

[fund(maria)]

X/maria

criança(maria)

[criança (X), brinca(X)]

X/maria

[brinca(maria)]

[brinca(maria)]

[ ]

Logo, brinca(maria) é uma consequência lógica das fórmulas em Γ

EXEMPLO RESOLUÇÃO EM LPO

 

(extraído de Brachman e Levesque, 2005)

PREDICADOS RESPOSTA

Negação da query= x(Student(x) or Happy(x))

da query=  x(  Student(x) or  Happy(x)) (extraído de Brachman e Levesque, 2005) Cada

(extraído de Brachman e Levesque, 2005)

Cada derivação produz uma só resposta. Se tivéssemos

Happy(Sue) na KB terímos que fazer outra substituição {x/sue}.

Porém, a resposta pode ser uma disjunção

PREDICADOS RESPOSTA

A resposta é jane ou john. Não há certeza sobre qual deles está feliz.
A resposta é jane ou john. Não há certeza
sobre qual deles está feliz.

ELIMINAÇÃO DO EXISTENCIAL

Para completar a resolução em LPO, é preciso tratar fórmulas com o quantificador existencial

Para tal, faz-se a instanciação do existencial ou skolemização (do autor, Skolem).

A idéia básica é exemplificada:

X(coroa(X) naCabeça(X, joão))

é exemplificada:  X(coroa(X)  naCabeça(X, joão)) Se existe um objeto que é uma coroa e

Se existe um objeto que é uma coroa e que está sobre a cabeça do João, então podemos supor que este objeto existe e nomêa-lo com um símbolo constante que

não exista e nem venha a se repetir na KB. No exemplo, c1 é chamado de constante

de skolem.

venha a se repetir na KB. No exemplo, c1 é chamado de constante de skolem. coroa(

coroa(c1) naCabeça(c1, joão)

SKOLEMIZAÇÃO

Se existe um x, chame-o de a (constante)

x mae(x, jose)

existe um x, chame-o de a (constante)  x mae(x, jose) mae( a , jose) •

mae(a, jose)

Se para todo x existe um y, chame-o de f(x)

x 1 yP(x 1 ,y)

um y, chame-o de f(x)  x 1  yP(x 1 , y )  x

x 1 P(x 1 ,f(x 1 ))

x 1 x 2 yP(x 1 , x 2, y)

) )  x 1  x 2  yP(x 1 , x 2 , y

x 1 x 2 P(x 1 , x 2 , f(x 1 , x 2 ))

x 1 x 2 x n yP(x 1 , x 2 , …, x n, y)

 x n  yP(x 1 , x 2 , …, x n , y )

x 1 x 2 P(x 1 , x 2 , …, x n , f(x 1 , …, x n ))

Exemplo

x 1 y(pessoa(x 1 ) mae(y, x 1 ))

x 1  y (pessoa(x 1 )  mae( y , x 1 ))  x

x 1 (pessoa(x 1 ) mae(f(x 1 ), x 1 ))

f é um novo símbolo de função que não existe em nenhum outro lugar da KB

Exemplo de SKOLEMIZAÇÃO

1. X (homem(X) pessoa(X))

2. X Y (pessoa(X) mae(Y, X)]) % y é mãe de x

3. X, Y (mae(X, Y) ama(X, Y))

4. homem(platao)

Pergunta-se:

Y ama(Y, platao)

X/platao em 1: pessoa(platao) Y/f(X) em 2, skolemizacao: pessoa(platao) -> mae(f(platao), platao) mae(f(platao), platao) -> ama(f(platao), platao)

% alguem ama a Platão?

Logo, a query pode ser satisfeita com as instanciações:

X/platao

Y/f(platao)

Este exemplo foi implementado em ex090-00-skolemizacao.pl

IMPLICAÇÃO DA SKOLEMIZAÇÃO

Quando fazemos instanciação dos existenciais numa KB, a nova KB não é logicamente

equivalente à anterior pois x.P(x) P(a)

é falso!!!

Porém, a KB antiga e a nova (resultante da skolemização) apresentam equivalência inferencial, i.e. é satisfazível sse ’ é satisfazível, sendo ’ o resultado da skolemização.

Preservar a equivalência inferencial ou a satisfabilidade é suficiente para resolução!

DEPENDÊNCIA DAS VARIÁVEIS

A ordem de aparecimento dos quantificadores é importante na resolução em LPO.

Esta ordem gera dependências entre as variáveis o que afeta a skolemização e a satisfabilidade!

x y.R(x, y)y x.R(x, y) é satisfazível

y x.R(x, y) x y.R(x, y) não é satisfazível

DEPENDÊNCIA DAS VARIÁVEIS

satisfazível

x y.R(x, y)y x.R(x, y)

1. Mostrar que as cláusulas abaixo derivam []

 x.R(x, y) 1. Mostrar que as cláusulas abaixo derivam [] 2. {x/ a } 3.

2. {x/a}

y) 1. Mostrar que as cláusulas abaixo derivam [] 2. {x/ a } 3. Negação para

3.

Negação para dentro e {y/b}

derivam [] 2. {x/ a } 3. Negação para dentro e {y/b} 4. Unificar pela substituição

4. Unificar pela substituição {x/a, y/b}

dentro e {y/b} 4. Unificar pela substituição {x/a, y/b} não é satisfazível  y  x.R(x,

não é satisfazível

y x.R(x, y) x y.R(x, y)

1. Mostrar que as cláusulas abaixo derivam []

 y.R(x, y) 1. Mostrar que as cláusulas abaixo derivam [] 2. {x/ f(y) } //

2. {x/f(y)}

// x depende de y

cláusulas abaixo derivam [] 2. {x/ f(y) } // x depende de y 3. Negação para

3. Negação para dentro e {y/g(x)}

abaixo derivam [] 2. {x/ f(y) } // x depende de y 3. Negação para dentro

4. Não há unificação

abaixo derivam [] 2. {x/ f(y) } // x depende de y 3. Negação para dentro

DECIDIBILIDADE

A resolução por derivações não oferece

solução geral para o cálculo da consequência

lógica (nem com a instanciação dos

quantificadores universais e existenciais)

Há situações onde há infinitas substituições. Por exemplo, se há um símbolo de função, o número de substituições é infinito.

DECIDIBILIDADE

KB:

X rei(X) ganancioso(X) perverso(X)

joão

ricardo constante que denota um objeto do domínio rei(joão)

ganancioso(joão)

pai(X)

constante que denota um objeto do domínio

função que retorna o pai de X

substituições

 

Pela instanciação universal obtem-se:

{X/joão}

rei(joão) ganancioso(joão) -> perverso(joão) rei(ricardo) ganancioso(ricardo) -> perverso(ricardo)

{X/ricardo}

{X/pai(joão)}

rei(pai(joão) ganancioso(pai(joão)) -> perverso(pai(joão))

{X/pai(pai(joão))}

{X/pai(pai(pai(joão)))}

 

Exercício: demonstrar que pode-se fazer infinitas substituições se

retirarmos a sentença ganancioso(joão) e quisermos demonstrar que

há um rei perverso.

DECIDIBILIDADE

Resoluções geradas pela instanciação universal e

existencial são completas.

i.e. toda sentença que é consequência lógica da KB pode

ser demonstrada. Algum ramo de derivação conterá a

cláusula [ ], mesmo que existam outros ramos infinitos. Por isto, deve-se fazer busca breadth-first.

infinitos. Por isto, deve-se fazer busca breadth-first . • Porém, se a sentença não é satisfazível

Porém, se a sentença não é satisfazível, a prova pode

prosseguir indefinidamente pelo aninhamento de funções

nas substituições

Nesta situação, não é possível saber se não se pode deduzir a sentença ou se ainda não se chegou a

dedução!!!

Alguns autores dizem que o cálculo da consequência lógica em LPO é semi-decídivel por este motivo.

Melhorias na resolução

Face as constatações de que não há garantia de terminação da resolução e não maneira de garantir eficiência, há algo a ser feito? Sim…

É possível reduzir redundâncias nas buscas, fazendo

substituições mas genéricas possíveis > most general

unifiers

Escolhas arbitrárias nas substituições podem impedir que um caminho atinja a cláusula []. Não é preciso atribuir um valor específico a uma variável, pode-se deixar este comprometimento para mais tarde

Resolução é difícil

Resolução em LPO não tem garantias de término

Na lógica proposicional:

Haken demonstrou em 1995 que sabendo-se que

há cláusulas não satisfazíveis {c1, …, cn} na KB, a

derivação mais curta para a cláusula [] é da ordem de 2 n cláusulas.

Portanto, mesmo se as vezes a cláusula [] pode ser

encontrada imediatamente, em alguns problemas

a busca pode requerer tempo exponencial.

Resolvedores SAT

São algoritmos utilizados para encontrar

valorações para cláusulas que são satisfazíveis

(para lógica proposicional)

Implicações para KR

Problema: como gerar consequências lógicas em tempo razoável para realizar

ações imediatas

Provadores de teoremas completos podem não ser úteis para KR

Outras opções:

Dar maior controle ao usuário

Linguagens menos expressivas (ex. cláusulas de Horn)

Em algumas aplicações, é razoável esperar bastante tempo: provar um teorema matemático pode levar meses!

Em geral, a melhor alternativa é a utilização do most general unifier para evitar

buscas redundantes

Mas há outras estratégias…

eliminação de cláusulas: ex. que contêm um literal que não aparece em outras cláusulas

Ordenação da resolução: ex. primeiro cláusulas unitárias

Utilizar lógica tipificada (sorted logic): unificar cláusulas somente qdo os tipos forem

compatíveis