Encontrei um artigo mais recente (2014) sobre o All-SAT em uma conferência VLSI, portanto ele é definitivamente voltado para o lado prático (o que parece estar em sintonia com a pergunta do OP aqui, embora menos com a cstheory.SE em geral):
- "All-SAT usando cláusulas de bloqueio mínimas" de Yinlei Yu, Pramod Subramanyan, Nestan Tsiskaridze, Sharad Malik, VLSI Design 2014. doi: 10.1109 / VLSID.2014.22 .
Para aqueles sem assinatura do IEEE, há uma cópia gratuita na página da Web de Subramanyan em Princeton . (Ele usa um serviço de compartilhamento de arquivos para armazenar / distribuir cópias de seus documentos e não tenho certeza de quão estáveis são esses URLs, portanto, este link indireto.)
A essência deste artigo parece ser:
Nossa contribuição, o algoritmo Non-Disjoint-Dec, gera cláusulas de bloqueio extremamente curtas que não contêm nenhuma das variáveis implícitas no solucionador. Observe que normalmente a maioria das variáveis em um mintermo satisfatório está implícita. Cláusulas curtas de bloqueio são muito benéficas para o desempenho do solucionador, conforme demonstrado pela avaliação.
Sua implementação se baseia no MiniSat. O código-fonte para sua extensão não parece estar disponível publicamente. Infelizmente, isso parece ser um hábito no campo do All-SAT, portanto, os trabalhos nessa área que contêm resultados experimentais apenas configuram um algoritmo mais ou menos simples e mais simples de superar e raramente podem ser comparados diretamente (em termos de experimentos). resultados) com qualquer outro algoritmo publicado para All-SAT. O artigo de Jabbour et al. mencionado por Vijay D também é desse tipo.
Como não vejo isso mencionado na outra resposta (mas apenas no comentário de András Salamon), a [bastante popular] técnica de cláusulas de bloqueio foi introduzida em: