Problem najkrótszej ścieżki

Wikipedia:Weryfikowalność
Ten artykuł należy dopracować:
od 2012-10 → zweryfikować treść i dodać przypisy,
→ napisać/poprawić definicję.

Dokładniejsze informacje o tym, co należy poprawić, być może znajdują się w dyskusji tego artykułu.
Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu.

Problem najkrótszej ścieżki – zagadnienie w teorii grafów polegające na znalezieniu w grafie ważonym najkrótszego połączenia pomiędzy danymi wierzchołkami[1]. Szczególnymi przypadkami tego problemu są problem najkrótszej ścieżki od jednego wierzchołka do wszystkich innych oraz problem najkrótszej ścieżki pomiędzy wszystkimi parami wierzchołków.

Okazuje się, że żeby znaleźć najkrótszą ścieżkę pomiędzy dwoma wierzchołkami grafu trzeba (w pesymistycznym przypadku) znaleźć najkrótsze ścieżki od wierzchołka wyjściowego do wszystkich innych wierzchołków. Problem najkrótszej ścieżki od jednego z wierzchołków do wszystkich innych można więc zobrazować jako problem znalezienia najkrótszej drogi pomiędzy dwoma miastami. W takim wypadku wierzchołkami grafu są skrzyżowania dróg, krawędziami – drogi, a wagi krawędzi odwzorowują długość danego odcinka drogowego. Do znalezienia najkrótszej ścieżki pomiędzy dwoma wierzchołkami zazwyczaj używane są algorytmy:

  • Dijkstry (przy założeniu, że w grafie nie ma wag ujemnych) o pesymistycznej złożoności obliczeniowej O ( V log V + E ) , {\displaystyle O(V\,\log {V}+E),}
  • Bellmana-Forda o pesymistycznej złożoności obliczeniowej O ( V E ) , {\displaystyle O(VE),}
  • A*, używający heurystyki,
  • wykorzystujący sortowanie topologiczne z relaksacją (dla skierowanych grafów acyklicznych) o pesymistycznej złożoności obliczeniowej O ( V + E ) , {\displaystyle O(V+E),}

gdzie V to liczba wierzchołków grafu, a E to liczba jego krawędzi.

Drugi szczególny przypadek problemu najkrótszej ścieżki występuje, gdy chcemy znaleźć najkrótsze ścieżki pomiędzy każdą parą wierzchołków. Możliwe jest zrobienie tego dla każdego wierzchołka, używając algorytmu znajdującego najkrótszą ścieżkę od jednego wierzchołka do wszystkich innych, jednak metoda ta okazuje się w praktyce niezbyt efektywna. Najkrótsze ścieżki pomiędzy wszystkimi wierzchołkami znajdują m.in. algorytmy:

gdzie V to liczba wierzchołków, a E liczba krawędzi.

Zobacz też

Przypisy

  1. Problem najkrótszej ścieżki. www.mini.pw.edu.pl. [dostęp 2016-06-24].

Bibliografia

  • Robin Wilson: Wprowadzenie do teorii grafów. PWN, 1985.