Definição e avaliação de métricas para solucionadores SAT

Transcrição

Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Definição e avaliação de métricas para
solucionadores SAT
Fernando Augusto Fernandes Braz
Orientador: Mark Alan Junho Song
Departamento de Ciência da Computação
PUC Minas
9 de dezembro de 2009
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Sumário
1
Introdução
Motivação
Justificativa
Objetivos
2
Revisão de Literatura
Abordagem do DPLL
Métricas para Verificação Formal
3
Definição e Avaliação de Métricas para Solucionadores SAT
Descrição das Métricas
Conjunto Unificado de Métricas
4
Estudo de Caso
Testes Realizados
5
Conclusão
Trabalhos Futuros
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Motivação
Justificativa
Objetivos
Introdução
Fórmula booleana ϕ : SAT ou UNSAT
Solução trivial: dispor variáveis em uma árvore de decisão
Satisfabilidade booleana é um problema NP-Completo
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Motivação
Justificativa
Objetivos
Motivação
Vários solucionadores e heurísticas: processo de resolução
divergente; dificuldade para comparar resultados
Ausência de informações: aspecto interno do solucionador frente
às classes de problemas
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Motivação
Justificativa
Objetivos
Justificativa
Melhor entendimento do problema e das soluções
Identificação de alternativas para pesquisa
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Motivação
Justificativa
Objetivos
Objetivos
Características de cada solução
Abordagem adequada para cada classe de problemas
Comportamento de soluções distintas para um mesmo tipo de
problema
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Abordagem do DPLL
Métricas para Verificação Formal
Revisão de Literatura
Solução DPLL existe desde 1962
Poucas abordagens diferentes (Stålmarck e BDD)
SAT Competition e benchmarks
Classes de Problemas (reais, artesanais e aleatórios)
Aplicações para SAT: verificação de processadores, síntese
lógica, etc.
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Abordagem do DPLL
Métricas para Verificação Formal
Abordagem do DPLL
Motores decide, deduz e diagnostica
Backtrack para sair de estados UNSAT
Aprendizado de cláusulas: evitar conflitos recorrentes
BCP (Boolean Constraint Propagation)
Grafo de Implicação: detectar conflitos
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Abordagem do DPLL
Métricas para Verificação Formal
Métricas para Verificação Formal
Tempo de execução e uso de memória
Revelam pouco sobre o aspecto interno
Ausência de trabalhos para SAT envolvendo métricas
Consulta às métricas de Engenharia de Software
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Descrição das Métricas
Conjunto Unificado de Métricas
Definição e Avaliação de Métricas para Solucionadores SAT
Escolha das abordagens: zChaff, Rsat e Minisat
Critérios de escolha: vencedores em competições, eficientes
para diferentes classes de problema
Levantamento das métricas e Conjunto Unificado de Métricas
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Descrição das Métricas
Conjunto Unificado de Métricas
zChaff
Vencedor de 2002
Até pouco tempo estado da arte
VSIDS (prioriedade reduzida em 50% a cada mil conflitos)
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Descrição das Métricas
Conjunto Unificado de Métricas
Rsat
Vencedor de 2007 (real)
Estruturas de dados leves
Progress Saving: atribuições anteriores a um conflito são
armazenadas
Pré-processador SATElite
VSIDS (baseado no zChaff)
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Descrição das Métricas
Conjunto Unificado de Métricas
Minisat
Vencedor de 2007 (real e aleatório)
Atual estado da arte
VSIDS agressivo (prioriedade reduzida em 5% a cada conflito)
Backtrack não-cronológico
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Descrição das Métricas
Conjunto Unificado de Métricas
Descrição das Métricas
Métricas exclusivas: reordenações (zChaff), máximo de
literais/cláusulas aprendidas (Minisat), etc.
Métricas comuns: cláusulas aprendidas, reinícios, propagações,
memória, tempo de execução, etc.
11 Métricas comuns compondo o Conjunto Unificado de Métricas
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Descrição das Métricas
Conjunto Unificado de Métricas
Conjunto Unificado de Métricas
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Testes Realizados
Estudo de Caso
Testes Benchmark da SAT Competition e IBM
Ambiente de Testes uniforme (mesma máquina e configurações)
Tamanho 6= Complexidade
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Testes Realizados
Testes Realizados
36 Testes para diferentes Classes de Problemas:
13 Problemas Reais (microprocessadores da IBM)
13 Problemas Artesanais (jogos de paridade em grafos)
10 Problemas Aleatórios (OnTreshold, 7-SAT)
Tempos de execução variando de instântaneo a várias horas
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Testes Realizados
Testes Artesanais
Métricas
Cláusulas atuais
Cláusulas originais
Cláusulas aprendidas
Cláusulas eliminadas
Literais atuais
Literais conflito
Variáveis
Reinícios
Propagações
Memória
Tempo de execução
Solucionadores
zChaff
Rsat
Minisat
54
53
53
53
53
53
1
0
0
0
0
53
115
114
114
1
0
1
27
27
27
0
0
1
13
3
23
134944 4944 3860000
0
0
0
Tabela: instance_n2_i2_pp.cnf (artesanal)
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Testes Realizados
Observações Testes Artesanais
Necessidade de maior precisão
Tempo de execução idêntico
Solucionador não importa para instâncias triviais
Rsat superior para instâncias artesanais
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Testes Realizados
Testes Aleatórios
Métricas
Cláusulas atuais
Cláusulas originais
Cláusulas aprendidas
Cláusulas eliminadas
Literais atuais
Literais conflito
Variáveis
Reinícios
Propagações
Memória
Tempo de execução
zChaff
88865
4005
1823088
1738228
1534058
34110602
45
2588
23872459
125107472
4264.27
Solucionadores
Rsat
Minisat
9719
3717
4005
4005
3801661
2173
3792191
2852987
91872
31112
54664356
38535440
45
45
1533
24
7848492
22052582
36350924
6740000
38553.12492
251.336
Tabela: S2067396253-13.UNSAT.shuffled.cnf (aleatória)
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Testes Realizados
Observações Testes Aleatórios
zChaff apresenta tempos medianos frente aos demais
Rsat foi desenvolvido voltado para problemas reais,
comprometendo seu desempenho para problemas aleatórios
Minisat superior para problemas aleatórios (menos reinícios, uso
de memória e tempo de execução)
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Testes Realizados
Testes Reais
Métricas
Cláusulas atuais
Cláusulas originais
Cláusulas aprendidas
Cláusulas eliminadas
Literais atuais
Literais conflito
Variáveis
Reinícios
Propagações
Memória
Tempo de execução
Solucionadores
zChaff
Rsat
Minisat
72797
56572
54486
65728
65415
65728
7575
22659
8100
506
31502
547661
484065
345706
340624
369114
584946
214560
13215
13215
13215
2
22
10
6888316
71232
5375397
8823120 3823868 8420000
5.85037 18.30914
3.2082
Tabela: bmc-ibm-13.cnf (real)
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Testes Realizados
Observações Testes Reais
Problemas reais apesar de grandes são triviais
Poucos conflitos e reinícios frente a problemas aleatórios, por
exemplo
Solucionadores apresentaram resultados similares
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Trabalhos Futuros
Conclusão
Constatações realizadas na área, como por exemplo, problemas
reais apresentarem poucos conflitos, logo, menos reinícios
Para instâncias pequenas qualquer solucionador pode ser
utilizado
Para problemas artesanais orienta-se utilizar o Rsat, e para
problemas aleatórios o Minisat
Problemas reais apresentaram resultados equivalentes entre os
solucionadores
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Trabalhos Futuros
Trabalhos Futuros
Expansão do Conjunto Unificado de Métricas
Novos solucionadores
Novos paradigmas
Uso de outros benchmarks
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT
Introdução
Revisão de Literatura
Definição e Avaliação de Métricas para Solucionadores SAT
Estudo de Caso
Conclusão
Trabalhos Futuros
Perguntas
Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song
Definição e avaliação de métricas para solucionadores SAT