Praktikum Algorithmentechnik (Algorithm Engineering - Routenplanung)
Allgemeines
- Anmeldung: bei strasser@kit.edu
- Plätze: Das Praktikum ist voll.
- Erster Termin: 4. Block/14:00-15:30 Donnerstags den 22.Okt.2015 im SR301
- Studiengang: Master Informatik/Informationswirtschaft. Kann nach rechtzeitiger Rücksprache in den Bachelor Informatik vorgezogen oder eingebracht werden. Weitere nach Rücksprache.
- Module: Praktikum Algorithmentechnik [IN4INALGOP], Algorithm Engineering für Routenplanung [IN4INAERP]
- Credits: 6 ECTS (4 SWS)
Hintergrund
Optimale Routen in Verkehrsnetzen zu bestimmen ist ein alltägliches Problem. Wurden früher Reiserouten mit Hilfe von Karten am Küchentisch geplant, ist heute die computergestützte Routenplanung in weiten Teilen der Bevölkerung etabliert: Die beste Eisenbahnverbindung ermittelt man im Internet, für Routenplanung in Straßennetzen benutzt man häufig mobile Endgeräte.
Ein gängiger Ansatz das Problem zu lösen ist das Transportnetzwerk auf geeignete Weise als einen Graphen zu modellieren. Eine optimale Verbindung entspricht dann einem kürzesten Weg in diesem Graphen. Zwar löst Dijkstra's Algorithmus dieses Problem beweisbar optimal, jedoch ist aufgrund der hohen Datenmenge (Straßennetzwerke von kontinentaler Größe haben mehrere Millionen Knoten und Kanten) dieser Ansatz selbst auf moderner Server-Hardware zu langsam und daher nicht praktikabel.
Aus diesem Grund ist die Routenplanung ein sehr aktiver und vielfältiger Forschungsbereich in der experimentellen Algorithmik. Neben der grundlegenden Fragestellung nach schnelleren Methoden Routen auf Straßennetwerken zu berechnen, sind insbesondere auch Aspekte wie All-Pairs Shortest-Path, Alternativrouten, Fahrplanauskunft oder dynamische Techniken, die in Echtzeit mit Staus oder Verspätungen umgehen können, von Interesse.
Dieses Praktikum soll interessierten Studenten die Möglichkeit geben brandaktuelle Techniken aus dem Bereich Routenplanung zu implementieren und experimentell zu evaluieren. Neben der Korrektheit der implementierten Algorithmen liegt dabei ein Schwerpunkt auf der Performance (Zeit und Speicherverbrauch). Das Praktikum ist eine Ergänzung zur Vorlesung Algorithmen für Routenplanung, die jeweils im Sommersemester stattfindet. Eine kurze Einführung der wichtigen Grundlagen zu Beginn gibt aber auch Studenten ohne spezielle Vorkenntnisse die Möglichkeit zur Teilnahme.
Ablauf
In einem ersten Präsenztermin wird zunächst eine theoretische Fundierung des Stoffes vermittelt werden; daneben wird Gelegenheit zur praktischen Einarbeitung in die Thematik und die verwendeten Bibliotheken an Hand einiger Aufwärmaufgaben gegeben sein. Im Anschluss daran werden in Teams von zwei bis drei Personen und individueller Betreuung durch Lehrstuhlmitarbeiter eine oder mehrere größere Aufgaben bearbeitet werden. Jeweils etwa zu Semesterhalbzeit und -ende wird jede Gruppe in einer Präsentation ihre bisherige Arbeit vorstellen. Abschließend ist eine schriftliche Ausarbeitung der Ergebnisse in LaTeX zu erstellen.
Voraussetzungen
Für die Teilnahme am Praktikum sind Grundkenntnisse aus den Bereichen Algorithmentechnik und Graphentheorie sowie Grundkenntnisse in C++ (oder verwandten Sprachen) empfehlenswert (fehlende Kenntnisse werden durch die Aufwärmübungen aufgearbeitet, dadurch eventuell erhöhter Zeitaufwand wird jedoch nicht in den ECTS berücksichtigt). Ein Besuch der Vorlesung Routenplanung ist nicht erforderlich.
Themen
Folgenden Themen sollen einen Vorgeschmack auf den Inhalt des Praktikums geben. Die konkrete im Team zu bearbeitende Aufgabe wird in der Vorbesprechung festgelegt:
- Sehr schnelle Distanzanfragen zwischen zwei Punkten in einem Straßennetzwerk. (Hub-Labeling)
- Schnelle Pfadsuche bei sich ändernden Reisezeiten. (Customizeable Route Planning)
- Schnelle Berechnung von kürzeste Wege-Bäume für eine schnelle Vorberechnung. (PHAST)
- Routenplanungsalgorithmen für Fahrplan-Netzwerke. (RAPTOR)
Material
Hier findet ihr nützliche Materialien zum Praktikum
Literatur
Generell lohnt sich der Blick in die Folien der Routenplanungsvorlesung