27
Lógica Proposicional SAT e Custo Computacional

Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Embed Size (px)

Citation preview

Page 1: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Lógica Proposicional

SAT e Custo Computacional

Page 2: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas

satisfazíveis INSAT: conjunto das fórmulas

insatisfazíveis TAUT: conjunto das tautologias REFUT: conjunto das fórmulas

refutáveis(Falsificável) Refutável é toda fórmula H tal que exista

pelo menos uma interpretação I[H]=F

Page 3: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Lema de pertinência

Para H € FOR: H € SAT H € INSAT H € INSAT (H) € TAUT H € SAT (H) € TAUT H € REFUT H € TAUT H € REFUT (H) € INSAT

Page 4: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Lema entre os conjuntos SAT, INSAT, TAUT, REFUT FOR TAUT SAT INSAT REFUT TAUT REFUT = {} INSAT SAT = {} SAT U REFUT = FOR TAUT U INSAT FOR SAT REFUT = {}

Page 5: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

O problema SAT Dada uma fórmula proposicional

= (a b) ( a b c) Determinar se é satisfazível

Problema de decisão Para n símbolos proposicionais, são

necessárias 2n linhas numa tabela verdade e 2m+1 colunasa

b b

c c c c

0

0 0

00 001

1 1

1 1 1

1

Page 6: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Aplicações Um “resolvedor de SAT” é a principal

ferramenta computacional para: Em Inteligência Artificial:

Programação em lógica Provadores de teoremas

Em Projeto Automático de Componentes Eletrônicos:

Teste e Verificação Síntese

Escalonamento Planejamento …

Page 7: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Custo Computacional O custo (determinístico) de SAT é dito

exponencial Não-determinísticamente, o custo de SAT cai

para cerca de 2m+1 Custo não-deterministicamente polinomial (NP) Testam-se apenas algumas linhas da tabela O no. de sub-fórmulas é sempre até 2 vezes o

número de conectivos mais 1

Page 8: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Complexidade Computacional (cont.) Algoritmos deterministicamente

polinomiais: logarítmico, linear quadrático, cúbico (log n, n, n**2, n**3, …, n**500,…)

Algoritmos exponenciais (ou não-deterministicamente polinomiais): 2**n,n**n,n**log n

Algoritmos exponenciais são mais lentos que os polinomiais para valores altos de n

Polinomiais são preferíveis!

Page 9: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Complexidade e SAT 1-SAT:linear (um literal por

subfórmula) 2-SAT: linear (com fases)

(x11 OR x12) AND(x21 OR x22) AND(x31 OR x32) AND…

3-SAT: NP-completo (x11 OR x12 OR x13) AND

(x21 OR x22 OR x23) AND(x31 OR x32 OR x33) AND ...

O problema são os conflitos, que diminuem a satisfabilidade!

Não existe um algoritmo polinomial para todas as instâncias do problema SAT, a não ser que P = NP

Vira deterministicamente polinomial quando as sentenças viram

2-SAT (no máximo 2 símbolos proposicionais por fórmula)

Cláusula de Horn – 1-SAT (No máximo 1 símbolo proposicional positivo em todas as sub-fórmulas)

Page 10: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Complexidade Computacional

Criação da classe de problemas NP-CompletoS. A. Cook, The complexity of theorem proving

procedures, Proceedings, Third Annual ACM Symp. on the Theory of Computing,1971, 151-158

Abordagem mais simples: B. Hayes, Can’t get no satisfaction, American

Scientist, Vol. 85, nr. 2, Mar-Apr 1997, 108-112

Page 11: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Vocabulário

Sistemas de Dedução, Decidibilidade,

Corretude, Completude, Consistência,

Monotonicidade

Page 12: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Cálculo Proposicional

Cálculo = Lógica + Sistema de Prova (ou dedução)

Um sistema de prova serve para analisar e raciocinar sobre argumentos de uma lógica, de maneira a prová-los válidos ou inválidos.

Page 13: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Sistema de dedução

Alfabeto de uma Lógica Conjunto de fórmulas desta Lógica Conjunto de regras de dedução (ou

regras de inferência)

Page 14: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Como avaliar sistemas de dedução?? Avaliação do problema de dedução

Finitude da solução algorítmica (decidibilidade)

Avaliação do algoritmo de dedução Complexidade

Avaliação da capacidade de inferência Qualidade: Consistência Eficiência: Completude

Page 15: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Avaliação de lógicas e seus algoritmos de dedução Análise de lógicas Expressividade Finitude = Decidibilidade

Tem a ver com teoria da computação Computabilidade, Máquinas de Turing, funções

recursivas, ... Análise para métodos de dedução

Correção Completude Consistência Monotonicidade

Page 16: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Computabilidade

Intuitivamente uma função é dita computável se é possível calcular seu valor, dado qualquer elemento do seu domínio

Será toda função, bem definida, computável?

NEM SEMPRE!!!

Page 17: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Decidibilidade Caso particular de computabilidade

quando a função só admite dois valores É possível resolver um problema

algoritmicamente (insolubilidade)? Quando se fala se um problema é solúvel

tem-se um problema de decidibilidade Trata-se de saber se um algoritmo acaba

Devolvendo uma resposta, no nosso caso, T ou F

Há lógicas que são assim!

Page 18: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Complexidade Computabilidade diz respeito a se um

problema pode ou não ser resolvido Complexidade diz respeito à

quantidade de recursos necessários para resolver um problema

Os recursos (normalmente) são: Memória Tempo

Porém... Complexidade não será analisada nesse curso

Page 19: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

E para sistemas de dedução?

Desejamos que nossos sistemas de dedução tenham certas propriedades...

Quais??

Relembrando conceitos Conseqüência lógica Contradição Lógicas precisam ter sintaxe e

semântica bem definidas!

Page 20: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Avaliando sistemas de dedução

Queremos que o nosso sistema de dedução hipotético SD para ela (a lógica proposicional) seja correto, completo e consistente

Verificar também monotonicidade

Que danado é isso???

Page 21: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Correto Correto:

Toda sentença deduzida por SD a partir de um dado conjunto de

sentenças S inclusive o conjunto vazio de sentenças!

Seja realmente dedutível a partir de S!

Se as premissas são válidas, a conclusão também é válida!

Page 22: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Completo e Consistente

Completo: Toda sentença realmente dedutível a

partir de S, seja também dedutível através de SD

Consistente: Não seja possível gerar contradições

usando SD

Page 23: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Teorema da correção Um sistema de dedução SD é correto se

satisfaz à condição abaixo Todas as condições são a mesma no fundo

Se H é conseqüência lógica de um

conjunto de hipóteses a partir de SD, H é realmente conseqüência lógica de

Se ├SD H, então ⊨ H SD só deduz fórmulas corretas!!

Page 24: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Teorema da completude Um sistema de dedução SD é completo se

satisfaz às condições abaixo Todas as condições são a mesma no fundo

Se H é conseqüência lógica de um conjunto de hipóteses , H também é conseqüência lógica de a partir de SD

Se ⊨ H, então ├SD H Toda fórmula dedutível também é

dedutível por SD!!

Page 25: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Teorema da Consistência

Um sistema de dedução SD é consistente sse não é possível deduzir usando SD duas fórmulas que se contradizem

Não é possível ├SD H e ├SD H Teorema: Um sistema correto é

também consistente

Page 26: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Prova do Teorema da Consistência

Se ├SD H, pelo teorema da correção:

H é tautologia H é contraditória Não é possível ├SD H,

pois H seria uma tautologia Não é possível que H e H sejam

tautologias

Page 27: Lógica Proposicional SAT e Custo Computacional. Conjuntos FOR: conjunto das fórmulas SAT: conjunto das fórmulas satisfazíveis INSAT: conjunto das fórmulas

Monotonicidade

Definição fraca: Se KBi├ H, então KBj├ H Não perder o que é dedutível

Definição forte: Se KBi├ H e j>i, então KBj├ H e KBj KBi KB só aumenta