Resolvendo o problema PSAT com auxílio da ferramenta de software livre MiniSat

Trabalho de Formatura Supervisionado
Aluno: Mikail Campos Freitas
Orientador: Marcelo Finger
IME - USP


4 de junho de 2012

Resumo

O problema da Satisfatibilidade (também conhecido apenas por SAT) é um problema clássico na área de Ciência da Computação. Ele foi o primeiro problema descoberto a pertencer à classe dos problemas NP-completos e se constitui em decidir se é possível ou não que uma fórmula booleana seja verdadeira. Isso é, se existe uma atribuição de valores para as variáveis booleanas constituintes dessa fórmula que a satisfaça.

Uma extensão desse problema é o problema da Satisfatibilidade Probabilística (PSAT). Uma instância do PSAT é semelhante a uma instância do SAT, com a adição de que para cada variável booleana é associada uma probabilidade dela ser verdadeira ou não. Sua solução é uma decisão sobre a consistência desta atribuição de probabilidades para que a fórmula em questão seja satisfeita.

Glauber de Bona propôs dois algoritmos para solução desse problema [1] e desenvolveu dois softwares livres que os implementam (PSATtoSAT [2] e PsatColGen [3]) . Ambos os softwares são por sua vez baseados no uso do software livre zChaff [4] para a solução de instâncias do SAT necessárias para a solução da instância original do PSAT.


Objetivo

O objetivo desse trabalho é refinar o pacote de softwares livres disponíveis mencionados para resolver o PSAT, tanto para obter um melhor desempenho quanto para uma mais fácil distribuição do pacote.

Primeiramente será trocado o uso do zChaff pelo uso do MiniSat [5] (software livre que também resolve instâncias do SAT) e logo em seguida o próprio código do MiniSat usado para resolver o SAT será incluso tanto no PSATtoSAT quanto no PsatColGen para melhora de performance e para torná-los autocontidos.


Atividades já realizadas

Cronograma

Atividade Jun Jul Ago Set Out Nov Dez
Troca do zChaff pelo MiniSat (uso externo) no PsatColGen x
Integração do código do MiniSat ao PsatColGen xx
Início dos testes comparando as versões do PsatColGen xx
Testes exaustivos em cima de todas as versões dos softwares xx
Análise dos resultados obtidos e comparação de performance xx
Finalização e atualização do código disponível xxx
Monografia xxxxx
Pôster x
Apresentação x


Estrutura Esperada da Monografia

Referências
  1. FINGER, M. ; DE BONA, G. . Probabilistic Satisfiability: Logic-Based Algorithms and Phase Transition. In: IJCAI, 2011, Barcelona. Proceedings of the 22nd International Joint Conference on Artificial Intelligence, 2011, 2011. p. 528-533.
  2. PSTAtoSAT
  3. PsatColGen
  4. zChaff
  5. MiniSat