RAPTOR-Algorithmus

Der RAPTOR-Algorithmus ist ein Algorithmus von Daniel Delling, Thomas Pajor und Renator F. Werneck. Deren Forschung wurde 2012 bei Microsoft Research veröffent…

Der RAPTOR-Algorithmus ist ein Algorithmus von Daniel Delling, Thomas Pajor und Renator F. Werneck. Deren Forschung wurde 2012 bei Microsoft Research veröffentlicht. Es hat bei der Wegfindung (engl. pathfinding) den Dijkstra-Algorithmus ersetzt, um einen effizienteren Weg zu finden, den schnellsten Weg im ÖPNV zu zeigen. Dabei kann es mehrere Priorisierungen haben, unter anderem maximale Umsteige oder schnellster Weg zum Ziel.[1]

Verwendung

Der Algorithmus wird von vielen Diensten benutzt unter anderem von Apple Karten oder Google Maps. Der Code hat viele verschiedene Varianten, z. B. "frequency-based RAPTOR", welches die Routen in Takten beschreibt, anstatt jede einzelne Fahrt einer Route zu berücksichtigen.

Pseudocode vom Algorithmus

1. Initialisierung:

  Für jede Haltestelle v:
      earliestArrival[v] = ∞
  earliestArrival[S] = Startzeit
  markedStops = {S}

"markedStops" stellt die Haltestellen dar die sich in der letzten Runde verbessert haben.
2. Ausführung des Codes -> Für Runde k = 1 bis maxRunden:

      newMarkedStops = ∅
      Für jede Route r in Routen:
          Wenn r mindestens eine Haltestelle aus markedStops enthält:
              earliestTrip = frühester Trip auf r nach Ankunftszeiten der markierten Haltestellen
              Für jede Haltestelle u auf r nach earliestTrip:
                  arrivalTime = Ankunftszeit von earliestTrip an u
                  Wenn arrivalTime < earliestArrival[u]:
                      earliestArrival[u] = arrivalTime
                      newMarkedStops.add(u)
      markedStops = newMarkedStops
      Wenn markedStops leer ist:
          Stoppen (keine Verbesserungen mehr möglich)

Am Anfang betrachtet er jede Route, die eine markierte Haltestelle enthält. Danach propagiert er Fahrten entlang der Routen. Zum Schluss stoppt er den Algorithmus wenn er keine Verbesserung mehr sieht.
3. Rückgabe der frühsten Ankunftszeit:

  earliestArrival[T]

Einzelnachweise

  1. https://www.microsoft.com/en-us/research/wp-content/uploads/2012/01/raptor_alenex.pdf Microsoft Research: Raptor Veröffentlichung (pdf)

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.