1 tópicos de lógica proposicional cláusulas de horn resolução referência: language, proof and...
TRANSCRIPT
1
Tópicos de Lógica Proposicional
Cláusulas de Horn
Resolução
Referência: Language, Proof and LogicJon Barwise e John Etchemendy, 1999
Capítulo: 17
Tópicos de Lógica Proposicional-2
Frases de Horn
Forma Normal Conjuntiva- para frases sem quantificadores– conjunção de frases– cada elemento da conjunção é disjunção de literais– literal: frase atómica ou a sua negação
Frase Horn– frase na Forma Normal Conjuntiva– cada disjunção tem no máximo 1 literal positivo
Tópicos de Lógica Proposicional-3
ExemplosNão são Horn
NaSala(Ana) (NaSala(Rui) Feliz(Luis))
(NaSala(Ana) NaSala(Rui) Feliz(Ana)) Feliz(Luis)
NaSala(Ana) NaSala(Rui) NaSala(Luis)
São Horn
NaSala(Ana) (NaSala(Rui) Feliz(Luis))
NaSala(Ana) NaSala(Rui) NaSala(Luis)
NaSala(Ana) NaSala(Rui) NaSala(Luis)
NaSala(Ana) NaSala(Rui) (NaSala(Rui) NaSala(Rui))
Tópicos de Lógica Proposicional-4
Satisfação de frases de Horn Para averiguar satisfação de frases de Horn
– Tabela de verdade: mecânico mas caro: 2n linhas para n átomos– Nas frases Horn basta construir 1 linha.
Algoritmo: Átomos que aparecem como elementos da conjunção: V na coluna de referência Usar colunas de referência para preencher colunas da frase e vice-versa Acabar quando não se pode concluir sobre o valor de mais nenhuma coluna
Que concluir do algoritmo de satisfação de frases de Horn?– Um dos elementos da conjunção toma o valor F
a frase é não satisfazível
– Processo termina sem atribuir F a nenhum elemento da conjunção a frase é satisfazível podem preencher-se as restantes colunas de referência com F
Tópicos de Lógica Proposicional-5
Algoritmo de satisfação de frases Horn
Exemplo: NaSala(Ana) NaSala(Rui) (NaSala(Rui) NaSala(Ana))
Átomo A é elemento da conjunção, a coluna de
referência terá V
A R A R (R A)
V
Se A é F, R terá de ser V
F
A R A R (R A)
V FV F
R tem valor F, e é elemento da conjunção: frase não
satisfazível
A R A R (R A)
V FV
Tópicos de Lógica Proposicional-6
Exemplo
Exemplo: (A B) (B C) B
A B C (A B) (B C) BFV F
B é elemento da conjunção, tem de ter valor V
A B C (A B) (B C) BFV FV
C tem de ter valor V, e não há mais atribuições
A fórmula é satisfazível– se atribuir F a A, a linha resultante da tabela atribui V à fórmula
Tópicos de Lógica Proposicional-7
Formalizar satisfação
Tabelas de verdade– explicitam circunstâncias em que uma fórmula é verdadeira– são informais– não são manipuláveis matematicamente
Noção formal: atribuição de verdade– função h
do conjunto de fórmulas atómicas de uma linguagem de 1ª ordem para o conjunto dos valores de verdade {V, F}
– para cada fórmula atómica A, h(A) é V ou é F– cada atribuição de verdade corresponde a uma linha das colunas de
referência de uma tabela de verdade
Tópicos de Lógica Proposicional-8
Atribuição de verdade
h: atribuição de verdade– fórmula arbitrária: o que significa h torná-la verdadeira ou falsa?
h’ : definida no conjunto de todas as fórmulas, estende h– toma valores no conjunto dos valores de verdade {V, F}– na “tabela de verdade da linguagem”
h preenche uma só linha, e só as colunas de referência h’ preenche as restantes colunas para todas as fórmulas da linguagem
Definição de h’ : de acordo com significado das conectivas– h’(Q) = V se e só se h’(Q) = F– h’(QR) = V se e só se h’(Q) = V e h’(R) = V – h’(QR) = V se e só se h’(Q) = V ou h’(R) = V, ou ambos...
Tópicos de Lógica Proposicional-9
Satisfação de fórmulas
Fórmula S é satisfazível– existe atribuição de verdade h tal que h’(S) = V
Fórmula S é logicamente verdadeira– para toda a atribuição de verdade h, h’(S) = V
Noção central: consequência lógica– Fórmula S é consequência lógica de um conjunto de fórmulas T sse
toda a atribuição de verdade que torna todas a fórmulas de T verdadeiras também torna S verdadeira
– T {S} elementos são todas as fórmulas em T e mais S
Proposição:– S é consequência lógica de um conjunto de fórmulas T se e só se o
conjunto T {S} não é satisfazível
Tópicos de Lógica Proposicional-10
Algoritmo de satisfação de frases Horn
Teorema 2: O algoritmo classifica como satisfazíveis exactamente as fórmulas de Horn satisfazíveis
– Refraseando: uma fórmula Horn é satisfazível se e só se é classificada como satisfazível pelo algoritmo
– Fórmula S é satisfazível algoritmo classifica S como satisfazível Se S é classificada como não satisfazível:
não existe atribuição de valores de verdade que a satisfaça
S é não satisfazível sendo S satisfazível
S é classificada como satisfazível
(SÓ SE)
Tópicos de Lógica Proposicional-11
Algoritmo de satisfação de frases Horn
Teorema 2 (cont.)– Fórmula S é classificada como satisfazível: fórmula é satisfazível
S é conjunção de disjunção de literais cada disjunção tem no máximo 1 literal positivo S verdadeira na atribuição h’:
– cada elemento da conjunção verdadeiro em h’ – um literal em cada disjunção tem valor V
Em cada disjunção– se tem só um literal positivo: foi posto a V pelo algoritmo– se tem alguns literais negativos e 1 positivo:
• se todos os literais negativos foram postos a F: o literal positivo foi posto a V• se o processo termina: as frases atómicas restantes são postas a F fazendo algum dos
literais negativos ficar com V
– se tem só literais negativos: • nem todos foram postos a F, senão S resultaria não satisfazível• algum se torna V quando as frases atómicas restantes são postas a F
(SE)
Tópicos de Lógica Proposicional-12
Frases com dependências
Algoritmo de satisfação de frases Horn:– assume frases atómicas independentes
Se as frases não são independentes– a “linha de tabela” que se constrói pode ser espúria– não se pode concluir sobre a satisfação
Exemplo
Small(b) (Small(b) Cube(b)) Cube((b) Tet(b))
– aplicando o algoritmo: frase é satisfazível! num mundo que a satisfaça: b tem de ser pequeno, cubo e tetraedro
Para resolver: modificar algoritmo– atribuição de F às frases atómicas restantes: testar se produz linha espúria– se linha é espúria, procurar alternativa (não há procedimento sistemático)
Tópicos de Lógica Proposicional-13
Automatizar demonstração
Problema: descobrir se uma frase é consequência lógica de outra Usando intuição
– Se é consequência: demonstra-se usando métodos de prova– Se não é: procura-se um contraexemplo: atribuição que torna as
premissas verdadeiras e a conclusão falsa
Como automatizar?– Usando tabelas de verdade: grande ineficiência– Algoritmo de satisfação para frases Horn: eficiente– Resolução:
aplicável a frases em forma normal conjuntiva eficiente generaliza para frases quantificadas
Tópicos de Lógica Proposicional-14
Cláusulas
Conjuntos de cláusulas– Cláusula: conjunto finito de literais
C1= {Small(a), Cube(a), Backof(b,a)} C2= {Small(a), Cube(b)} Cláusula vazia:
– Cláusula é satisfeita por uma atribuição de verdade h: pelo menos um dos literais da cláusula tem o valor V em h não é satisfeita por qualquer atribuição
– C ⁄ : h satisfaz C sse a disjunção das frases em C tem o valor V em h’
Satisfação de um conjunto S de cláusulas– S é satisfeito por h desde que cada cláusula de S seja satisfeita por h– A fórmula (CNF) obtida pela conjunção das disjunções
correspondentes às fórmulas de S é satisfeita por h’
Tópicos de Lógica Proposicional-15
Resolução
Para mostrar que um conjunto S de cláusulas não é satisfazível:– mostrar que um conjunto maior S’ obtido do primeiro também não o é– válido desde que S e S’ sejam satisfeitos exactamente pelas mesmas
atribuições
Método: provar que a frase S (em CNF) não é satisfazível– transformar S num conjunto de cláusulas
disjunções de literais passam a cláusulas com os mesmos literais conjunção passa a conjunto de cláusulas
– adicionar sistematicamente novas cláusulas - resolventes novas são tais que o conjunto é satisfeito pelas mesmas atribuições
– se chegarmos a um conjunto que contém , a frase inicial não é satisfazível
Tópicos de Lógica Proposicional-16
Resolventes Exemplo1
C1= {Small(a), Cube(a), Backof(b,a)}
C2= {Small(a), Cube(b)}– Para satisfazer {C1, C2} é preciso atribuir V a pelo menos 1 de
Cube(a) Backof(b,a) Cube(b)– C3 = {Cube(a), Cube(b), Backof(b,a)} é um resolvente de C1 e C2– {C1, C2, C3} é satisfeito pelas mesmas atribuições que {C1, C2}
Exemplo2C1= {NaSala(Rui), NaSala(Ana)}
C2= {NaSala(Rui)}
C3= {NaSala(Ana)}– Uma atribuição que satisfaz {C1, C2, C3} satisfaz
C4 = {NaSala(Rui)}– {C1, C2, C3, C4} não é satisfazível
Tópicos de Lógica Proposicional-17
Resolvente
Definição: (resolvente)– R é uma resolvente das cláusulas C1 e C2 se existe uma fórmula
atómica numa delas e a sua negação na outra, sendo R o conjunto de todos os restantes literais de ambas.
Exemplos
{A,D} {A}
{D}
{A, A} {A}
{A}
{B,C} {B, D}
{C, D}
{D} {D}
{}
Tópicos de Lógica Proposicional-18
Correcção da resolução
Teorema: Sendo S um conjunto não satisfazível de cláusulas numa linguagem com frases atómicas independentes, é sempre possível, por resolução sucessiva, chegar a .
ExemploA (B C B) (C D) (A D) (B D)
– Conversão em conjunto de cláusulas A}, {B, C}, {C, D}, {A, D}, {B, D}– Usar resolução para mostrar que o conjunto não é satisfazível
{B,C} {C, D}
{B, D} {B, D}
{D}
{A,D} {A}
{D}
Tópicos de Lógica Proposicional-19
Consequência lógica
Provar consequência lógica usando resolução Para mostrar que
C é consequência lógica de
P1, P2, …, Pn Usar resolução para provar que
P1 P2 … Pn C
não é satisfazível– reduzir a forma normal conjuntiva– converter em conjunto de cláusulas– aplicar resolução
Tópicos de Lógica Proposicional-20
Forma condicionalNaSala(Ana) NaSala(Rui)) Feliz(Luis)
Substituindo o condicional pela sua definição em termos de e
NaSala(Ana) NaSala(Rui) Feliz(Luis)
obtém-se uma disjunção com um só literal positivo
Em geral– frase de Horn é conjunção de frases
cada frase da conjunção é disjunção com 1 literal positivo e vários negativos
A1 A2 … An Bpode ser reescrita como
– (A1 A2 … An) B Casos particulares
– Disjunção sem literal positivo: (A1 A2 … An) False– Disjunção sem literais negativos: True B
Tópicos de Lógica Proposicional-21
Forma condicional de frase de Horn
Uma frase de Horn em lógica proposicional é logicamente equivalente a uma conjunção de afirmações condicionais de uma das três formas seguintes
(A1 A2 … An) B
(A1 A2 … An) False
True B Resolução:
– proposto e desenvolvido por Alan Robinson (1965)– apropriado para a demonstração automática de teoremas– problemas formulados como séries de condicionais e bicondicionais:
a transformação em CNF é imediata