Znalezienie dopasowania, którego skurcz minimalizuje liczbę łuków na wykresie

10

Biorąc pod uwagę mieszany wykres z krawędziami i łukami , znajdź dopasowanie w które minimalizuje liczbę łuków w , gdzie jest uzyskiwane z przez kurczenie dopasowanych wierzchołków i usuwanie łuki równoległe.E A E G / M G / M GG=(V,E,A)EAEG/MG/MG

Czy (wersja decyzyjna) ten problem NP jest kompletny? Czy zostało to zbadane w literaturze?

Marcus Ritt
źródło
2
Czy to ważne, czy masz łuki, czy nie?
Suresh Venkat
@Suresh: Właściwie nie, A może zostać przekierowane. Chodzi o to, że jeden zestaw krawędzi określa, które wierzchołki można dopasować, a dopasowanie minimalizuje liczbę krawędzi po skurczeniu w drugim zestawie krawędzi.
Marcus Ritt,
2
ah ok. więc tak naprawdę pytanie można uprościć, mając po prostu niekierowany wykres G, bez dwóch zestawów E i A.
Suresh Venkat
Nie jestem pewny. Gdy krawędzie nie są przekierowane, możemy zredukować problem do ukierunkowanego przypadku, zastępując każdą krawędź dwoma skierowanymi; ale w ukierunkowanym przypadku liczba łuków po skurczeniu zależy od ich kierunku, ponieważ dwa łuki między tymi samymi wierzchołkami nie muszą być równoległe. Dlatego po prostu ignorując kierunek łuków, optymalne dopasowanie może być inne.
Marcus Ritt

Odpowiedzi:

8

Nie wiem, czy masz zamiar pozwolić, aby nieukierowane krawędzie w E i łuki w A były równoległe, czy nie, ale na końcu to nie ma znaczenia. W tej odpowiedzi zakładamy, że nie zezwalasz na równoległe krawędzie i łuki.

Rozważmy przypadek szczególny, gdzie dla każdego łuku w A , zawiera również po łuku w kierunku przeciwnym. W takim przypadku możemy zignorować orientację łuków i uznać je za niedokierowane. Nazywamy krawędzie E czarne krawędzie i krawędzie w A czerwony krawędzie .

Nawet pod tymi dwoma ograniczeniami problem jest NP-zupełny dzięki redukcji z Max-2SAT. Niech φ być wzór 2CNF w n zmiennych z m punktach. Skonstruuj wykres G z 3 n wierzchołkami v 1 , , v n , x 1 , , x n , ˉ x 1 , , ˉ x n w następujący sposób. G ma 2x1,,xnv1,,vn,x1,,xn,x¯1,,x¯nn czarne krawędzie: oraz ( v i , ˉ x i ) dla i = 1,…, n . G ma czerwone krawędzie. Najpierw połącz i dla ij czerwoną krawędzią. Następnie, dla każdej odrębnej zmiennej i , rozważmy cztery pary literałów . Połącz literały(vi,xi)(vi,x¯i)5(n2)mv j x i x j ( l , l ) = ( x i , x j ) , ( x i , ˉ x j ) , ( ˉ x i , x j ) , ( ˉ x i , ˉ x j ) l l ( ˉ lˉ l )vivjxixj(l,l)=(xi,xj),(xi,x¯j),(x¯i,xj),(x¯i,x¯j)li czerwoną krawędzią wtedy i tylko wtedy, gdy klauzula nie pojawia się w φ .l(l¯l¯)

Oczywiste jest, że musimy brać pod uwagę maksymalne dopasowania w czarnych krawędziach, aby zminimalizować liczbę czerwonych krawędzi po skurczeniu. Oczywiste jest również, że każde maksymalne dopasowanie M w czarnych krawędziach składa się z n krawędzi łączących z dla i = 1,…, n . Zidentyfikuj to maksymalne dopasowanie M z przypisaniem prawdy . Łatwo jest zweryfikować, że po skurczeniu M i usunięciu równoległych krawędzi, wykres ma dokładnie czerwone krawędzie, gdzie kl i{ x i , ˉ x i } { l 1 , , l n } 4 ( nvili{xi,x¯i}{l1,,ln}4(n2)kjest liczbą klauzul spełnianych przez to przypisanie prawdy. Dlatego minimalizacja liczby czerwonych krawędzi po skurczeniu dopasowania w czarnych krawędziach jest równoważna maksymalizacji liczby spełnionych klauzul.

Tsuyoshi Ito
źródło
Dzięki! (Literówka: klauzula powinna brzmieć .)(l¯l¯)
Marcus Ritt
@Marcus: Nie ma za co i dziękuję za wskazanie literówki.
Tsuyoshi Ito