SAT e Custo Computacional

Slides:



Advertisements
Apresentações semelhantes
Lógica de Predicados e Representação de Conhecimento
Advertisements

Capítulo 7 Tableaux semânticos e resolução na Lógica Proposicional
Prof. Marcone Sotéro Método Dedutivo Prof. Marcone Sotéro
Capítulo 3 Propriedades semânticas da Lógica Proposicional
Lógica Matemática e Computacional 7 – Introdução à Programação Lógica
Tópicos de Lógica Proposicional
Elsa Carvalho 163 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Teoria dos Modelos.
Lógica Auto-epistémica
Lógicas em Dedução Natural
Introdução à Programação Lógica
Algoritmos e Estruturas de Dados
INTRODUÇÃO A lógica faz parte do nosso cotidiano.
Sistemas Baseados em Conhecimento
NÃO DETERMINISMO Marcus Eduardo Cabral Seabra
Introdução à NP-completude
Lógica para Computação
Lógica para Computação
Dedução Natural Universidade Tecnológica Federal do Paraná
AXIOMATIZAÇÃO Equipe: André Augusto Kaviatkovski, Daniel Elias Ferreira, Vinicius Zaramella.
DEDUÇÃO NO CÁLCULO PROPOSICIONAL
INF 1771 – Inteligência Artificial
Conceitos Básicos.
Lógica Matemática e Computacional
Informática Teórica Engenharia da Computação
Monitoria de Introdução à Computação
Lógica de Predicados Teorema de Herbrand.
Capítulo 5 Relações semânticas entre os conectivos da Lógica Proposicional
Capítulo 4 Métodos para determinação de propriedades semânticas de fórmulas da Lógica Proposicional
Informática Teórica Engenharia da Computação
INF 1771 – Inteligência Artificial
Cássio Cristo Dawyson Guerra Matheu Santos
Teorema de Herbrand e Unificação
Agentes Baseados na Lógica Proposicional
SEMÂNTICA.
Interpolação.
Completude e Corretude do Sistema de Tableaux Semânticos
Lógica Proposicional Dedução Natural.
Lógicas e Inferência para IA
Teorema de Herbrand e Unificação
SAT e Custo Computacional
SAT e Custo Computacional
Sistemas Especialistas
Complexidade computacional
Lógica matemática.
Métodos para determinação de validade de fórmulas
Análise e Síntese de Algoritmos
Monitoria de Lógica para Computação
Lógica Matemática Introdução.
Lógica Proposicional.
Curso: PCS Fundamentos Lógicos da Inteligência Artificial Aluno: Alberto Yoshinobu Onoe (607768) Lógicas Paraconsistentes como um Formalismo para.
Decidibilidade, Corretude, Completude, Consistência
Sistema Formal Um Sistema Formal para a lógica proposicional é uma 2-tupla < L, R >, onde: L: linguagem proposicional R: conjunto de regras de inferências.
Problemas NP-completos e Programação Dinâmica
Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br.
Introdução à NP-completude
Decidibilidade, Corretude, Completude, Consistência, Monotonicidade
J. M. Barreto UFSC-INE Lógica de Primeira Órdem R ecordação.
Lógica Proposicional.
Sistema Formal Um Sistema Formal para a lógica proposicional é uma 2-tupla < L, R >, onde: L: linguagem proposicional R: conjunto de regras de inferências.
1 Indução Definições Indutivas Prova por indução Referência: Language, Proof and Logic Jon Barwise e John Etchemendy, 1999 Capítulo: 16.
Frases de Horn Forma Normal Conjuntiva- para frases sem quantificadores conjunção de frases cada elemento da conjunção é disjunção de literais literal:
Lógica Proposicional Dedução Natural.
Representação de Conhecimento Fred Freitas – CIn/UFPE.
SEMÂNTICA.
Lógica matemática.
UNIP UNIVERSIDADE PAULISTA Professor: Yure de Queiroz Lima
Interpretação do Teorema de Herbrand
Lógica - EC Mini-prova 3.
Lógica de Predicados Tableaux semânticos.
Comportamento Assintótico
Transcrição da apresentação:

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 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

Lema de pertinência Para H € FOR: H € SAT D H € INSAT H € INSAT D (H) € TAUT H € SAT D (H) € TAUT H € REFUT D H € TAUT H € REFUT D (H) € INSAT

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

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 colunas a b c 1

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 …

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

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!

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)

Complexidade Computacional Criação da classe de problemas NP-Completo S. 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

Vocabulário Sistemas de Dedução, Decidibilidade, Corretude, Completude, Consistência, Monotonicidade

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.

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)

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

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

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!!!

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!

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 

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!

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???

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!

Completo e Consistente 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

Teorema da correção Se b├SD H, então b⊨ H 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 b a partir de SD, H é realmente conseqüência lógica de b Se b├SD H, então b⊨ H SD só deduz fórmulas corretas!!

Teorema da completude Se b⊨ H, então b├SD H 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 b, H também é conseqüência lógica de b a partir de SD Se b⊨ H, então b├SD H Toda fórmula dedutível também é dedutível por SD!!

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

Prova do Teorema da Consistência Se ├SD H, pelo teorema da correção: H é tautologia D H é contraditória Não é possível ├SD H, pois H seria uma tautologia Não é possível que H e H sejam tautologias

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