Jak pokonać króla po 66 latach? Matematyczny przewrót w teorii najkrótszej ścieżki
Za każdym razem, gdy uruchamiasz Google Maps, by znaleźć trasę do nowej kawiarni, Twój telefon wykonuje matematyczny taniec, którego kroki opracowano w 1959 roku.
Przez ponad sześć dekad algorytm Dijkstry był niekwestionowanym władcą dróg, światłowodów i rezerwacji lotniczych. Aż do teraz, kiedy grupa naukowców z Chin udowodniła, że przez wiele lat wszyscy zadawaliśmy złe pytanie.
Certyfikat nietykalności
Algorytm Dijkstry to fundament informatyki. Jest tak dobry, że jeszcze w 2024 roku Robert Tarjan (legenda teorii grafów, laureat Nagrody Turinga w 1986 roku) wraz ze współpracownikami zdobył prestiżową nagrodę na konferencji FOCS za udowodnienie, że Dijkstra jest optymalny. Oznaczało to, że matematycznie nie da się znaleźć najkrótszej ścieżki szybciej. Wydawało się, że temat jest zamknięty.
Jednak zaledwie osiem miesięcy później zespół z Uniwersytetu Tsinghua pod kierownictwem Rana Duana opublikował artykuł, który zburzył ten mur. To praca z 2025 roku, ale uznaliśmy, że temat ciekawy, w sam raz na weekend.
Pułapka definicji: co właściwie liczymy?
Jak to możliwe, że ktoś pobił algorytm uznany za „najlepszy z możliwych”? Okazało się, że Tarjan i cała reszta świata wpadli w pułapkę definicji.
Dowód na optymalność Dijkstry zakładał, że algorytm musi nie tylko podać odległość, ale też wyprowadzić wszystkie punkty na trasie posortowane według dystansu. Grupa z Tsinghua zauważyła coś, co w akademickich kuluarach przyjmowano już od 1984 roku: znalezienie najkrótszej ścieżki wcale nie wymaga sortowania wszystkiego po drodze. Problem brzmi „znajdź odległość”, a nie „posortuj miasto”.
Nowa granica prędkości
Chiński zespół połączył stare metody (algorytm Bellmana-Forda) z nowatorskim trikiem „rekurencyjnego częściowego porządkowania”. Zamiast sprawdzać każdą uliczkę po kolei, zaczęli grupować węzły i badać tylko ich „reprezentantów”. Wynik to nowa złożoność obliczeniowa. To pierwszy taki wyłom w „suficie” wydajności wyznaczania trasy od dekad.
Warto jednak postawić tu ważną gwiazdkę: to odkrycie to przede wszystkim trzęsienie ziemi w teorii algorytmów. W świecie rzeczywistym – tym, w którym działają serwery Google czy systemy routingowe (bo nie tylko o nawigację tu chodzi, także wyznaczanie tras pakietów danych i wiele więcej) – od dawna rzadko używa się „czystego” Dijkstry. Inżynierowie stosują tam heurystyki (jak A*; jeden z najpopularniejszych algorytmów heurystycznych wyszukiwania ścieżki w grafie, stosowany powszechnie w nawigacji GPS, ale też np. w sztucznej inteligencji w grach wideo), hierarchie grafów i zaawansowany precomputing, które w praktycznych zastosowaniach i tak wykraczają poza ramy tego odkrycia. Chiński zespół udowodnił jednak coś ważniejszego: matematyczny mur, który uważaliśmy za nieprzekraczalny, właśnie runął.
Lekcja dla nas wszystkich
Ta historia to coś więcej niż ciekawostka dla programistów. To mocna lekcja o tym, jak ramy, w których osadzamy problem, stają się naszymi ograniczeniami. Dijkstra był najlepszy w rozwiązywaniu zadania „najkrótsza ścieżka z posortowanym wynikiem”. Świat potrzebował po prostu „najkrótszej ścieżki”.
Traktowaliśmy te dwa problemy jako jedność przez dekady tylko dlatego, że nikt nie zapytał: „czy to sortowanie jest nam w ogóle potrzebne?”. Najbardziej ugruntowany algorytm świata został pokonany nie przez potężniejszy procesor, ale przez kogoś, kto zakwestionował samą definicję limitu.
Największa mapa Wszechświata gotowa. Właśnie zaczyna się trzęsienie ziemi w świecie fizyki






