El problema de máxima satisfacción (Max-Sat) es el problema de encontrar el número máximo de cláusulas que se pueden satisfacer en una instancia de satisfacción booleana. El problema exacto 1 en 2 Sat pregunta, dado un conjunto de cláusulas cada una con dos literales, ¿hay un conjunto de literales de tal manera que cada cláusula tenga exactamente un literal de este conjunto?
La complejidad de tomar decisiones únicas: Aproximando 1-en-k SAT por Guruswami y Trevisan ofrece un método para aproximar Max 1 en 2 sáb. Indican monótono (sin literales negados) Máx. 1 en 2 Sat "admite una aproximación electrónica en tiempo polinomial".
Me gustaría encontrar un algoritmo exacto para el problema Max monotone 1 in 2 Sat.
graph-algorithms
sat
max2sat
Russell Easterly
fuente
fuente
Respuestas:
Una cláusula monótona 1 en 2 exige que las dos variables tengan valores diferentes. Por lo tanto, puede modelar el problema como un problema gráfico, con un vértice por variable que debe ser de color negro o blanco, y un borde para una cláusula que indica que los colores deben ser diferentes. Por lo tanto, la pregunta es hacer que el gráfico sea bipartito eliminando un número mínimo de aristas. Este es el problema de MaxCut o Edge Bipartization. Es NP-duro.
Para Edge Bipartization, hay un algoritmo que se ejecuta rápidamente cuando se necesitan eliminar algunos bordes. Escribí una implementación para un problema un poco más general descrito aquí ( código fuente ).
fuente
fuente