Trumpiausio kelio problema
Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Trumpiausio kelio problema - grafų teorijos problema, bendru atveju formuluojama kaip radimas tokio kelio tarp dviejų svorinio grafo (arba daugiau) viršūnių, kad briaunų svorių suma būtų mažiausia.
[taisyti] Nesvorinis grafas
Nesvoriniame grafe galima naudoti paiešką į gylį (DFS – depth first search) arba paiešką į plotį (BFS - breadth first search).
[taisyti] Svorinis grafas
Svarbiausi kelio radimo algoritmai:
- Dijkstros algoritmas, naudojamas rasti kelią tarp dviejų viršūnių tokiuose grafuose, kur kiekvienos briaunos svoris ne mažesnis už 0. Algoritmu pakankamai efektyviai galima skaičiuoti ir trumpiausius kelius nuo pradinės viršūnės s iki bet kurios kitos viršūnės
- Floydo algoritmas (ar Floido-Varšalo algoritmas), randantis trumpiausius kelius tarp kiekvienos viršūnių poros.
- Belmano-Fordo algoritmas, randantis kelius ir tuose grafuose, kur briaunos svoris gali būti neigiamas
- A* algoritmas - euristinis algoritmas keliui tarp dviejų viršūnių rasti
Praktikoje naudojamos įvairios jų modifikacijos.