NOTA: AFAICT, DW encontró un agujero en esta reducción y está mal (ver comentarios). Manteniéndolo aquí por razones históricas.
Introducción : primero reduciré el problema Monotone 3SAT a nuestro problema. Aunque el problema de Monotone 3SAT es trivialmente satisfactorio, nuestro problema puede resolver aún más el problema de True Monotone 3SAT mínimo , que es NP-hard; Por lo tanto, este problema es NP-duro.
Reducción de Monotone 3SAT a nuestro problema
Tenemos una fórmula booleana monótona expresada como una secuencia de variables y una secuencia de cláusulas. El CNF tiene la forma tal que:Φ = ( V, C)
y
∀( cyo∈ C) Cyo= ( xj∨ xk∨ xl) |∣∣∣( xj, xk, xl∈ V)
⋀nortei = 1Cyo∣∣∣Cyo∈ C,n = | CEl |.
Conversión
Construimos un gráfico, . Cada vértice en G ' tiene una etiqueta; los vértices con la misma etiqueta son elegibles para contracción.sol′= V′, E′sol′
Primero construimos el gráfico de la siguiente manera: para cada , hacemos dos nodos, cada uno etiquetado como x i , y un borde dirigido de uno a otro (haga clic en las imágenes para una vista de alta resolución).Xyo∈ VXyo
Por supuesto, estos nodos pueden contraerse porque tienen la misma etiqueta. Consideraremos que las variables / nodos que se contratan se valoran como falsos, y los que no se contraen se valoran como verdaderos :
V′2 ⋅ | VEl |Cyo∈ C, Cyo= ( xj∨ xk∨ xl) |Xj, xk, xl∈ VCyo
Cyo1Cyo
2 ⋅ | VEl | + | CEl |
XyoXj XkCyo→ cyo
Aquí hay otra visualización, desenrollando la restricción de la cláusula:
Por lo tanto, cada restricción de cláusula requiere que al menos una de las variables que contiene permanezca sin contraer; Como los nodos no contratados se valoran como verdaderos, esto requiere que una de las variables sea verdadera; exactamente lo que Monotone SAT requiere para sus cláusulas.
Reducción del mínimo verdadero monótono 3SAT
Monotone 3SAT es trivialmente satisfactorio; simplemente puede establecer todas las variables en verdadero.
Sin embargo, dado que nuestro problema de minimización de DAG es encontrar la mayoría de las contracciones, esto se traduce en encontrar la asignación satisfactoria que produce la mayoría de las variables falsas en nuestro CNF; que es lo mismo que encontrar las variables mínimas verdaderas. Este problema a veces se llama Mínimo Verdadero Monótono 3SAT o aquí (como un problema de optimización o problema de decisión), o k-True Monotone 2SAT (como un problema de decisión más débil); ambos problemas NP-difíciles. Por lo tanto, nuestro problema es NP-hard.
Referencias
Fuentes de gráficos: