Prosta ścieżka na sztyfcie z tylnymi krawędziami

10

Jaka jest złożoność następującego problemu ( P? NP-trudny?):

Dane wejściowe: ukierunkowany wykres acykliczny , zestaw tylnych krawędzi E V × V i dwa odrębne węzły sD=(V,E)EV×Vs i .t

Pytanie: Niech oznacza wykres utworzony przez dodanie do D krawędzi od E . Czy istnieje prosta ścieżka od s do t w G, która wykorzystuje co najmniej jedną krawędź wsteczną?G=(V,EE)DEstsol

Uwaga: 0) Prosta ścieżka to ścieżka, w której żaden wierzchołek się nie powtarza. Krawędź wsteczna to krawędź, która jest sprzeczna z częściową kolejnością sugerowaną przez DAG. 1) problem jest prosty, jeśli poprosimy prostą ścieżkę o użycie dokładnie jednej krawędzi wstecznej (lub liczby stałej) poprzez trywialną redukcję do problemu ścieżki rozłącznej, która dopuszcza proste rozwiązanie PTime w DAG ( Perl i Shiloach, JACM'78 ) 2) problem z rozłączną ścieżką jest NP-zupełny na ogólnych wykresach ( Fortune i in., TCS'80 ).

Joseph Stack
źródło
1
To z pewnością nie jest optymalna, ale to wystarczy, aby pokazać, że problem jest w P (chyba że źle coś): Niech będą krawędziami E ; zastosowanie algorytmu najkrótszej ścieżki od S do T w wykres G I = ( V , E 'i j = 1 { e j } ) dla i = 1 , 2 , . . . ,e1,...,emmistGi=(V,Ej=1i{ej}) . Innymi słowy, dodawaj krawędź wybraną z E do wykresu G = ( V , E ), aż znajdziesz ścieżkę od s do t . i=1,2,...,mEG=(V,E)st
Marzio De Biasi
1
Marzio: ale co jeśli ścieżka, którą znajdziesz, używa tylko krawędzi w i żadnej w E ? Nadal może istnieć inna ścieżka, która obejmuje również krawędź E . Emimi
David Eppstein,
To, co jest bardzo denerwujące w twoim problemie, to fakt, że następujący pokrewny problem jest łatwo zauważalny jako trudny do NP: biorąc pod uwagę wykres i dwie pary wierzchołków (s, t), (s ', t'), aby ustalić, czy występują rozłączenia wierzchołków ścieżki od s do t oraz od s 'do t', nawet gdy t = s ', a nawet na wykresach, które są sumą dwóch DAG. Mimo to nie wydaje się to pomocne w przypadku pytania, które zadajesz.
a3nm
1
Problemem rozłącznych ścieżek jest W [1] - twardy nawet w DAG, i jest to zadanie domowe pokazujące, że w DAG jest trudne do NP. Algorytm Shiloach dotyczy problemu dwóch rozłącznych ścieżek i w nieco podobny sposób działa dla problemu k rozłącznych ścieżek w DAG, ale zajmuje to czas n ^ k. Ale przynajmniej przyznaje algorytm XP dla twojego problemu.
Saeed,