Problemu bardziej ogólnego przypadku K-Disjoint Path In directed planar graphs, a nie stałe K.
K
rozłączne ścieżki problem dla skierowanych płaskich wykresach jest następująco:
podane: skierowanego płaskiej wykres G = (V ; E) i k par (r ; s); ....; (r k; s k) wierzchołków G;
znaleźć: k parami wierzchołek-rozłącznych skierowane ścieżek P ; ...; P K G, gdzie P i biegnie od R i Do S i (i = 1, ...., K).
w K-rozłączne ścieżki można narysować łuk ze wszystkich s i do B, a także łuk od A do wszystkich r i przez ten sposób stworzyć wykres G”z G.
Teraz, jeśli możesz rozwiązać swój problem w G 'w P możesz rozwiązać k-rozłączną ścieżkę w G, So P = NP.
Ale jeśli czytasz powiązaną pracę, daje to pewien pomysł na ogólny wykres (rozwiązanie k-rozłącznej ścieżki ze stałym k) i możesz go użyć, aby uzyskać dobre przybliżenie.
Również jest bardziej skomplikowany algorytm, który rozwiązuje ten problem w P (dla stałej k) w ogólnych wykresach. ale w sumie to nie jest łatwe (to jest Seymour).
Twoim najlepszym wyborem jest obecnie użycie algorytmów brutalnej siły.
Edit: Ponieważ MAXWEIGHT jest niezależny do wielkości wejściowej (twój rozmiar wykres) To nie ma wpływu na ten problem, także dlatego, że jest NP-trudny do undirected nieważone wykresu, nadal po prostu można go zawrzeć jest NP-trudny .
Czy zezwalasz na ścieżki, które odwiedzają ten sam wierzchołek więcej niż raz (pod warunkiem, że długość ścieżki jest mniejsza niż MAX_WEIGHT)? – NPE
Czy możemy założyć, że nie ma cykli zerowej wagi? – bdares
@aix: Tak, przepraszam, zapomniałem wspomnieć. Możesz wykonywać pętle tyle, ile chcesz, o ile spełnione jest kryterium MAX_WEIGHT. – Babak