Jakie jest znaczenie ujemnych krawędzi masy na wykresie?


15

Robiłem ćwiczenia programowania dynamicznego i znalazłem algorytm Floyda-Warshalla. Najwyraźniej znajduje wszystkie pary najkrótszych ścieżek dla wykresu, który może mieć ujemne krawędzie wagi, ale nie ma ujemnych cykli.

Zastanawiam się więc, jakie jest rzeczywiste znaczenie ujemnych krawędzi wagi? Przydałoby się proste angielskie wyjaśnienie.


3
Waga krawędzi może reprezentować wszystko w prawdziwym świecie, np. Kwota pieniędzy do przeniesienia z jednego konta na drugie może być dodatnia lub ujemna, a np. Jeśli chcesz coś zrobić, oznacza to, że musisz przejść od a-> b na wykresie za pomocą tracąc jak najmniej pieniędzy (najkrótsza ścieżka), możesz rozważyć ujemne wagi .... np. zapoznaj się z tym rozdziałem książki, który zawiera kilka przykładów: informit.com/articles/article.aspx?p=169575&seqNum=8

więc jeśli a ---- (2) ----> b ---- (- 2) ----> c oraz a ----- (1) ----> c i aby przejść od od a do c, czy powinienem wybrać ścieżkę abc, ponieważ całkowity koszt wynosi 0? ponieważ jest to najkrótsza ścieżka. Popraw mnie, jeśli się mylę !
c2h5oh,

np. załóżmy, że wykonując pracę przejście ze stanu do kosztuje (np. praca polega na zakupie książki kosztuje 2 ), po czym możesz wykonać jakiś projekt (zarabiasz 2 , oznacza funkcję kosztu wynosi -2), to osiągnąłeś cel (bycie profesjonalistą lub c), wtedy całkowity koszt wynosi 0 i jesteś w swoim stanie. a - (+ 2) -> b - (- 2) -> c: +2 - 2 = 0 (całkowity koszt od: nowicjusza do c: profesjonalisty). a b 2 $ $ $e(ab)ab2$$$

więc moje założenie jest słuszne, nawet jeśli musimy pokonać 1 dodatkową krawędź, wybieramy abc zamiast ac.am mam rację?
c2h5oh,

Tak dokładnie, twoje założenie jest słuszne. Pamiętaj, że możesz przeczytać więcej (np. Link, który ci podałem) lub w naszej dyskusji możesz odpowiedzieć na własne pytanie i oznaczyć je jako zaakceptowaną odpowiedź.

Odpowiedzi:


16

Saeed Amiri podał już doskonały przykład w komentarzu: waga na krawędziach może reprezentować wszystko w prawdziwym świecie, na przykład ilość pieniędzy, które należy przenieść z jednego konta na drugie. Kwoty mogą być dodatnie lub ujemne. Na przykład, jeśli chcesz przejść od do na wykresie, tracąc przy tym jak najmniej pieniędzy (najkrótsza ścieżka), możesz rozważyć ujemne wagi. Więcej informacji można znaleźć w tym rozdziale książki .bab

Oprócz tego istnieje wiele innych aplikacji. Ujemne wagi zależą od tego, jak to modelujesz. Weźmy na przykład ten wykres

wprowadź opis zdjęcia tutaj

  • Chemia: Odważniki można wykorzystać do przedstawienia ciepła wytwarzanego podczas reakcji chemicznej. (Tryby: związki, krawędź : jeśli związek można uzyskać („chemicznie zredukowany”) od . Na tym wykresie: wytwarzasz kJ do konwersji i kJ do konwersji do . Potrzebujesz kJ odzyskać od . v u 4 s - a 2 a t 5 s teuvvu4sa2at5st

  • Prawdziwe Życie: Pomyśl o kierowcy, który zarabia na dysk swojego pracodawcę z do ale on płaci pomiędzy i (powiedzmy podróżowanie pomiędzy jego domu i jego pracy).t a bstab

  • Gry: Załóżmy, że grasz w papier z kamienia jak kamień. Węzły: kamień, papier, nożyczki. Krawędzie: dowolna relacja (klika). Masy: zakład. Na tym wykresie: (zapomnij o ) tutaj bije , bije i bije i wygrywa odpowiednio 4,2, -5.s a a t t sbsaatts


Cześć, dzięki za odpowiedź. Czy ktoś może wyjaśnić przykład papier-kamień-nożyce? Jak wymyśliłeś dla nich wagi 4, 2, -5?
Saurabh Goyal

3

Nie jestem chemikiem, ale nadal uważam, że ten przykład będzie wart, aby pomóc ci myśleć o procesorze, teorii sieci i pokrewnych sprawach ..

Rozważ wykres symulujący zachowanie cząsteczki w reakcji chemicznej, tj. Jakie ścieżki może ona przebiegać podczas reakcji, a ciężary reprezentują energię pochłoniętą lub uwolnioną podczas przejścia, więc jeśli chcemy energii z reakcji, reprezentujemy energię uwolnioną z dodatnimi ciężarami i pochłoniętymi energia z -ve.


1

wprowadź opis zdjęcia tutaj

Negatywna krawędź jest po prostu krawędzią o ujemnej wadze. Może być w dowolnym kontekście odnoszącym się do wykresu i do jakich jego krawędzi się odnoszą. Na przykład krawędź CD na powyższym wykresie jest krawędzią ujemną. Floyd-Warshall działa, minimalizując wagę między każdą parą wykresu, jeśli to możliwe. Tak więc dla masy ujemnej można po prostu wykonać obliczenia, jak w przypadku krawędzi dodatniej masy.

Problem powstaje, gdy występuje cykl ujemny. Spójrz na powyższy wykres. I zadaj sobie pytanie - jaka jest najkrótsza droga między A i E? Na początku możesz poczuć, że jego ABCE kosztuje 6 (2 + 1 + 3). Ale w rzeczywistości, patrząc głębiej, można zaobserwować cykl ujemny, którym jest BCD. Waga BCD wynosi 1 + (- 4) +2 = (-1). Podczas przechodzenia z punktu A do punktu E mógłbym ciągle jeździć wewnątrz BCD, aby za każdym razem obniżyć mój koszt o 1. Podobnie ścieżka BCE BCE kosztuje 5 (2 + (- 1) + 1 + 3). Teraz powtarzanie cyklu w nieskończoność razy zmniejszałoby koszt za każdym razem o 1. Mógłbym osiągnąć ujemną, nieskończoną najkrótszą drogę między A i E.

Problem jest widoczny dla każdego ujemnego cyklu na wykresie. Dlatego za każdym razem, gdy występuje cykl ujemny, minimalna waga nie jest zdefiniowana lub jest ujemną nieskończonością, dlatego Floyd-Warshall nie może w takim przypadku działać.

Dodatkowo warto przyjrzeć się algorytmowi Bellmana-Forda, który wykrywa, czy wykres ma cykl ujemny, czy nie, i w przeciwnym razie zwraca najkrótszą ścieżkę między dwoma węzłami.


4
Nie sądzę, że to odpowiada na pytanie. Pytanie nie brzmi: „dlaczego cykl ujemny stanowi problem”, ale raczej „dlaczego w rzeczywistości mielibyśmy krawędzie o ujemnej wadze”.
Juho,

0

Na przykład wyobraź sobie sieć logistyczną, w której ciężar w (i, j) krawędzi ij jest kosztem przejścia od wierzchołka i do wierzchołka j. Jeśli zawarłeś umowę biznesową z innymi firmami na transport ich produktów, w (i, j) byłby zyskiem zamiast kosztem, więc możesz interpretować tę wagę jako koszt ujemny.


-2

Korki na mapie:

Innym przykładem powiązania ciężarów z krawędzią w świecie rzeczywistym może być to, że ciężary przedstawiają warunki ruchu na mapie (bardziej negatywne, bardziej niekorzystne) - możemy wtedy użyć tej reprezentacji do obliczenia optymalnych odległości.

Możemy naprawdę użyć metafory „wagi” do przedstawienia wszystkiego o wartości dodatniej / ujemnej między dowolnymi dwoma punktami na wykresie


Witamy na stronie! Nie sądzę, żeby to był bardzo dobry przykład. W przypadku zatorów drogowych bardziej naturalne wydaje się ważenie krawędzi na mapie do czasu, jaki zajmuje podróż wzdłuż drogi, więc duże zatłoczenie prowadziłoby do dużej masy. W końcu celem jest zazwyczaj szybkie dotarcie do miejsca docelowego i zwykle wolałbyś wybrać krótką, ale zatłoczoną drogę, niż o wiele dłuższą drogę, która nie jest zatkana. Ponadto zazwyczaj chcemy stosować jako miarę najmniejszy koszt: działa to dobrze z sugerowaną przeze mnie wagą, a bardzo źle z tą, którą zasugerowałeś.
David Richerby
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.