Das Problem ist NP-vollständig und lässt daher wahrscheinlich keinen Polynomzeitalgorithmus zu. Nachfolgend finden Sie einen Beweis für die NP-Vollständigkeit des Problems, der durch eine Reduzierung von 1-in-3-SAT gezeigt wird.
Sei eine Instanz von 1-IN-3-SAT, in der wir eine 3-CNF-SAT-Formel erhalten, die gebeten wird, eine zufriedenstellende Zuordnung zu finden, bei der jede Klausel durch genau ein Literal erfüllt wird. Sei V ( ϕ ) die Menge von n Variablen und C ( ϕ ) die Menge von m Klauseln.ϕV.( ϕ )nC.( ϕ )m
Wir konstruieren eine Instanz mit einem Budget von b = n + m (der zulässigen Anzahl blauer Eckpunkte).G = ( A , B , E.)b = n + m
Für jedes Variable , zwei rotes Konstrukt Eckpunkten v x und
v ¯ x in A zusammen mit B + 1 blauen Vertices in B angrenzend an beide. Diese Kräfte genau eine von v x oder v ¯ x gekippt werden. Wir haben auch n umgedrehte "variable Eckpunkte", wodurch der erste Teil des Budgets verwendet wird.x ∈ V.( ϕ )vxvx¯¯¯EINb + 1Bvxvx¯¯¯n
Bemerkung: sind die einzigen Knoten in
.A.{vx,vx¯¯¯∣x∈V(ϕ)}A
Für jede Klausel, sagen wir , erstellen wir blaue Eckpunkte und drei zusätzliche rote Eckpunkte , die alle in . Sei alle vollständig benachbart zu den blauen Eckpunkten und verbinde mit , mit
, und bis .b + 1 V x ∈ c , v ¯ y ∈ c , v z ∈ C B v x , v ¯ y , v z b + 1 v x v x ∈ C v y v ¯ y ∈ c v z v z ∈ cc=x∨y¯¯¯∨zb+1vx∈c,vy¯¯¯∈c,vz∈cBvx,vy¯¯¯,vzb+1vxvx∈cvyvy¯¯¯∈cvzvz∈c
Da jedes Klausel-Gadget blaue Eckpunkte hat, wissen wir, dass entweder ein
oder drei Literale in dieser Klausel umgedreht wurden. Angenommen, drei wurden für eine der Klauseln umgedreht. Aber dann verwenden wir mindestens Budget .n + m + 2b+1n+m+2
Angenommen, ist eine Ja-Instanz mit einer 1-in-3-Zuweisung . Drehen Sie jeden Scheitelpunkt, der . Da jede Klausel von genau einer Variablen erfüllt wird, gibt es jetzt für jede Klausel einen blauen Scheitelpunkt, und für jede Variable ist genau einer von ihnen blau, daher haben wir blaue Scheitelpunkte.ϕα:V(ϕ)→{⊤,⊥}αn+m=b