Praktikum Algorithmentechnik (Algorithm Engineering - Routenplanung)

Allgemeines

  • Anmeldung: bei strasser@kit.edu
  • Plätze: voll, es gibt eine aktuell noch leere Nachrückerliste
  • Termine:
    • Vorbesprechung: Mittwoch, den 18. Okt. 2017, 14:00-15:30 im SR -120
    • Themen & Gruppeneinteilung: Mittwoch, den 22. Nov. 2017, 14:00-15:30 im SR -120
    • Anfangsvorträge: Mittwoch, den 13. Dez. 2017, 14:00-15:30 im SR -120
    • Abschlussvorträge: Mittwoch, den 1. Mär. 2017, 14:00-15:30 im SR -120
  • 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.

Material