¿Alguien podría señalar uno o más sitios web donde sea posible descargar una implementación funcional de un solucionador #SAT? Estoy interesado en aquellos que devuelven el recuento exacto de la solución, no una aproximación.
ds.algorithms
sat
software
Giorgio Camerani
fuente
fuente
Respuestas:
Puede hacer esto con SAT4J , simplemente iterando sobre todos los modelos: http://www.sat4j.org/howto.php#models . Me imagino que la mayoría de los solucionadores de SAT tienen esta habilidad.
fuente
También puede probar el solucionador #SAT "sharpSAT" ( sitio web , github ) para contar el número de asignaciones satisfactorias de fórmulas CNF.
fuente
Una opción es usar una biblioteca BDD, como JavaBDD . Todas estas bibliotecas tienen una función que cuenta las soluciones rápidamente o, al menos, facilitan la escritura de dicha función. La desventaja, sin embargo, es que la construcción del BDD será lenta en muchos casos y puede requerir mucha memoria.
fuente
Tema relacionado: Mejor solucionador SAT .
fuente
Lo mejor que encontré es "compilador c2d". http://reasoning.cs.ucla.edu/c2d/
Utiliza d-DNNF y necesita la opción -count .
fuente
El MBound Solver que se proporciona aquí http://www.cs.cornell.edu/~sabhar/ puede proporcionar recuentos de modelos con garantías probabilísticas. Es mucho más rápido que enumerar todas las soluciones.
fuente
Escribí un modelo pequeño / enumerador implicante principal . Esto ya se puede usar para el conteo de modelos con la enumeración de modelos, pero eso no es muy práctico. Si alguien está interesado, puedo extenderlo para que cuente modelos de implicantes principales.
fuente
El sitio web BeyondNP contiene un buen inventario de las herramientas existentes para resolver #SAT (y otros problemas difíciles relacionados con las fórmulas CNF). También puede encontrar una lista de herramientas para el conteo aproximado de modelos y la compilación de conocimientos (la tarea de transformar el CNF en una estructura de datos con suerte sucinta que a menudo admite el conteo de modelos de tiempo polinomiales).
También puede encontrar una lista de herramientas para preprocesar fórmulas CNF que pueden ser útiles para mejorar el rendimiento de los contadores de modelos y varios puntos de referencia .
fuente
Aquí hay uno llamado tensorCSP y basado en una herramienta llamada redes tensoriales. Se explica en este documento .
fuente
La glucosa es un solucionador SAT muy eficiente desarrollado en la universidad de Burdeos.
https://www.labri.fr/perso/lsimon/glucose/
fuente