Wiskundige Stichtingen van a* en Dijkstra Algoritmes voor padoptimalisatie

De algoritmen A* en Dijkstra

Grafiekrepresentatie

Beide algoritmen werken op grafieken, die bestaan uit knooppunten (vertices) en randen. Randen kunnen gewichten die kosten, afstanden, of tijden. De grafiek kan worden gericht of niet-directioned, en de gewichten zijn meestal niet-negatief.

Kostenfuncties en heuristiek

De kern van deze algoritmen bestaat uit het berekenen van de kosten om elke knooppunt te bereiken. Dijkstra

Wiskundige formulering

Laat G = (V, E) een grafiek zijn met hoekpunten V en randen E. Elke rand (u, v) heeft een gewicht w(u, v). Het doel is om het kortste pad te vinden van start node s naar doel node t.

Dijkstra

A* wijzigt dit door een heuristische h(v) in te voeren waarbij de kosten van v naar t worden geschat. De prioriteitsfunctie wordt f(v) = d(v) + h(v). Het algoritme breidt nodes uit op basis van de laagste f(v).

Algoritme-efficiëntie

De efficiëntie hangt af van de gebruikte datastructuren. Dijkstra