Wprowadzenie
W algorytmach, podobnie jak w życiu, negatywność może być przeszkodą.
Rozważ problem znalezienia najkrótszej ścieżki między dwoma punktami na wykresie — sieci węzłów połączonych łączami lub krawędziami. Często te krawędzie nie są wymienne: wykres może reprezentować mapę drogową, na której niektóre drogi są wolniejsze niż inne lub mają wyższe opłaty drogowe. Informatycy wyjaśniają te różnice, łącząc każdą krawędź z „wagą”, która określa ilościowo koszt poruszania się po tym segmencie — niezależnie od tego, czy koszt ten reprezentuje czas, pieniądze, czy coś innego. Od lat pięćdziesiątych XX wieku wiedzieli, jak znajdować najkrótsze ścieżki zasadniczo tak szybko, jak to teoretycznie możliwe, zakładając, że wszystkie wagi są liczbami dodatnimi.
Ale na niektórych wykresach wagi mogą być ujemne — podróż wzdłuż jednego segmentu może zrekompensować koszt przejścia przez inny. Rozważmy na przykład dostawcę, który musi zbilansować koszt gazu i opłat drogowych (reprezentowany przez dodatnie wagi) z dochodami z transportu paczek (reprezentowany przez ujemne wagi). W takich przypadkach najszybszy znany algorytm najkrótszej ścieżki nie działa. Przez dziesięciolecia szybkie algorytmy znajdowania najkrótszych ścieżek na wykresach o ujemnej wadze pozostawały nieuchwytne.
Teraz trio informatyków rozwiązało ten długotrwały problem. Ich nowy algorytm, który znajduje najkrótsze ścieżki w grafie od danego węzła „źródłowego” do każdego innego węzła, prawie dorównuje prędkości, jaką algorytmy o wadze dodatniej osiągnęły tak dawno temu.
Co więcej, nowe podejście wykorzystuje znane od dziesięcioleci techniki matematyczne, unikając bardziej wyrafinowanych metod, które zdominowały współczesne badania nad teorią grafów.
„Po prostu nie mogłem uwierzyć, że istnieje tak prosty algorytm” — powiedział Maksymiliana Probsta Gutenberga, informatyk w Szwajcarskim Federalnym Instytucie Technologii w Zurychu. „To wszystko jest tam od 40 lat. Potrzeba było tylko kogoś naprawdę sprytnego i zdeterminowanego, aby wszystko zadziałało”.
Granice chciwości
Historia zaczyna się w 1956 roku, kiedy holenderski informatyk Edsger Dijkstra opracował szybki algorytm znajdowania najkrótszych ścieżek na wykresie z tylko dodatnimi wagami. Aby to zrozumieć, wyobraź sobie, że zaczynasz od źródła i eksplorujesz wykres po jednym węźle na raz, notując po drodze wagi nowo odkrytych krawędzi. Za każdym razem, gdy odwiedzasz węzeł, dokonaj wstępnego oszacowania najkrótszych ścieżek od źródła do każdego z sąsiadów nowego węzła, aktualizując wszelkie istniejące szacunki, jeśli znalazłeś nową krótszą ścieżkę. Aby zdecydować, który niezbadany węzeł odwiedzić jako następny, użyj tak zwanej zachłannej strategii: udaj się do miejsca, które jest najbliżej źródła, zgodnie z twoimi aktualnymi szacunkami.
Przy dodatnich wagach ścieżka, którą algorytm Dijkstry pokonuje, aby odwiedzić każdy węzeł po raz pierwszy, jest naprawdę najkrótsza. Najłatwiej zauważyć, że jest to prawdą już na pierwszym etapie. Wyobraź sobie dwa węzły A i B połączone krawędzią o wadze 2. Jeśli A jest węzłem źródłowym, a każda inna stykająca się z nim krawędź ma większą wagę, to bezpośrednia ścieżka z A do B musi być najkrótszą możliwą drogą łączącą te dwa punkty , ponieważ pierwszy segment każdej innej ścieżki byłby już dłuższy. Podobne rozumowanie działa na każdym kroku. Algorytm nigdy nie musi oglądać się wstecz, więc jest gwarantowane, że zakończy się po jednokrotnym przejrzeniu wykresu — dlatego jest tak szybki.
Ale ujemne wagi oznaczają kłopoty dla chciwej strategii Dijkstry. Zastanów się jeszcze raz nad naszym dostawcą. Bezpośrednia trasa z punktu A do punktu B, która przynosi niewielki zysk, może przynieść mniej pieniędzy niż trasa okrężna, która gdzieś przynosi duże zyski. „Nie można podejmować decyzji wyłącznie na podstawie lokalnych informacji” — powiedział Sanjeev Khanna, informatyk z University of Pennsylvania. „Być może będziesz musiał wykonać kilka pozornie nieoptymalnych ruchów, aby w końcu otrzymać prawdziwą nagrodę”.
Przez dziesięciolecia informatycy pracujący nad grafami o ujemnej wadze próbowali dopasować szybkość algorytmu Dijkstry do podobnych algorytmów „kombinatorycznych”. Obejmują one operacje dyskretne — takie jak liczenie możliwości, modyfikowanie wag i selektywne usuwanie krawędzi — które odzwierciedlają dyskretną strukturę leżącego u podstaw wykresu. Jednak postęp zwolnił w latach 1990. Niedawno naukowcy wykorzystali algorytmy „ciągłej optymalizacji”, które zapożyczają sztuczki z rachunku różniczkowego. Niestety, wynikające z tego przyspieszenia były ograniczone i często odbywały się kosztem prostoty.
Przerwij cykl
Latem 2021 roku dwóch informatyków, którzy zostali kolegami z Uniwersytetu w Kopenhadze — Danupon Nanongkai i Christiana Wulffa-Nilsena — szukali tematu do wspólnego projektu badawczego. „Christian powiedział:„ A tak przy okazji, byłem na wakacjach iz tego powodu próbowałem wymyślić coś bardzo ambitnego ”” — wspomina Nanongkai, który obecnie pracuje w Instytucie Informatyki Maxa Plancka w Saarbrücken w Niemczech. Zdecydowali się na problem najkrótszych ścieżek z ujemną wagą i zaprosili Aarona Bernsteina z Rutgers University, aby do nich dołączyć.
Wszyscy trzej badacze byli ekspertami w kombinatorycznych algorytmach grafowych dla innych problemów i chcieli zobaczyć, jak daleko mogą zajść te stosunkowo stare podejścia. „Właściwie istnieje pewna swoboda w pracy nad problemem, który jest ambitny i otwarty od dłuższego czasu” — powiedział Bernstein.
Trio rozpoczęło od tymczasowego zignorowania podzbioru możliwych wykresów: zawierających cykle ujemne. Są to ścieżki, które zapętlają się z powrotem do miejsca, w którym się rozpoczęły, po przejściu przez serię krawędzi, których wagi sumują się do liczby ujemnej. Na wykresie z ujemnymi cyklami osiągalnymi od punktu początkowego pojęcie najkrótszej ścieżki załamuje się, ponieważ odległość do dowolnego węzła może być dowolnie ujemna (lub opłacalna), wykonując powtarzające się okrążenia wokół ujemnego cyklu przed wyruszając do celu.
Naukowcy podejrzewali, że za utrudnienie problemu odpowiedzialne były głównie długie ujemne ścieżki. Zaczęli więc koncentrować się na ciasnych skupiskach pobliskich węzłów, które nie mogą zawierać żadnych długich ujemnych ścieżek: to dlatego, że jeśli dwa punkty są połączone krótką dodatnią ścieżką, dodanie długiej ujemnej ścieżki między nimi stworzyłoby ujemny cykl. W ciasnej grupie „fakt, że wszyscy są blisko siebie w pozytywnym sensie, w rzeczywistości dostarcza przydatnych informacji również o negatywnych krawędziach” – powiedział Bernstein. „Mówi ci, że rzeczy nie mogą być zbyt negatywne”.
Większość grafów zawiera wiele takich zwartych klastrów, które są ze sobą słabo połączone. Gdyby naukowcy mogli wskazać wszystkie skupiska, podejrzewali, że mogliby opracować sposób szybkiego znajdowania najkrótszych ścieżek w każdym z nich. Stamtąd mogą mieć łatwiejszy czas na łączenie poszczególnych klastrów i znajdowanie najkrótszych ścieżek na oryginalnym wykresie. Ale to wymagałoby szybkiego zauważenia regionów dowolnego grafu, w których węzły są blisko siebie — coś, czego nie wiedzieli, jak to zrobić. Kluczem okazała się technika wywodząca się z zupełnie innej gałęzi teorii grafów.
Cięcie wykresów
W latach 1980. informatycy opracowali technikę zwaną dekompozycją o małej średnicy, aby wybrać ciasne klastry na wykresie i zidentyfikować krawędzie, które należy usunąć, aby oddzielić te klastry. Ta technika zapewnia sposób dzielenia wykresów na niezależne sekcje. Został wymyślony, aby ułatwić algorytmy „rozproszone”, w których obliczenia przebiegają równolegle na różnych częściach grafu, więc był mniej oczywisty w przypadku algorytmów najkrótszych ścieżek, które nie mają tej właściwości.
Bernstein, Nanongkai i Wulff-Nilsen zdali sobie sprawę, że dekompozycja o małej średnicy może pomóc im zidentyfikować skupiska bez bardzo skoncentrowanej negatywności. Niestety, standardowe algorytmy dekompozycji o małej średnicy działają tylko na grafach nieskierowanych — takich, w których każdą krawędź można przebyć w obu kierunkach. Tymczasem problem najkrótszych ścieżek z wagą ujemną ma sens tylko na grafach skierowanych, w których każda krawędź jest ulicą jednokierunkową. (W przeciwnym razie pojedyncza nieukierunkowana krawędź ujemna stworzyłaby cykl ujemny składający się z powtarzających się przeskoków w tę iz powrotem w poprzek tej krawędzi). Jeśli naukowcy chcieli zastosować rozkład o małej średnicy, musieliby go dostosować.
To właśnie zrobili w swojej nowej gazecie. Zainspirowany przez poprzednia praca w którym Bernstein i Wulff-Nilsen współpracowali z Probstem Gutenbergiem, opracowali procedurę szczelinowania dla grafów skierowanych, analogiczną do rozkładu o małej średnicy. Procedura dzieli arbitralnie skierowany graf na serię zwartych klastrów, używając losowego procesu, aby usunąć tylko kilka krawędzi. Następnie te klastry są połączone rzadszą siecią, w której wszystkie krawędzie skierowane są w tym samym kierunku. Tego rodzaju sieć nazywa się skierowanym grafem acyklicznym lub DAG.
Pomyśl o DAG jak o strumieniu, w którym woda może płynąć różnymi ścieżkami: niektóre ścieżki wpływają z różnych źródeł, inne rozchodzą się w różnych kierunkach, a jeszcze inne mogą rozdzielać się i ponownie łączyć. Ale nic nigdy nie płynie wstecz, więc nie ma cykli; dzięki temu praca z DAG jest znacznie łatwiejsza.
Naukowcy od dawna wiedzą, jak szybko znajdować najkrótsze ścieżki w DAG, nawet przy ujemnych wagach. Tak więc technika szczelinowania umożliwiła trzem badaczom zredukowanie dowolnego skierowanego grafu do kombinacji dwóch specjalnych przypadków — DAG i ciasnych gromad — z których każdy był łatwy w obsłudze.
Nowy algorytm najkrótszych ścieżek wielokrotnie wykorzystuje procedurę szczelinowania, aby rozbić graf na zwarte klastry połączone przez DAG. Następnie rozbija te klastry dalej i dalej. Na końcu procesu klastry na najbardziej wewnętrznym poziomie są ze sobą tak ściśle połączone, jak to tylko możliwe. Jednym z powodów, dla których algorytm jest tak szybki, jest to, że nie potrzeba wielu iteracji, aby w pełni rozbić nawet bardzo duży wykres, tak jak nie trwa długo cięcie dużej liczby do rozsądnego rozmiaru, jeśli wielokrotnie dzielisz to na pół.
Dzięki pełnemu rozbiciu wykresu w ten sposób naukowcy mogli szybko znaleźć najkrótsze ścieżki przez każdą część wykresu. W przypadku ciasnych klastrów na najgłębszym poziomie zagnieżdżonej struktury grafowej było to łatwe — nie miały już praktycznie żadnej negatywności. A naukowcy wiedzieli już, jak znaleźć najkrótsze ścieżki na łączących je odcinkach DAG.
Na koniec algorytm dodaje z powrotem krawędzie wyeliminowane w procesie szczelinowania i oblicza ich wpływ na najkrótsze ścieżki. Naukowcy udowodnili, że ich proces losowego usuwania krawędzi prawie zawsze wymagałby tylko kilku usunięć w celu wyeliminowania „wstecznych” krawędzi – takich, które zamieniłyby ich DAG w wykres z dużymi cyklami. To sprawiło, że było bardzo mało prawdopodobne, aby jakakolwiek najkrótsza ścieżka przechodziła przez zbyt wiele takich wstecznych segmentów, więc mogli rozwiązać ten trudny ostatni krok, łącząc dwie metody podręcznikowe z lat pięćdziesiątych: algorytm Dijkstry i pierwszy algorytm opracowany dla grafów o ujemnej wadze.
„To niezwykle sprytna kompozycja tych pomysłów” — powiedział Khanna. Algorytm ten jest pierwszym dla wykresów o ujemnej wadze, który działa w czasie „prawie liniowym” — co oznacza, że jego czas działania jest prawie proporcjonalny do czasu potrzebnego do policzenia wszystkich krawędzi, tak szybko, jak to tylko możliwe.
A co z wykresami z ujemnymi cyklami, które naukowcy postanowili zignorować na starcie? Po dopracowaniu algorytmu najkrótszych ścieżek pokazali, że może on również działać jako szybki algorytm do określania cykli ujemnych. Praktycznie żaden wykres nie był poza jego zasięgiem.
Ścieżki równoległe
Bernstein przedstawił wynik zespołu na konferencji Foundations of Computer Science 2022, gdzie ich manuskrypt opisujący nowy algorytm został uznany za jeden z dwóch najlepszych artykułów. The inny papier zdarzyło się również, że opisał nowy algorytm w czasie zbliżonym do liniowego do rozwiązania długotrwałego problemu w teorii grafów.
Algorytm ten, opracowany przez Probsta Gutenberga i pięciu innych badaczy, rozwiązał bardziej ogólny problem zwany przepływem przy minimalnych kosztach, w którym celem jest optymalizacja transportu na wielu równoległych ścieżkach, a każda krawędź ma maksymalną przepustowość, jak również powiązany koszt . Problemy najkrótszych ścieżek są szczególnym przypadkiem przepływu o minimalnych kosztach, więc nowy algorytm przepływu o minimalnych kosztach może być również użyty do rozwiązania problemu najkrótszych ścieżek o ujemnej wadze w czasie prawie liniowym, aczkolwiek z radykalnie innym podejściem.
Zespół pracujący nad przepływem o minimalnych kosztach opracował szybki algorytm ogólnego przeznaczenia, wykorzystując skomplikowaną syntezę kombinatorycznych i ciągłych technik optymalizacji, co czyni go nieporęcznym w praktyce, przynajmniej obecnie. Algorytm kombinatoryczny Bernsteina i jego współpracowników, choć ograniczony do bardziej szczegółowego problemu, osiąga prawie liniowy czas działania bez poświęcania prostoty.
„To właśnie jest tak zdumiewające w tym artykule” — powiedział Probst Gutenberg. „Możesz to wyjaśnić studentowi studiów licencjackich, a także wdrożyć na swoim komputerze”.
W rezultacie ten nowy algorytm ożywił zainteresowanie kombinatorycznymi podejściami do innych problemów w teorii grafów. Dopiero okaże się, które problemy można szybko rozwiązać za pomocą czysto kombinatorycznych algorytmów, a które naprawdę wymagają ciągłych technik opracowanych w ciągu ostatnich 20 lat.
„To filozoficzne pytanie, które próbuję zrozumieć” — powiedział Nanongkai. „Ten problem najkrótszej ścieżki daje nadzieję”.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- Platoblockchain. Web3 Inteligencja Metaverse. Wzmocniona wiedza. Dostęp tutaj.
- Źródło: https://www.quantamagazine.org/finally-a-fast-algorithm-for-shortest-paths-on-negative-graphs-20230118/
- 20 roku
- 2021
- 2022
- a
- O nas
- Stosownie
- Konto
- osiągnięty
- w poprzek
- faktycznie
- acykliczny
- przystosować
- Dodaje
- Po
- przed
- algorytm
- Algorytmy
- Wszystkie kategorie
- już
- zawsze
- ambitny
- Starożytny
- i
- Inne
- osobno
- podejście
- awanse
- na około
- powiązany
- z powrotem
- Bilans
- na podstawie
- bo
- stają się
- zanim
- rozpoczął
- uwierzyć
- Bernstein
- BEST
- pomiędzy
- Poza
- Duży
- pożyczać
- Oddział
- przerwa
- przerwy
- Złamany
- oblicza
- nazywa
- Pojemność
- walizka
- Etui
- pewien
- CIS
- Zamknij
- dokładnie
- Grupa
- współpracował
- koledzy
- połączenie
- łączenie
- jak
- obliczenia
- komputer
- Computer Science
- Stężony
- Konferencja
- połączony
- Podłączanie
- Rozważać
- Składający się
- ciągły
- Koszty:
- mógłby
- Stwórz
- Aktualny
- Obecnie
- Ciąć
- Cykle
- DZIEŃ
- lat
- postanowiła
- Decyzje
- dostawa
- opisać
- miejsce przeznaczenia
- ustalona
- rozwijać
- rozwinięty
- ZROBIŁ
- Różnice
- różne
- trudny
- kierować
- kierunek
- odkryty
- dystans
- Nie
- nie
- na dół
- kierowca
- holenderski
- każdy
- zarabiać
- łatwiej
- Najprostszym
- krawędź
- ruchomości
- wyeliminować
- wyłączony
- włączony
- całkowicie
- istotnie
- oszacowanie
- Szacunki
- Parzyste
- EVER
- wszyscy
- Przede wszystkim system został opracowany
- istnieje
- eksperci
- Wyjaśniać
- Exploring
- niezwykle
- ułatwiać
- wentylator
- FAST
- najszybszy
- Federalny
- kilka
- finał
- W końcu
- Znajdź
- znalezieniu
- znajduje
- i terminów, a
- pierwszy raz
- pływ
- Przepływy
- Skupiać
- znaleziono
- Fundamenty
- Wolność
- od
- w pełni
- dalej
- GAS
- Ogólne
- ogólny cel
- Niemcy
- otrzymać
- dany
- daje
- Go
- cel
- wykres
- wykresy
- Chciwy
- gwarantowane
- Gutenberg
- Pół
- garstka
- uchwyt
- się
- Nagłówek
- pomoc
- wyższy
- nadzieję
- W jaki sposób
- How To
- Jednak
- HTML
- HTTPS
- pomysły
- zidentyfikować
- wdrożenia
- in
- Dochód
- niezależny
- indywidualny
- Informacja
- inspirowane
- przykład
- Instytut
- odsetki
- Zmyślony
- angażować
- IT
- iteracje
- przystąpić
- łączący
- Klawisz
- Uprzejmy
- Wiedzieć
- znany
- duży
- większe
- poziom
- życie
- Ograniczony
- Limity
- linki
- miejscowy
- długo
- długi czas
- od dawna
- dłużej
- Popatrz
- zrobiony
- robić
- WYKONUJE
- Dokonywanie
- sposób
- wiele
- mapa
- Mecz
- matematyczny
- max
- maksymalny
- znaczy
- W międzyczasie
- Łączyć
- metody
- może
- Nowoczesne technologie
- pieniądze
- jeszcze
- porusza się
- przeniesienie
- prawie
- ujemny
- sąsiedzi
- Sieci
- sieć
- Nowości
- Następny
- węzeł
- węzły
- Pojęcie
- numer
- z naszej
- offset
- ONE
- koncepcja
- operacje
- optymalizacja
- Optymalizacja
- oryginalny
- pochodzi
- Inne
- Pozostałe
- Inaczej
- Pakiety
- łączenie w pary
- Papier
- Papiery
- Parallel
- część
- strony
- Przechodzący
- Przeszłość
- ścieżka
- Pensylwania
- wybierać
- plato
- Analiza danych Platona
- PlatoDane
- punkt
- zwrotnica
- pozytywny
- możliwości
- możliwy
- praktycznie
- praktyka
- przedstawione
- Problem
- problemy
- wygląda tak
- Zysk
- rentowny
- Postęp
- projekt
- własność
- okazały
- zapewnia
- czysto
- Putting
- Magazyn ilościowy
- pytanie
- szybko
- radykalnie
- przypadkowy
- szybko
- dosięgnąć
- real
- realizowany
- powód
- rozsądny
- niedawno
- zmniejszyć
- odzwierciedlić
- regiony
- stosunkowo
- pozostał
- szczątki
- powtórzony
- WIELOKROTNIE
- reprezentować
- reprezentowane
- reprezentuje
- wymagać
- wymagany
- Badania naukowe
- Badacze
- odpowiedzialny
- ograniczony
- dalsze
- wynikły
- Nagradzać
- droga
- Trasa
- run
- bieganie
- Rutgers University
- poświęcanie
- Powiedział
- taki sam
- nauka
- Naukowiec
- Naukowcy
- poszukiwania
- działy
- segment
- Segmenty
- rozsądek
- Serie
- Osiadły
- kilka
- Short
- podobny
- Prosty
- prostota
- ponieważ
- pojedynczy
- Rozmiar
- mały
- So
- ROZWIĄZANIA
- Rozwiązywanie
- kilka
- Ktoś
- coś
- gdzieś
- wyrafinowany
- Źródło
- Źródła
- specjalny
- specyficzny
- prędkość
- Zaklęcie
- dzielić
- standard
- początek
- rozpoczęty
- Startowy
- Ewolucja krok po kroku
- Nadal
- Historia
- Strategia
- strumień
- ulica
- Struktura
- student
- taki
- lato
- Szwajcarski
- Brać
- trwa
- biorąc
- zespół
- Techniki
- Technologia
- mówi
- podręcznik
- Połączenia
- Wykres
- Źródło
- ich
- rzeczy
- trzy
- Przez
- czas
- do
- razem
- także
- aktualny
- dotykając
- transportu
- Podróżowanie
- kłopot
- prawdziwy
- SKRĘCAĆ
- Obrócony
- zasadniczy
- zrozumieć
- uniwersytet
- aktualizowanie
- posługiwać się
- wakacje
- prawie
- poszukiwany
- Woda
- webp
- waga
- Co
- czy
- który
- KIM
- w ciągu
- bez
- Praca
- pracujący
- działa
- by
- lat
- You
- Twój
- zefirnet
- Zurych