El siguiente artículo de 2009 ofrece una excelente visión general para principiantes.
Hay varias formas de entrar en los aspectos técnicos. Incluso puede comenzar con el documento original de Davis-Putnam. Es extremadamente claro y tiene ejemplos detallados. Cuando discutimos las optimizaciones SAT en un curso, descubrimos que algunos pueden imaginar que ya están allí. El artículo de Davis-Logeman-Loveland es (creo) menos instructivo, pero es tan breve que es mejor leerlo.
Hay muchas maneras de ponerse al día con los desarrollos de los próximos 50 años. Recomendaría diapositivas de conferencias. Simplemente buscando 'DPLL' arrojará muchos tutoriales. Si navega por ellos, estoy seguro de que la niebla se despejará, hasta cierto punto. También hay muchas encuestas útiles. El periódico Zhang-Malik es un buen lugar para comenzar. Hay varios artículos en el Manual de Satisfacción que pueden resultarle útiles.
- The Quest for Efficient Boolean Satisfiability Solvers , Lintao Zhang, Sharad Malik, documento conjunto invitado para CAV y CADE 2002.
- Handbook of Satisfiability , editado por Armin Biere, Marijn Heule, Hans van Maaren y Toby Walsh, 2009
- Anatomía y evaluación empírica de solucionadores modernos de SAT , Karem Sakallah, Joao Marques-Silva, Boletín de EATCS, 2011.
Secundo la sugerencia de Mikolaos. El código MiniSAT es limpio y de tamaño manejable. Puedes jugar con eso. Hay varios otros solucionadores que puedes probar. CryptoMiniSat también es bastante limpio. También debe consultar el trabajo de Armin Biere , quien escribe solucionadores SAT y escribe sobre escribir solucionadores SAT.