Dokładny algorytm dla problemu znakowania krawędzi w DAG


14

Wdrażam część systemu, która wymaga pomocy. Dlatego kadruję go jako problem graficzny, aby uczynić go niezależnym od domeny.

Problem: Otrzymujemy ukierunkowany wykres acykliczny . Bez utraty ogólności załóżmy, że G ma dokładnie jeden wierzchołek źródłowy s i dokładnie jeden wierzchołek tonący ; pozwolić P oznacza zbiór wszystkich skierowanych ścieżek z S na T , w G . Jesteśmy również otrzymuje zestaw wierzchołków R V . Problem polega na przypisaniu nieujemnych wag liczb całkowitych do krawędzi G , więc dowolne dwie ścieżki w P mają tę samą wagę wtedy i tylko wtedy, gdy zawierają ten sam podzbiór wierzchołkówG=(V,E)GstPstGRVGP . (Ciężar ścieżki jest sumą wag jej krawędzi.) Zakres wag ścieżek w P powinien być jak najmniejszy.RP

Obecnie moje podejście nie wydaje się skuteczne; Szukam tylko odniesień do literatury lub dobrych spostrzeżeń. Cokolwiek innego jest również mile widziane.

Edycja: Czy istnieje dowód na twardość tego problemu? Czy kompaktowa numeracja zawsze istnieje?


4
proszę wyjaśnić „Zakres wag ścieżek w P powinien być optymalny”. Czy wagi są tylko liczbami całkowitymi? Czy dozwolone są wagi ujemne? Czy „optimum” oznacza „tak mały zasięg, jak to możliwe”, czy może oznacza coś innego?
Artem Kaznatcheev

2
zredagowałem pytanie. Dzięki za komentarz. wagi powinny być nieujemnymi liczbami całkowitymi, a zakres powinien być jak najmniejszy.
user5153

5
Prostą strategią dla znalezienia prawidłowego rozwiązania byłoby przypisanie różnej potęgi dwóch do każdego wierzchołka v w R, użycie tej liczby jako wagi wszystkich przychodzących krawędzi do v i przypisanie wagi zero do wszystkich pozostałych krawędzi. Oczywiście może to nie być optymalne, ale przynajmniej wyznacza górną granicę wymaganego zakresu. Czy kiedykolwiek ulepszenie polega na tym, aby różne krawędzie przechodzące przez ten sam wierzchołek w R miały różne ciężary względem siebie, czy może uprościć problem, dostosowując wagi do wierzchołków zamiast do krawędzi?
David Eppstein,

3
Odpowiedź BTW @ DavidEppstein pokazuje, że maksymalna masa całkowita ścieżki wynosi . Jest to ściśle związane ze stałymi. Jako przykład możesz wziąć wykres G = ( V , E ) , V = [ n ] { s , t } i E = { ( i , j ) : i < j } { ( s , 1 ) ,O(2|R|)G=(V,E)V=[n]{s,t} . Niech także R = [ n ] . Na R 2 n różnych ścieżek, a ponieważ każda ścieżka ma nieujemną masę całkowitą, co najmniej jedna musi mieć wagę co najmniej 2 n - 1 . E={(i,j):i<j}{(s,1),(n,t),(s,t)}R=[n]2nR2n1
Sasho Nikolov,

1
jasne, w najgorszym przypadku miałem na myśli ciasno (tak naprawdę napisałem to w pierwszej wersji tego komentarza, która zaginęła). pomyślałem, że dobrze byłoby najpierw ustalić pewne absolutne granice, ponieważ nikt jeszcze nie zajął się problemem optymalizacji.
Sasho Nikolov,

Odpowiedzi:


-6

nie słyszałem o tym problemie dokładnie w literaturze [może ktoś inny], jednak jako „problem w pobliżu” wydaje mi się, że minimalne drzewo opinające miałoby użyteczne właściwości do rozwiązania twojego problemu. na przykład może wygenerowanie dwóch minimalnych drzew rozpinających, zaczynając od wierzchołka źródłowego i wierzchołka synchronizacji, i propagowanie ich na zewnątrz, aż się dotkną itp., może rozwiązać problem lub dać dokładną odpowiedź. zanim ktokolwiek rzuci mnie na ten temat tutaj, proszę zrozumieć, że rozszerzam pomysł MST, który ma być generowany, zaczynając od danego wierzchołka [zwykle zaczyna się od najkrótszej krawędzi na całym wykresie]. jeśli to nie działa, jestem ciekawy z tego powodu.


5
Przepraszam, ale nie widzę znaczenia tej odpowiedzi na to pytanie.
David Eppstein,

może masz lepszy pomysł o czym on mówi? czy ma to dla ciebie sens, jak stwierdzono?
vzn

1
Musi przypisać ciężary krawędziom. W jaki sposób pomoc w obliczeniu MST?
Nicholas Mancuso

ok po przeczytaniu i nikt inny nie zaproponował odpowiedzi, wydawało się, że problem można przekształcić na dwie części - (1) przypisać wagi na podstawie kryteriów / ograniczeń, (2) znaleźć najkrótsze ścieżki na podstawie tych wag. wydaje się, że MST może się przydać w (2). albo może nie! (np. może 1/2 jest ściśle ze sobą powiązane)
od

1
Nie. Minimalne drzewa rozpinające dotyczą tylko grafów bezkierunkowych; wykres wejściowy jest skierowany. Co więcej, minimalne drzewa rozpinające są jedynie powierzchownie powiązane z najkrótszymi ścieżkami.
Jeffε
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.