Non so se il tuo intento è quello di consentire che i bordi non orientati in E e gli archi in A siano paralleli o meno, ma alla fine non importa. In questa risposta, assumiamo che non si consentano che bordi e archi siano paralleli.
Si consideri un caso speciale in cui per ogni arco in A , A contiene anche l'arco nella direzione opposta. In questo caso, possiamo ignorare l'orientamento degli archi e considerarli non indirizzati. Chiamiamo bordi in E bordi neri e bordi in A bordi rossi .
Anche con queste due restrizioni, il problema è NP-completo con una riduzione da Max-2SAT. Sia φ una formula 2CNF in n variabili con clausole m . Costruisci un grafico G con 3 n vertici come segue. G ha 2 n bordi neri: e per i = 1,…, n . G ha bordi rossi. Innanzitutto, collega e perx1,…,xnv1,…,vn,x1,…,xn,x¯1,…,x¯n(vi,xi)(vi,x¯i)5(n2)−mvivji ≠ j da un bordo rosso. Quindi, per ogni variabile distinta e , considera quattro coppie di letterali . Connect letterali e da un bordo rosso se e solo se la clausola non appare in φ .xixj(l,l′)=(xi,xj),(xi,x¯j),(x¯i,xj),(x¯i,x¯j)ll′(l¯∨l¯′)
È chiaro che dobbiamo solo considerare gli abbinamenti massimi nei bordi neri per minimizzare il numero di bordi rossi dopo la contrazione. È anche chiaro che ogni corrispondenza massima M nei bordi neri è composta da n bordi che collegano a per i = 1, ..., n . Identifica questa corrispondenza M massima con l'assegnazione della verità . È facile verificare che dopo aver contratto M e rimosso i bordi paralleli, il grafico abbia esattamente bordi rossi, dove kvili∈{xi,x¯i}{l1,…,ln}4(n2)−kè il numero di clausole soddisfatte da questa assegnazione di verità. Pertanto, ridurre al minimo il numero di bordi rossi dopo aver contratto una corrispondenza nei bordi neri equivale a massimizzare il numero di clausole soddisfatte.