Ich weiß nicht, ob Sie beabsichtigen, ungerichtete Kanten in E und Bögen in A parallel zu lassen oder nicht, aber es spielt am Ende keine Rolle. In dieser Antwort wird davon ausgegangen, dass Sie nicht zulassen, dass Kanten und Bögen parallel sind.
Betrachten wir einen speziellen Fall , in dem für jeden Bogen in A , A auch die Bogenrichtung in der entgegengesetzten enthält. In diesem Fall können wir die Ausrichtung von Bögen ignorieren und sie als ungerichtet betrachten. Wir nennen Kanten in E schwarze Kanten und Kanten in A roten Kanten .
Selbst unter diesen beiden Einschränkungen ist das Problem durch eine Reduzierung von Max-2SAT NP-vollständig. Sei φ eine 2CNF-Formel in n Variablen nx1,…,xn mit m Klauseln. Konstruieren Sie einen Graphen G mit 3 n Eckpunkten wie folgt. G hat 2v1,…,vn,x1,…,xn,x¯1,…,x¯n schwarze Kanten: und ( v i , ˉ x i ) für i = 1,…, n . G hat rote Ränder. Verbinden Sie zuerst und für i ≠ j durch eine rote Kante. Als nächstes betrachten für jede unterschiedliche Variable und vier Literalpaare . Literale verbinden(vi,xi)(vi,x¯i)vivjxixj(l,l')=(xi,xj),(xi, ˉ x j),( ˉ x i,xj),( ˉ x i, ˉ x j)ll'( ˉ l ∨5(n2)−mvivjxixj(l,l′)=(xi,xj),(xi,x¯j),(x¯i,xj),(x¯i,x¯j)lund durch eine rote Kante, wenn und nur wenn Klausel nicht in φ erscheint .l′(l¯∨l¯′)
Es ist klar, dass wir nur maximale Übereinstimmungen in schwarzen Rändern berücksichtigen müssen, um die Anzahl der roten Ränder nach der Kontraktion zu minimieren. Es ist auch klar, dass jedes maximal übereinstimmende M in schwarzen Kanten aus n Kanten besteht, die mit für i = 1,…, n verbinden . Identifizieren Sie diese maximal übereinstimmende M mit der Wahrheitszuweisung . Es ist leicht zu überprüfen, ob der Graph nach dem Zusammenziehen von M und dem Entfernen paralleler Kanten genau rote Kanten hat, wobei kl i ∈ { x i , ˉ x i } { l 1 , … , l n } 4 ( nvili∈{xi,x¯i}{l1,…,ln}4(n2)−kist die Anzahl der Klauseln, die durch diese Wahrheitszuweisung erfüllt werden. Das Minimieren der Anzahl roter Kanten nach dem Zusammenziehen einer Übereinstimmung mit schwarzen Kanten entspricht daher dem Maximieren der Anzahl erfüllter Klauseln.