Minimalny rozcięcie na ważonych ukierunkowanych wykresach acyklicznych z potencjalnie ujemnymi wagami

9

Wystąpił następujący problem:

Biorąc pod uwagę ukierunkowany wykres acykliczny z rzeczywistymi wartościami grubości krawędzi oraz dwoma wierzchołkami s i t, oblicz minimalny st st cut.

Dla ogólnych wykresów jest to trudne NP, ponieważ można w prosty sposób zredukować maksymalne cięcie, po prostu odwracając wagi krawędzi (popraw mnie, jeśli się mylę).

Jaka jest sytuacja z DAG? Czy cięcie minimalne (lub maksymalne) można rozwiązać w czasie wielomianowym? Czy jest to trudne dla NP, a jeśli tak, to czy są znane algorytmy aproksymacyjne?

Próbowałem znaleźć pracę nad tym, ale nie byłem w stanie (może po prostu używam niewłaściwych słów kluczowych podczas wyszukiwania), więc miałem nadzieję, że ktoś może coś o tym wiedzieć (lub znaleźć).

Jerzy
źródło
2
Gdzie zawodzi sformułowanie programowania cięcia liniowego w programowaniu liniowym?
Peter Shor,
(używając notacji z en.wikipedia.org/wiki/… ): W przypadku krawędzi o ujemnej wadze d_ {ij} może być dowolnie duży. Nawet jeśli przeskoczysz d_ {ij} z góry, zawsze przyjmie maksymalną możliwą wartość dla krawędzi z ujemnymi ciężarami. Tak więc rozwiązanie takiego programu nie zawsze da prawidłowe cięcie. Mogę się mylić, ponieważ nie mam zbyt dużego doświadczenia z takimi problemami, jeśli tak, proszę mnie poprawić. Zasadniczo chciałbym wiedzieć, czy maksymalne cięcie (z dowolnymi wagami) można skutecznie rozwiązać dla DAG, czy nie.
George
1
Aby to zadziałało, musisz zmienić pierwszą nierówność na równość: . Wciąż nie rozumiem, dlaczego to zawodzi, ale może coś mi brakuje. Nie myślałem o tym dużo. dij=pjpi
Peter Shor
Prawdopodobnie to ja czegoś tu brakuje. Czy to gwarantuje, że wszystkie przyjmują wartości całkowite? Można powiązać z góry za pomocą 1, ale nie jestem pewien, czy to działa, czy nie. Problem wydaje się polegać na tym, że jeśli można to rozwiązać, można zredukować maksymalne cięcie poprzez odwrócenie obciążników krawędzi, co nie powinno być możliwe, ponieważ maksymalne cięcie jest trudne NP. Jednak mogę się tutaj mylić. pipi
George,
1
Czy st Max-cut NP-hard dla DAG? Jeśli wykres nie jest DAG, nie możesz zmienić tej nierówności na równość, ponieważ potrzebujesz nierówności, jeśli występują cykle. Tak więc w ogólnym przypadku LP nie działa z ujemnymi wagami.
Peter Shor,

Odpowiedzi:

10

Udoskonaliłeś swój problem w komentarzach. Mówiąc ściślej, masz DAG ze wszystkimi krawędziami odpływającymi ze źródła kierunku ujścia (to znaczy wszystkie krawędzie znajdują się na ścieżce od do ). Chcesz znaleźć minimalne cięcie między dwoma kawałkami DAG, gdzie pierwszy kawałek jest podłączony do , a drugi podłączony do . W przypadku tego problemu działa wariant standardowego algorytmu programowania liniowego dla MIN-CUT, nawet z ujemnymi wagami krawędzi.ststst

Używamy tego samego zapisu, co w Wikipedii . Koszt przewagi wynosi . Umieszczamy potencjalną funkcję na każdym węźle i pozwalamy . LP to (i,j)cijpidij=pipj

minimize (i,j)Ecijdijsubject to    dij=pipj  (i,j)E   dij0           (i,j)E   ps=1   pt=0

Te równania gwarantują, że , ponieważ każdy wierzchołek jest na pewnej ścieżce - . Podobnie, ponieważ jest nieujemne, potencjały na dowolnej ścieżce od do maleją. Wciąż musimy pokazać, że nie jest optymalnym rozwiązaniem LP ze wszystkimi albo albo . Wynika to z faktu, że wartość rozwiązania LP powyżej jest wartością oczekiwaną cięcia , gdzie wybiera się losowo w , a gdzie cięcie uzyskuje się poprzez umieszczenie wszystkich wierzchołków0pi1stdij=pipjstpi01Cww[0,1]Cwiz w pierwszym zestawie wierzchołków, a wszystkie wierzchołki z w drugim zestawie.piwpi<w

Peter Shor
źródło
Dzięki za doskonałą odpowiedź, Peter. Na pierwszy rzut oka nie było oczywiste, że , ale myślę, że mam. Mam jednak problem ze zrozumieniem argumentu dotyczącego rozwiązania integralnego. 0pileq1
George
@George: to ten sam argument, który pokazuje, że zwykły Min-Cut LP ma zintegrowane rozwiązania. Gdzieś w Internecie powinno być dłuższe (i bardziej zrozumiałe) wyjaśnienie.
Peter Shor,
Ok, szukam tego. Jeszcze raz bardzo dziękuję za pomoc!
George,